3.1 KiB
3.1 KiB
Phase 7: Hardening + Private Launch — Verification
Verified: 2025-10-25
Method: goal-backward against ROADMAP §Phase 7's four success criteria; launch gate SIGNED (07-LAUNCH-GATE.md, commit bac01a9).
Success Criteria
SC1 (PX-04) — fullscreen + landscape across the device matrix, battery target — ✅ PASS (battery DEFERRED by user)
- Fullscreen engages on guidance start behind the 8.0 capability guard (FS1–FS9, mutation-verified); landscape cockpit geometry shipped CSS-only, token-pure, capture-verified at 390×844 rotated viewports; one consolidated 4-client × 7-interaction walk: user verdict "Part A: Works".
- Battery <10%/hr: DEFERRED by the user (2025-10-25) — recorded honestly as a v1.x measurement item; docs/KNOWN-LIMITATIONS.md carries the gap. The requirement's honesty is the record, not a fabricated number.
SC2 (SC2 failure states + version gating) — ✅ PASS
- FM1–FM7 failure-state matrix green (empty/error/timeout/off-road/no-geometry/old-client/version-gate); the RED gate caught a real draw-path gap (1-point geometries now refused pre-draw); the version-gate fallbacks are the phases-3–6 capability guards, re-pinned.
SC3 (privacy verification) — ✅ PASS
npm run privacy-audit --live: 7/7 gates PASS, 0 violations — storage-API gates over all five src trees, KV-expiry live probe (0 live keys, every key TTL-only, complete pagination), log-vocabulary schema (28 call sites, zero payload carriers), runtime-hosts allowlist (printed inventory), production bundle scan (zero analytics/beacons/crypto/storage tokens).- Signed record: docs/PRIVACY-AUDIT.md (D-01/D-02's zero-telemetry v1 law).
SC4 (regression + budgets + limitations doc) — ✅ PASS
- Both golden corpora green (search ≥90% top-3; routing corpus PASS); budget-audit CLEAN live (6 gates): p95 in the c3 band, bundle 479/500KB gz, cron KV writes = 0 (source-proven),
/api/route= 0 external subrequests. - KV-list over-ceiling resolved $0-safe (user decision): cron
*/2+ 240s card cadence ⇒ 720 list-ops/day < 1,000/day ceiling; BUDGETS.md records the resolution. - docs/KNOWN-LIMITATIONS.md shipped (7 sections, drivers + forks) + /help pointer live.
- Debts paid: IN-01 (dead export/branch deleted, intent comments), IN-02 (truthful wrangler comment), IN-03 (exact-900s boundary vector — the comparator pin), /cari menu defect root-caused (our
bot_command_scopevs the API'sscopefield — silently ignored; fixed at source), A1/A3 stale-fix notes closed.
Launch gate
SIGNED (Parts: A pass · B deferred · C 12/12 with real numbers · D 5/6). Open at launch (carried): the battery measurement (v1.x) and the repo's public visibility flip (user's one-time act).
Gates at close
bot 126 · web 165 · routing 65 · search 57 · audits 7/7 + 6/6 live CLEAN · captures 22/22 · deploy f3b662c3.
Verdict
PHASE 7: PASSED — the v1 milestone's 7th and final phase. 6/6 plans executed; all success criteria met (battery deferred by explicit user decision). The private launch is the user's to execute: flip the repo public, hand the bot link to the first KL drivers.