{ "doc_path": "docs/GETTING-STARTED.md", "claims_checked": 45, "claims_passed": 42, "claims_failed": 3, "failures": [ { "line": 35, "claim": "only the `npm run routing:glyphs` glyph-builder needs it", "expected": "script 'routing:glyphs' in package.json", "actual": "BLOCKER: no `routing:glyphs` script exists in root package.json (nor anywhere). The correct invocation is `npm run glyphs -w routing` (routing/package.json 'glyphs'), as DEVELOPMENT.md:222 states" }, { "line": 33, "claim": "`web/scripts/capture.mjs:163`", "expected": "chromium.launch() at the cited line", "actual": "STALE: chromium.launch() is at web/scripts/capture.mjs:201 (line 163 is the docroot-guard region). The sibling citation theme/scripts/screenshot.mjs:103 is correct" }, { "line": 352, "claim": "`/api/route` answers `{\"route\":null}` for long trips", "expected": "the null-contract body is a bare JSON `null` (routePending(): JSON.stringify(null) → body 'null')", "actual": "WRONG SHAPE: the Worker never wraps the null in {\"route\":...} — bot/src/routing/worker-router.ts:102-104" } ] }