ambek .planning
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"doc_path": "docs/GETTING-STARTED.md",
|
||||
"claims_checked": 78,
|
||||
"claims_passed": 76,
|
||||
"claims_failed": 2,
|
||||
"failures": [
|
||||
{
|
||||
"line": 198,
|
||||
"claim": "Register the persistent command menu (English + Bahasa Melayu) once, so `/start`, `/help`, and `/privacy` appear in the Telegram UI",
|
||||
"expected": "`npm run bot:commands` (bot/scripts/register-commands.mjs) registers /start, /help, and /privacy in the Telegram command menu",
|
||||
"actual": "register-commands.mjs registers ONLY two commands. Line 61: `return [\"help\", \"privacy\"].map((command) => {`. Its header comment (lines 9-10) states: \"D-03: the menu lists ONLY commands that exist in this phase (/help, /privacy) — no stub entries reserved for future commands.\" /start is a real command handler (bot/src/bot/commands/start.ts, registered in bot.ts:32) but is deliberately excluded from the persistent menu."
|
||||
},
|
||||
{
|
||||
"line": 292,
|
||||
"claim": "`Missing BOT_TOKEN, WEBHOOK_SECRET, WEBHOOK_URL` and exit code `1`",
|
||||
"expected": "set-webhook.mjs prints exactly `Missing BOT_TOKEN, WEBHOOK_SECRET, WEBHOOK_URL`",
|
||||
"actual": "Variable order differs. bot/scripts/set-webhook.mjs:48 filters `[\"BOT_TOKEN\", \"WEBHOOK_URL\", \"WEBHOOK_SECRET\"]` and line 52 prints `Missing ${missing.join(\", \")}`, so the real output is `Missing BOT_TOKEN, WEBHOOK_URL, WEBHOOK_SECRET`. Exit code 1 (line 53) and the names-only, never-echoing behavior are correct."
|
||||
}
|
||||
],
|
||||
"warnings": [
|
||||
{
|
||||
"line": 173,
|
||||
"claim": "`npm run deploy --workspace bot` inside the 'Expose the webhook' step",
|
||||
"expected": "a step-appropriate command",
|
||||
"actual": "NPM rejects `--workspace` passed after the script name when combined with this shape, and the surrounding prose immediately retracts it ('which is the wrong tool for local work'). Retracted on the next lines, so not counted as a failure, but the code block itself is misleading — the real invocation is `node bot/scripts/set-webhook.mjs` on line 181."
|
||||
},
|
||||
{
|
||||
"line": 147,
|
||||
"claim": "Unknown paths are 404 — the Worker's fetch handler routes exactly four paths",
|
||||
"expected": "exactly four routed paths",
|
||||
"actual": "Accurate: webhook.ts routes /telegram/webhook (line 57), /api/session (73), /api/location (76), /api/location-fallback (79) — four paths. However `run_worker_first` is [\"/api/*\", \"/telegram/*\"], so the /api/* namespace falls through to the ASSETS binding for unlisted sub-paths; with `not_found_handling: \"none\"` this yields an assets 404 rather than the Worker's own fallthrough. Behavior matches the doc's stated outcome."
|
||||
},
|
||||
{
|
||||
"line": 233,
|
||||
"claim": "the `/api/*` calls stay stubbed under `npm run web:dev`",
|
||||
"expected": "API calls stubbed in Vite dev without a Worker",
|
||||
"actual": "Unverifiable from filesystem alone (runtime fetch behavior). The static basis checks out: web/src/main.ts:228 gates the mock on `(__ARAHARAH_HARNESS__ || import.meta.env.DEV) && !window.__ARAHARAH_MOCK__`, and vite.config.ts defines `__ARAHARAH_HARNESS__` as JSON.stringify(false) outside harness mode, leaving import.meta.env.DEV as the live trigger. Not a false claim, but a runtime assertion."
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user