Commit Graph

  • fb85b0a1fa docs(readme): revamped screenshot grid (dark mode), updated tagline and badges null 2026-06-29 11:21:50 -0500
  • 77f8dc30c0 chore(gitignore): add scratchpad/ to ignores null 2026-06-29 11:19:28 -0500
  • 897899f2da Revert "chore(scratchpad): rules arrays and positions scratch work" null 2026-06-29 11:18:50 -0500
  • 62696a69ea chore(scratchpad): rules arrays and positions scratch work null 2026-06-29 11:18:21 -0500
  • f6885b5fa4 docs(readme): revamped screenshot grid (dark mode), updated tagline and badges null 2026-06-29 11:18:02 -0500
  • b2dc96ca04 feat(games): GamePromptBanner UI + MessageBubbleOverlay polish, wheel bounce fix, GameCopy strings, QA coverage updates null 2026-06-29 11:02:31 -0500
  • f51a55743c feat(games): partner game-session push orchestration — in-app notification banner, Firestore rules, Cloud Function, QA docs null 2026-06-28 22:24:46 -0500
  • 0aaec3c10f feat(android): portrait lock for MainActivity + ThisOrThat answer-select glow + QA report null 2026-06-28 20:59:44 -0500
  • 403be3939c feat(wheel): finish gate UX polish — bounced-back banner on unanswered prompts, screen-reader live region, ViewModel unit test null 2026-06-28 19:54:31 -0500
  • 084a8a5391 docs(qa): record R18b Pass E full live re-run (notifications + cold-start smoke + payload privacy audit) null 2026-06-28 18:28:53 -0500
  • 214c6bf1d0 docs: add IOS_E2EE_STATUS.md handoff memo (iOS E2EE phase code-complete pending Mac/CI) null 2026-06-28 18:27:01 -0500
  • 763ca0c7cb feat(tools+docs): add androidTest deps for paired-CI vector harness; add SCHEMA_VERSION_DECISION + SPEC §19 pre-deploy checklist (iOS E2EE Batch 8) null 2026-06-28 17:56:44 -0500
  • 2aaeef3d45 docs(qa/brand): update ClaudeBrandingReview + ClaudeReport null 2026-06-28 17:52:57 -0500
  • 3ae3f36ad4 feat(android): brand glyph migration sweep 2 — migrate remaining Material icons to CloserGlyphs catalog null 2026-06-28 17:52:49 -0500
  • c3092ad8f6 feat(tools): Android canonical-vector instrument harness + hardened LEARNINGS verification helper; update capture script KNOWN_GAPS null 2026-06-28 17:50:00 -0500
  • 6cc78209af feat(android): migrate all UI surfaces from Material icons to brand glyphs (CloserGlyphs catalog) null 2026-06-28 17:46:11 -0500
  • c31ae4b1f7 feat(android): introduce CloserGlyphs catalog + migrate CategoryGlyph to brand vector resources null 2026-06-28 17:46:05 -0500
  • 582aefcec2 feat(tools): capture_android_canonical_vectors.sh for paired-CI fixture filling; sync Engineering Manual for wrapReleaseKeyCallable + iOS Keychain null 2026-06-28 17:31:30 -0500
  • e3c3dab466 fix(android): remove obsolete quiet-hours illustration block from NotificationSettings null 2026-06-28 17:26:32 -0500
  • 44cf982508 docs(brand): update ClaudeBrandingReview null 2026-06-28 17:26:27 -0500
  • 7f17f4c673 docs(ios/crypto): SPEC §18 Batch 5 status + Argon2id fixture-driven test (skips until paired CI fills TODO_ANDROID_RUN) null 2026-06-28 17:22:31 -0500
  • d404301579 brand: update glyph_connection_challenge preview PNG + contact sheet + ClaudeBrandingReview null 2026-06-28 17:19:17 -0500
  • ade4667db7 feat(ios): wire wrapReleaseKeyForPartner + MockFirestoreReleaseKey tests for the new Cloud Function null 2026-06-28 17:19:11 -0500
  • fa8005f25f feat(functions): wrapReleaseKeyCallable — server-side Tink wrap for iOS→Android release keys (closes keybox Path A interop gap) null 2026-06-28 17:19:06 -0500
  • 3d3209806c fix(ios/crypto): AnswerCrypto AAD to coupleId-only (matches Android FieldEncryptor); add vector fixtures for sealed-answer canonical JSON + Argon2id (TODO_ANDROID_RUN placeholders for paired CI) null 2026-06-28 17:19:00 -0500
  • 60c0003114 feat(ios/e2ee): schemaVersion 3 sealed answers + ECIES keyboxes Path A + DeviceKeyStatus (Batch 4) null 2026-06-28 17:14:50 -0500
  • 5c64f69754 brand: SVG restructure of glyph_connection_challenge (g→paths, added rect) null 2026-06-28 17:09:23 -0500
  • afa64bfb36 fix(android): update HomeScreen + AppNavigation routing null 2026-06-28 17:09:07 -0500
  • 4215563873 brand: update glyph_connection_challenge + add glyph_closer_heart_keyhole null 2026-06-28 17:09:02 -0500
  • 922364f8e8 feat(ios/e2ee): wire createInvite/acceptInvite + schemaVersion 2 daily-answer encrypt/decrypt (Batch 3) null 2026-06-28 17:04:47 -0500
  • 5dedf5cdd7 tools(qa): add painter-xml-scan.sh — catches painterResource(non-vector XML) crashes (O-ONBOARD-001 class) null 2026-06-28 16:57:29 -0500
  • 3970608a1c docs(qa): record O-ONBOARD-001 close + add painter-xml-scan to Pass C scanners in ClaudeQAPlan/Coverage null 2026-06-28 16:57:22 -0500
  • faac40afbf feat(ios/crypto): CryptoKit interop primitives — RecoveryKeyManager, FieldEncryptor (enc:v1:), CoupleEncryptionManager (Argon2id v1.3), Keychain store, wordlist bundle, tests + FirestoreService E2EE contract annotation null 2026-06-28 16:56:51 -0500
  • 9cec1e7e09 docs(qa): close Future.md onboarding + bucket-list items; record O-ONBOARD-001 in ClaudeReport (root cause was <bitmap> ic_launcher_foreground, not the <vector> background) null 2026-06-28 16:48:48 -0500
  • 5a86b462c4 fix(android): swap <bitmap> launcher foreground for raster in Onboarding + AuthLogoMark (fixes O-ONBOARD-001); polish BucketList add-FAB null 2026-06-28 16:48:43 -0500
  • 2d77786254 brand: refresh dark-variant illustrations (couple_history, couple_onboarding, tonight_partner_prompt) + dark contact sheet null 2026-06-28 16:48:37 -0500
  • ae4e6f4542 docs(ios/crypto): wire-format spec for CryptoKit interop with Android Tink AEAD + Argon2id (E2EE Batch 1) null 2026-06-28 16:45:19 -0500
  • d30c6c2080 security(scratchpad): add R18 Firestore probe scripts (L/D1 at-rest, premium state, quiet-hours mirror, last marker) null 2026-06-28 16:35:25 -0500
  • cdf84352d6 docs(screenshots): recapture 02-login.png on new emulator-5558 null 2026-06-28 16:35:20 -0500
  • 15039b6d40 chore(seed): rebuild bundled question-pack SQLite DB (Q-grammar pass) null 2026-06-28 16:35:16 -0500
  • 76c8d2cd4d docs(qa): record R18 updates in ClaudeReport and update ClaudeQACoverage matrix null 2026-06-28 16:35:06 -0500
  • 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