Commit Graph

13 Commits

Author SHA1 Message Date
null fc5d709174 Unify Android theme tokens
Add shared experience and status color tokens, migrate Android game/shared UI away from raw palettes, expand preview coverage, and strengthen the theme scanner with strict raw-color and design-system drift checks.
2026-07-16 02:31:37 -05:00
null 7700c84e4d test(qa): add nav-scan.sh — prove navigation dead ends statically
QA had no net for navigation. Pass C already mandated "from every screen confirm
there's always a way out", and C-NAV-004 still shipped: the pack library drew no
app bar and no bottom bar, stranding the user on the system Back gesture. A human
walking ~50 routes misses one.

A dead end is statically provable, so it should not be hunted by eye. The shell
draws chrome from two hand-kept sets — topLevelRoutes (bottom bar) and
shellBackRoutes (app bar + back). A route in neither, whose screen also draws no
back of its own, has no exit by construction. nav-scan.sh cross-references both
sets against each route's screen composable and reports those as CRITICAL,
exiting 1 so it can gate. It follows the existing scanner family (theme-scan,
painter-xml-scan, wiring-scan) and is wired into Pass C as a pre-check, run
before the manual sweep like the theme scan.

Proven both ways rather than assumed: it flags QUESTION_PACKS when the fix is
reverted, and reports 0 with the fix in place. Scanning the whole route table
found no other dead ends. Excludes the entry flow (C-NAV-001: back out of Home
must not resurface onboarding) and two self-contained flows whose own CTAs are
the exit (PAIR_PROMPT, RECOVERY).

Also records the durable substance where it belongs:
- ERM landmine C-NAV-004 — the exact inverse of C-NAV-003 (wrongly *added* to
  shellBackRoutes = double app bar; wrongly *omitted* = no bar at all). The two
  failure modes point in opposite directions, so there is no safe default; the
  scanner is the guard.
- Future.md — the Tier 3 screenshot-diff idea is no longer hypothetical. Five
  visual defects surfaced in one day (star glyph fallback, "Chat Bubble Outline"
  chip leak, mid-word truncation, double back arrow, hard-edged art) and every
  one was caught only by a human reading a screenshot. They share a shape: the
  UI stays renderable and shows the wrong thing, so compile/unit/theme-scan all
  stay green. That is the class the tooling is structurally blind to.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 21:46:24 -05:00
null b3165645e7 chore(repo): track the repaired pre-push hook + installer; backlog entries (Batch 2)
- scripts/git-hooks/pre-push: the fixed hook (dirty-tree guards kept; the
  self-defeating 'unpushed commits' blocker replaced with a behind-remote
  fail-fast + an informational listing of what a push will publish). Hooks
  don't sync on clone, so scripts/install-git-hooks.sh installs them; verified
  idempotent against the live .git/hooks copy.
- Future.md: scheduledOutcomesReminder .limit(200) no-pagination scaling cap
  recorded with the fix pattern (assignDailyQuestion's page loop); npm-audit
  entry re-verified 2026-07-11 (still 9 moderate, transitive; no lockfile churn).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 18:30:27 -05:00
null 896bf26b28 feat: date reflection reveal, UI upgrade plan, seed updates, ime-scan script 2026-07-01 04:12:58 -05:00
null 2a5c40508e feat(notifications): QuietHoursManager + NotificationSettingsScreen rewrite, Cloud Functions (streakReminder, quietHours, reengagement, gameRetention), UserRepository E2EE wiring, SettingsDataStore, firestore rules, wiring-scan 2026-06-30 00:38:06 -05:00
null c3092ad8f6 feat(tools): Android canonical-vector instrument harness + hardened LEARNINGS verification helper; update capture script KNOWN_GAPS 2026-06-28 17:50:00 -05:00
null 582aefcec2 feat(tools): capture_android_canonical_vectors.sh for paired-CI fixture filling; sync Engineering Manual for wrapReleaseKeyCallable + iOS Keychain 2026-06-28 17:31:30 -05:00
null 5dedf5cdd7 tools(qa): add painter-xml-scan.sh — catches painterResource(non-vector XML) crashes (O-ONBOARD-001 class) 2026-06-28 16:57:29 -05:00
null 7a9b9eaa9d tools+test: extend theme-scan.sh and update notification + brand copy tests 2026-06-28 12:45:37 -05:00
null 896691fee3 tools: add wiring-scan.sh dead-feature / orphan-wiring scanner for Pass N 2026-06-28 11:30:21 -05:00
null 3a6ae5c69a feat: theme-scan.sh summary counts, BrandIllustration exclusion, QAPlan scanner-first wiring 2026-06-28 10:50:27 -05:00
null 9949200f47 feat: wire theme-scan.sh into QA docs, fix script Tier 2, file 9 C-THEME P2 defects 2026-06-28 10:34:55 -05:00
null 4deed13845 feat: theme-scan.sh + improved Pass C scanner methodology (tier 1A-1G, tier 2, tier 3 roadmap) 2026-06-28 10:28:17 -05:00