docs(07-05): the /cari re-arm attempt + the A1/A3 assumption closure, recorded honestly

- /cari re-arm RAN 2026-10-25: all six scopes ok:true — 'all command scopes
  armed'; residual Telegram client-menu caching risk stated, workaround
  pointers at docs/KNOWN-LIMITATIONS.md (T-07-24/T-07-26)
- A1: NOT RETIRED as a mechanism hypothesis — mitigated-by-design via the
  chain.ts polling degradation; A3: RETIRED as a decision constraint
  (remote workers.dev origin, no LAN-IP dev deployment)
- the Phase-3 FINAL VERDICT table untouched (1 occurrence; the dated
  section is the closure)
This commit is contained in:
araharah-executor
2026-10-25 04:46:40 +08:00
parent 78482ab209
commit 6e0673f6ef
@@ -268,3 +268,48 @@ mid-session theme flip leg, then verdicts on all six legs + probe removal.
| 6. Theme flip mid-session | ✅ per user verdict | | 6. Theme flip mid-session | ✅ per user verdict |
Probe removed at exit (commit `fc99745`, deploy `dc0307ea`). Verification: 03-VERIFICATION.md. Probe removed at exit (commit `fc99745`, deploy `dc0307ea`). Verification: 03-VERIFICATION.md.
---
## 2026-10-25 — Phase 7 debt closure (/cari re-arm + A1/A3)
D-07 items 2 and 3 (plan 07-05, task 3). The historical verdict table above is
the Phase-3 record and is untouched; this dated section is the closure.
### A — the /cari re-arm attempt
Ran `npm run bot:commands` (`bot/scripts/register-commands.mjs`, BOT_TOKEN from
gitignored `bot/.dev.vars`) on 2026-10-25. Every scope reported `ok:true`:
```
default (en) -> ok:true
default (ms) -> ok:true
all_private_chats (en) -> ok:true
all_private_chats (ms) -> ok:true
clear all_group_chats -> ok:true
clear all_chat_administrators -> ok:true
all command scopes armed
```
**Residual risk (unchanged by a successful re-arm):** Telegram clients cache the
command menu — a driver whose app cached the stale non-default scope may still see
`/cari` missing until the client restarts or re-syncs. The defect is Telegram's
`setMyCommands` scope-resolution behaviour (a chat's menu resolves from the narrowest
scope that has ANY commands set), not a bot bug; the command itself has always
worked. The user-facing statement plus the workaround (typing `/cari`) now live in
`docs/KNOWN-LIMITATIONS.md` (D-08, plan 07-05).
### B — the A1/A3 assumption closure
- **A1 (Android stale-fix hypothesis) is NOT RETIRED as a mechanism hypothesis** —
the Phase-3 walk completed WITHOUT needing the Location toggle on the tested
device and route ("A1 notes stand in 03-RESEARCH.md"), so the hypothesis was
simply not exercised, not disproven. The risk it covers is **MITIGATED-BY-DESIGN**:
the app's location chain degrades gracefully to polling when the stale-fix path
does not fire (`web/src/location/chain.ts`), so a stale native cache cannot strand
guidance.
- **A3 IS RETIRED as a decision constraint** — the project deploys to a remote
origin (`araharah-bot.<account>.workers.dev`), never to a LAN-IP dev server, so
the "localhost:8787 is a secure context" assumption no longer constrains any open
decision; `wrangler dev` remains a local convenience, not a deployment surface.