Commit Graph

18 Commits

Author SHA1 Message Date
null f336c91731 docs(manual): batch 6 - fix broken iOS-Android sealed-answer bridge anchor (→ slug mismatch) 2026-07-11 16:25:36 -05:00
null 690b567f82 docs(plan): phase 4 batch 5 no-op - qa_push.js fix is internal to the QA helper 2026-07-11 16:24:20 -05:00
null fcee89912f docs(plan): phase 4 batch 4 no-op - copy catalog + string cleanup don't touch the manual 2026-07-11 16:24:04 -05:00
null dc624ebb21 docs(manual): batch 3 - flip per-module bullet for billing webhook to exported 2026-07-11 16:23:38 -05:00
null 0b92632973 docs(manual): batch 2 - RevenueCat 10.13.0 + HMAC-SHA256 webhook in tree + gitignore entry 2026-07-11 16:23:16 -05:00
null cbb42a6e5c docs(plan): Phase 3 complete - 13 batches, 11 issues found and fixed
Completed the full evidence-first re-review of
docs/Engineering_Reference_Manual.md started in the previous commit.
13 batches, 11 issues found and fixed (Batches 11 and 13 were clean),
all committed individually per the standing one-commit-one-batch rule.

Final verification: 30/30 internal anchors resolve cleanly with a
GFM-compliant slug checker; 0 broken TOC links.

Batches 1-13 commits on dev:
  ef5a2331  batch 1  iOS platform row E2EE not-yet-implemented claim
  1b36eba6  batch 2  recovery phrase wordlist size 256 -> 248
  0af6f24a  batch 3  Argon2id memory 46080 -> 47104 KiB
  5e292e66  batch 4  DOW mode table was missing Saturday
  5f7c785f  batch 5  3 missing rule helpers + isPublicKey regex +
                     releaseKeys sender-read fix
  aa356148  batch 6  Cloud Functions handler types table was imprecise
  ceb98f4a  batch 7  iOS DefaultEntitlementChecker actor doesn't
                     exist; gated-features list was wrong
  29cc39aa  batch 8  How-to-gate section header + game-push flag
                     claim (notificationsSent map -> 4 Timestamps)
  9330c0c4  batch 9  Tink template name SHA128 -> SHA256
  22c816ad  batch 10 RevenueCat version 8.20.0 -> 10.12.0 + Glance
  b3725463  batch 11 engineering conventions verified clean (no edits)
  80751f82  batch 12 A-201 landmine heading restored
  c5ead4cb  batch 13 where-to-look-first verified clean (no edits)

The full table of issues + commit SHAs is appended to this plan file
for the next session's reference.
2026-07-08 23:33:59 -05:00
null f5194a4453 docs(plan): rewrite Engineering_Reference_Manual_Plan for Phase 3 (13-batch re-review)
Reset the plan file from the v0.2.1 + Phase 2 single-pass state to a new
Phase 3 batch plan covering a full evidence-first re-review of the manual.
13 batches, one per major section of docs/Engineering_Reference_Manual.md.
This file is the working log for the Phase 3 review; per-batch findings
get appended as each batch completes.

Batch 1 (iOS platform row 'E2EE not yet implemented' was stale) has
already shipped as ef5a2331 - this commit just lays out the plan for
batches 2-13.
2026-07-08 23:18:54 -05:00
null 213cfddb16 docs(manual): sync Engineering Reference Manual with post-R30 / v2-functions codebase
- Cloud Functions: rewrite the module tree for the v2 migration (B0-B6d,
  2026-07-08); add options.ts (global v2 setGlobalOptions, Cloud Run CPU
  quota workaround), log.ts, the shared push/quietHours/idempotency/
  pruneTokens/time infra under notifications/, releaseKey/, backup/,
  the dates/onDate* triggers, couples/aggregateOutcomes, and the new
  sendStreakReminder + sendThinkingOfYouCallable. Replace the single
  onGamePartFinished with the four per-game part-finished triggers
  shipped in B6c. Note the webhook is not deployed (RevenueCat project
  not yet created; export commented out in functions/src/index.ts).
- Daily question lifecycle: replace the 'picks a random' description
  with the new server-authoritative, mode-aware, deterministic picker
  that mirrors the client's DailyModeResolver; add a Server-authoritative
  sub-section with the frozen DOW -> mode map and the daily_fun_mc
  exclusion. Note the couple-scan pagination + unseeded-pool skip.
- Billing: add the Purchases.logIn(firebaseAuth.currentUser!!.uid)
  identity link (commit b99a8338) and the typed BillingException mapping.
  Cross-link to the Webhook reliability section for the not-deployed state.
- iOS: fix the Repository layout iOS Crypto/ block (R24 E2EE code ships
  in it; no longer 'intentionally empty'); correct the 'pairing from iOS
  fails' claim (works for schemaVersion 2 path; schemaVersion 3 is
  infrastructure-gated per IOS_E2EE_STATUS.md); correct the 'iOS couples
  have no recovery path' claim (R24 batch 2 added iOS recovery phrase).
- TOC + anchors: add the new sub-anchors; fix three pre-existing broken
  anchors (r10, ios-android-sealed-answer-bridge, recovery-phrase-change
  desync). 30/30 anchors verified clean with a GFM slug checker.
- New landmines: BANNER-LIFE-001 (R30 game banner lifecycle; the B6c
  per-game split means a new game also needs a per-game monitor hook)
  and FUNCTIONS-V2-DEPLOY (2nd-gen deploy / CPU-quota / Eventarc
  propagation pattern, the 'Changing from an HTTPS function to a
  background triggered function' error and the launch-time quota
  increase to restore 1 vCPU + concurrency 80).
- Engineering_Reference_Manual_Plan.md: add Phase 2 status entry.
2026-07-08 21:56:44 -05:00
null 234db42221 docs(plan): Mark Engineering Reference Manual plan complete 2026-06-28 11:15:30 -05:00
null 186b40546b docs(manual): Batch 9 — fix TOC nesting, broken anchor, and stale iOS claim in repository layout 2026-06-28 11:14:37 -05:00
null df2837dc06 docs(manual): Batch 8 — update theme landmine entry (C-ART-EDGE-002 closed, theme scanner mandatory) 2026-06-28 11:13:21 -05:00
null eb78b920a4 docs(manual): Batch 7 — correct iOS E2EE gap details and ProGuard description 2026-06-28 11:12:15 -05:00
null e4175ebb52 docs(manual): Batch 6 — correct Billing webhook flow, add CouplePremiumChecker, fix quiet-hours and notification_queue claims 2026-06-28 11:10:08 -05:00
null 74e46761f2 docs(manual): Batch 5 — correct Firestore rules per-collection notes (users premium, couples create/update shape, remove migration helpers) 2026-06-28 11:08:42 -05:00
null d19f0f8eb8 docs(manual): Batch 4 — update Cloud Functions list, module responsibilities, webhook ack order, and schedule timezones 2026-06-28 11:07:24 -05:00
null 08368b3e01 docs(manual): Batch 3 — correct E2EE and Firestore data model (user fields, couple fields, date plans, preferences, bucket list, secure subdoc) 2026-06-28 11:06:20 -05:00
null a6aa23eee2 docs(manual): Batch 2 — correct auth providers and couples model (no anonymous, no migration field, Google SDK not Credential Manager) 2026-06-28 11:04:15 -05:00
null be710a0c9d docs(manual): Batch 1 — correct repository layout paths (core/feature, QuestionDao, QuestionJsonParser) 2026-06-28 11:02:45 -05:00