This website requires JavaScript.
c3a3c38e0e
fix(ui): sync Activity uiMode to in-app theme at startup (C-DARKART-002 architectural fix)
null
2026-06-28 16:35:01 -0500
4ee600125d
feat(domain): update MemoryCapsuleGenerator + test
null
2026-06-28 16:34:57 -0500
b9828b60c5
brand: refresh dark-variant illustrations (couple_paywall, partner_activation, together_empty) and dark contact sheet
null
2026-06-28 16:34:51 -0500
902fef11d1
docs(future): file P0 onboarding slide-3 crash (blocks first-run users from reaching login)
null
2026-06-28 16:22:18 -0500
9e8084a02e
docs(readme): modernize for 2026 — badges, TL;DR, architecture diagram, pillar grid, expanded security section
null
2026-06-28 15:53:41 -0500
38ff166598
security(scratchpad): add R17 Firestore at-rest and negative-access probe scripts
null
2026-06-28 15:45:54 -0500
33ea862934
Revert "fix(ui): route QuestionPackLibrary card art through BrandIllustration for in-app-dark theme (C-DARKART-002)"
null
2026-06-28 15:45:20 -0500
b5a2050d7b
docs(qa): record R17 run-state, C-DARKART-002 fix, and D1/D3 re-verification in ClaudeReport
null
2026-06-28 12:55:34 -0500
b48163540c
fix(ui): route QuestionPackLibrary card art through BrandIllustration for in-app-dark theme (C-DARKART-002)
null
2026-06-28 12:55:29 -0500
736885c103
docs: update README and Engineering Manual — auth uses Credential Manager, iOS pairing blocked, add scripts/ layout, new screenshot placeholder
null
2026-06-28 12:55:24 -0500
faa0d9007f
docs: consolidate Future backlog, update ClaudeQAPlan/ClaudeReport, note FUTURE.md removal in Engineering Manual
null
2026-06-28 12:45:54 -0500
7a9b9eaa9d
tools+test: extend theme-scan.sh and update notification + brand copy tests
null
2026-06-28 12:45:37 -0500
f927097d67
brand: update dark-theme illustration and pack-art night assets
null
2026-06-28 12:45:15 -0500
b10395812b
fix(ui): remove hardcoded colors in BucketList, DateMatch, QuestionThread, WheelHistory; delete unused PlaceholderScreen
null
2026-06-28 12:45:02 -0500
8b7bbc2996
fix(dates): remove dead setDateIdeaId from DateBuilderViewModel (N-002 follow-up)
null
2026-06-28 11:30:45 -0500
4ee154d8ed
docs(qa): update ClaudeQAPlan + ClaudeQACoverage with living-doc guardrails, wiring scanner, and device-matrix honesty
null
2026-06-28 11:30:29 -0500
896691fee3
tools: add wiring-scan.sh dead-feature / orphan-wiring scanner for Pass N
null
2026-06-28 11:30:21 -0500
954aab4cd2
brand: add generated glyph assets + illustration exports, allow generated-art in git
null
2026-06-28 11:30:12 -0500
234db42221
docs(plan): Mark Engineering Reference Manual plan complete
null
2026-06-28 11:15:30 -0500
186b40546b
docs(manual): Batch 9 — fix TOC nesting, broken anchor, and stale iOS claim in repository layout
null
2026-06-28 11:14:37 -0500
df2837dc06
docs(manual): Batch 8 — update theme landmine entry (C-ART-EDGE-002 closed, theme scanner mandatory)
null
2026-06-28 11:13:21 -0500
eb78b920a4
docs(manual): Batch 7 — correct iOS E2EE gap details and ProGuard description
null
2026-06-28 11:12:15 -0500
8ce99e197f
art
null
2026-06-28 11:10:46 -0500
e4175ebb52
docs(manual): Batch 6 — correct Billing webhook flow, add CouplePremiumChecker, fix quiet-hours and notification_queue claims
null
2026-06-28 11:10:08 -0500
74e46761f2
docs(manual): Batch 5 — correct Firestore rules per-collection notes (users premium, couples create/update shape, remove migration helpers)
null
2026-06-28 11:08:42 -0500
d19f0f8eb8
docs(manual): Batch 4 — update Cloud Functions list, module responsibilities, webhook ack order, and schedule timezones
null
2026-06-28 11:07:24 -0500
08368b3e01
docs(manual): Batch 3 — correct E2EE and Firestore data model (user fields, couple fields, date plans, preferences, bucket list, secure subdoc)
null
2026-06-28 11:06:20 -0500
a6aa23eee2
docs(manual): Batch 2 — correct auth providers and couples model (no anonymous, no migration field, Google SDK not Credential Manager)
null
2026-06-28 11:04:15 -0500
be710a0c9d
docs(manual): Batch 1 — correct repository layout paths (core/feature, QuestionDao, QuestionJsonParser)
null
2026-06-28 11:02:45 -0500
3a6ae5c69a
feat: theme-scan.sh summary counts, BrandIllustration exclusion, QAPlan scanner-first wiring
null
2026-06-28 10:50:27 -0500
9949200f47
feat: wire theme-scan.sh into QA docs, fix script Tier 2, file 9 C-THEME P2 defects
null
2026-06-28 10:34:55 -0500
4deed13845
feat: theme-scan.sh + improved Pass C scanner methodology (tier 1A-1G, tier 2, tier 3 roadmap)
null
2026-06-28 10:28:17 -0500
fe3ea7715c
feat: add automated theme-mismatch scanner to Pass C methodology (Tier 1-3)
null
2026-06-28 10:20:41 -0500
37ed7cebec
feat: quiet hours notifications, settings UI, game session updates, docs
null
2026-06-28 10:00:25 -0500
c31eea2549
feat(premium): one-time PremiumUnlockOverlay + theme/art fixes (R13)
null
2026-06-27 21:01:16 -0500
4eed0a8115
feat(premium): couple-shared unlock notification + reveal retry + users update allowlist + brand glyphs
null
2026-06-27 16:35:41 -0500
9f09ebbc67
chore: R12 working tree — QA docs, brand illustration updates, date-match paywall routing, theme tweaks
null
2026-06-27 15:34:38 -0500
361eff18e3
docs(manual): review pass 3 — routing route names, notification_queue reality, /questions server-only, conversations/messages data model, premium sharing, entitlement fields, daily reminder skip conditions, iOS tree fix
null
2026-06-27 15:27:14 -0500
c167211323
docs(manual): review pass 2 — iOS pairing actually broken, notification routes corrected, repo tree fixes, schedules updated, reveal-flow read-path gotcha
null
2026-06-27 15:14:09 -0500
439ae7ce51
docs(manual): review fixes — secure subdoc reveal flow, encryption version accuracy, anchor slug corrections, ToC/how-to updates, helper function list, gitignore case-sensitivity note
null
2026-06-27 15:00:47 -0500
9eee3951e9
docs(qa): point Report + Coverage at Engineering Reference Manual (landmines section)
null
2026-06-27 14:51:48 -0500
58d09ac8d3
docs(qa): cross-reference Engineering Reference Manual by Pass with anchor links
null
2026-06-27 14:51:23 -0500
3924d63c7b
docs(manual): R10 architecture updates — game push semantics, foreground banner, deep-link routes, premium gate pattern, landmines section
null
2026-06-27 14:50:23 -0500
2cd0af65a8
chore: working tree changes — QA docs, app tweaks, Cloud Functions updates
null
2026-06-27 13:31:09 -0500
9c84c36443
fix(qa): R10 fix phase — 5 P2 bugs fixed (C-HOME-001, C-NAV-002, C-NAV-003, C-PW-001, C-SEC-001)
null
2026-06-27 10:34:26 -0500
32b5b560a2
docs(qa): update report with R10 results — E-GAME-002 fix, foreground banner, C-SEC-001
null
2026-06-26 20:04:20 -0500
38fdc6d2cc
feat(notif): foreground game-start banner + bold Home waiting hero — join specific game from both
null
2026-06-26 20:04:11 -0500
6e79cd9704
fix(notif): replace status-diff with idempotent flag-claim for game start/finish pushes (F-RACE-001)
null
2026-06-26 20:04:05 -0500
e6a8deef67
docs(qa): update report with couple-key encryption, onAnswerRevealed, both-answered unlock
null
2026-06-26 12:41:22 -0500
b9b15604ef
fix(games): notification deep-link lands in active game — singleTop + server-first read (E-GAME-001)
null
2026-06-26 12:41:17 -0500
e5c9c43317
feat(rules): add read-gated secure subdoc for couple-key encrypted answers (schemaVersion 2)
null
2026-06-26 12:41:06 -0500
f7418df700
feat(notif): add PARTNER_OPENED_ANSWER notification type + deep-link routing
null
2026-06-26 12:40:54 -0500
df32229f3b
feat(answers): replace sealed-key exchange with couple-key encryption (schemaVersion 2) — reveal on both-answered, no key handshake
null
2026-06-26 12:40:49 -0500
47867b5663
feat(notif): onAnswerWritten detects both-answered — send 'unlocked' notification instead of 'go answer'
null
2026-06-26 12:40:41 -0500
8b4c5ba005
feat(notif): add onAnswerRevealed cloud function — notify partner when answers are opened
null
2026-06-26 12:40:36 -0500
fe104b4a41
brand(art): add 12 dark-theme illustration variants for night mode
null
2026-06-26 11:27:36 -0500
f924af9445
qa(brand): complete both-theme sweep of the art drop — 0 issues, 0 FATAL
null
2026-06-26 10:11:42 -0500
768f511870
docs(brand): mark all 11 generated illustrations wired into Android (A1-A12)
null
2026-06-26 10:01:40 -0500
63699c09da
docs(qa): note the brand art drop landed + Pass C re-verify owed on touched screens
null
2026-06-26 10:01:17 -0500
5868d06421
brand(art): wire Delete account calm-goodbye illustration (A12)
null
2026-06-26 09:59:53 -0500
9b1e946ed8
brand(art): pairing-success hero -> A1 celebration; Security header -> A11 privacy-lock
null
2026-06-26 09:57:26 -0500
86679752b0
brand(art): wire Connection Challenges header (A3 banner) + Quiet hours (A9)
null
2026-06-26 09:53:28 -0500
fb4620559b
brand(art): wire Date Match A5 (empty + it's-a-match) + Memory Lane A4; add all new art to debug gallery
null
2026-06-26 09:48:13 -0500
5d74858679
brand(art): wire Answer History (A2) + Past Games (A10) empty illustrations
null
2026-06-26 09:40:08 -0500
4aec224f0d
brand(art): wire Messages-empty (A8) + Bucket List-empty (A6); add BrandIllustration helper
null
2026-06-26 09:36:53 -0500
077a408785
brand(art): add 12 generated illustrations to drawable-nodpi; gitignore brand source art
null
2026-06-26 09:29:42 -0500
5ba5b4a8ec
qa(R9): clean confirmation round — deferred Pass C + Pass F network swept, 0 new findings
null
2026-06-26 08:42:03 -0500
9505defd29
qa(R9): confirm + prune I-001/I-002 (0 outcomes denials/CCE on fixed build)
null
2026-06-26 08:33:46 -0500
dbf8a6f18e
qa(R8): wrap — Pass E new-type status (not implemented), couple-premium-unlock idea to Future.md
null
2026-06-26 00:00:31 -0500
ab29f6b12f
fix(outcomes): restore Your Progress read — scope query to allowed dayKeys + coerce Long scores (I-001, I-002)
null
2026-06-25 23:58:37 -0500
35d36e6851
qa(R8): Pass J accessibility — font scale 2.0 usable, semantics clean, reduce-motion honored
null
2026-06-25 23:47:27 -0500
f740b1d9a1
qa(R8): Pass I performance — route smoke checklist + I-001 (P1) outcomes read denied
null
2026-06-25 23:41:08 -0500
11208c6fb5
qa(R8): re-confirm F-RACE-001 live (race -> 1 session, loser joins same set) + prune
null
2026-06-25 23:32:31 -0500
96987bf29a
docs(qa): merge notification-suite playbook, add report hygiene + finding-routing, clean report/coverage
null
2026-06-25 23:23:30 -0500
23dd6a75e8
fix(games): atomic session start to prevent duplicate sessions on concurrent start (F-RACE-001)
null
2026-06-25 21:43:06 -0500
164acf415d
docs(seed): update content guide to v3 — product standard, readability test, final approval
null
2026-06-25 18:56:48 -0500
4686a2c200
docs(seed): replace question guides with v2 — content guide, rewrite plan, new quality checklist
null
2026-06-25 18:48:37 -0500
f47c8e2b64
feat(qa): clear Future.md backlog — inclusive gender, turn-aware copy, push budgets, paywall polish, auth rotator
null
2026-06-25 16:00:58 -0500
95cad84cb5
brand: loading state, themes, manifest, art preview, pairing screen updates
null
2026-06-25 15:24:46 -0500
fed91dbe46
brand: finalize app icon, brand docs, onboarding visuals, feature graphic
null
2026-06-25 14:52:21 -0500
520eea2236
brand: update launcher foreground, feature graphic, auth visuals, brand docs
null
2026-06-25 14:48:57 -0500
93b5599605
brand: add closer-mark SVGs (on-dark + on-light variants)
null
2026-06-25 14:44:31 -0500
334cb079fa
brand: update app icon, iOS assets, Android drawables, brand docs (Pass H)
null
2026-06-25 14:34:27 -0500
450ddccd16
qa(plan): add Pass H Branding & artwork + ClaudeBrandingReview.md (house style + ChatGPT prompts)
null
2026-06-25 13:46:06 -0500
2545da5c8b
qa(plan): play every depth x question-count + consumer mindset; add Future.md (QA backlog)
null
2026-06-25 13:39:16 -0500
83d3d59903
qa(r5): functions deployed (E-OBS + E-003 results-ready) + expanded re-QA — 0 open P0-P3
null
2026-06-25 13:12:40 -0500
765916a8ef
build(functions): recompile dist for E-OBS + E-003 results-ready changes
null
2026-06-25 12:40:38 -0500
21b078a180
fix(notif): set FCM channel on remaining reminder senders (E-OBS)
null
2026-06-25 12:39:59 -0500
aaab768cb0
fix(notif): deep-link results-ready pushes to per-session results/replay screen (E-003)
null
2026-06-25 12:34:43 -0500
3de4178fd3
qa(plan): add varied gameplay styles, exhaustive nav fuzzing, Pass G account-creation/fake-account
null
2026-06-25 12:28:58 -0500
ee19ef3f59
qa(r4): fix phase + re-QA complete — E-003/B-004/A-OBS fixed; 0 open P0-P2
null
2026-06-25 12:15:19 -0500
d99fa6c6ea
fix(paywall): show friendly plan-load error, not raw SDK message (A-OBS)
null
2026-06-25 12:10:45 -0500
f1549c642c
fix(games): add 'Join the game' escape to WaitingForPartner screen (B-004)
null
2026-06-25 12:07:48 -0500
1b9d8cf8dc
fix(notif): game pushes deep-link into the waiting game, not the Play hub (E-003)
null
2026-06-25 12:02:28 -0500
a2b38485b1
docs(seed): align type names with repo schema — single_choice, this_or_that, answer config
null
2026-06-25 11:40:56 -0500
d1026c7312
docs(seed): split question guide into three documents — content guide, schema, rewrite plan
null
2026-06-25 11:37:10 -0500
0c8586fa9e
qa(r3): Round 3 full re-QA (A-F) COMPLETE — 12 fixes hold; 5 new issues logged
null
2026-06-25 11:37:06 -0500
682a9d8ea7
qa(r3): Pass E live notif tests — chat_message full chain OK; log E-003 + E-OBS
null
2026-06-25 11:32:32 -0500
fa6d80602a
docs(brand): add asset-system.md, cross-link from visual-identity.md
null
2026-06-25 11:26:21 -0500
afd81e8120
qa(r3): Pass C visual sweep + Pass D security re-audit clean
null
2026-06-25 11:25:19 -0500