From 6e0673f6ef50143af02613f7247abbe114908b24 Mon Sep 17 00:00:00 2001 From: araharah-executor Date: Sun, 25 Oct 2026 04:46:25 +0800 Subject: [PATCH] docs(07-05): the /cari re-arm attempt + the A1/A3 assumption closure, recorded honestly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /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) --- .../03-DEVICE-MATRIX.md | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.planning/phases/03-mini-app-shell-geolocation/03-DEVICE-MATRIX.md b/.planning/phases/03-mini-app-shell-geolocation/03-DEVICE-MATRIX.md index d876afa..fd5c957 100644 --- a/.planning/phases/03-mini-app-shell-geolocation/03-DEVICE-MATRIX.md +++ b/.planning/phases/03-mini-app-shell-geolocation/03-DEVICE-MATRIX.md @@ -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 | 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..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. +