Commit Graph
107 Commits
Author SHA1 Message Date
Lucas Berger fa90b7cf86 docs(phase-06): finalize 06-04/05/06 summaries + tracking
- 06-04-SUMMARY: pulse keyframe checkpoint PASS (playwright-cli); CP-04.3 iOS device-only noted
- 06-05-SUMMARY: TDD RED/GREEN + dead-end guard follow-up fix; playwright-cli cold-load + 401 PASS
- 06-06-SUMMARY: end-tracking/recurrence-bound/series-prompt/all-day-pill; Schedule-X selector fix noted
- ROADMAP: mark 06-04/05/06 complete; phase 6 row updated to 6/6 Complete 2026-06-10
- STATE: phase 06 position/status updated; 3 new metric rows; 6 new decisions; phase-level UX fixes (AppNav/BottomTabBar) documented; residual device-only items added to Blockers
2026-06-10 16:30:01 -04:00
Lucas Berger 893e687614 docs: expand backlog 999.4 — per-event reminder config + scheduler honors VALARM
Folded the new capture into 999.4 instead of a fragmented duplicate:
- Half A (existing): author per-event VALARM in the event form, incl. 'no reminder'.
- Half B (new, 2026-06-10): reminderScheduler honors each event's VALARM TRIGGER
  instead of the hardcoded 15-min lead, and fires nothing when there's no alarm —
  preserving the catch-up + per-uid exactly-once dedup guarantees.
2026-06-10 15:18:37 -04:00
Lucas Berger dc50919de7 docs: add backlog 999.13 — reduce event write-back latency (outbox 15s drain → event-driven) 2026-06-10 15:08:35 -04:00
Lucas Berger 2b78c3d593 docs: add backlog 999.12 — assistant-driven mobile-browser UI testing (mobile viewport + authed PWA) 2026-06-10 15:07:45 -04:00
Lucas Berger 83f7cbc34d docs: mark Phase 5 (web-push) complete — UAT 1/2/5 pass, T3 dropped, T4 deferred to Phase 6 2026-06-10 14:58:28 -04:00
Lucas Berger 0c2c26c375 docs(06-03): complete hasRrule server-side exposure plan 2026-06-10 11:20:17 -04:00
Lucas Berger b869fe0a93 docs(06-02): complete RRULE UNTIL/COUNT serialization plan 2026-06-10 11:04:04 -04:00
Lucas Berger 78a8cb5ccd docs(06-01): complete end-tracking math plan (D-04) 2026-06-10 10:51:16 -04:00
Lucas Berger 7de1f2482e docs: add backlog 999.10 (admin Settings section) + 999.11 (initial setup wizard)
999.10: in-app admin UI to manage app passwords + designate the shared
calendar (replaces manual is_shared DB write, D-16).
999.11: first-run setup wizard for env vars/VAPID/DB/app-password with
validation (motivated by the truncated-VAPID-key setup friction).
2026-06-10 10:38:36 -04:00
Lucas BergerandClaude Opus 4.8 456121969f docs(06): create ux-polish phase plan (6 plans, 2 waves)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 10:25:41 -04:00
Lucas Berger 17dfaac5f2 docs(05): mark phase pending iOS/Android device UAT (verification human_needed) 2026-06-09 22:48:07 -04:00
Lucas Berger e496b5e00a docs(05-07): complete eventChangeDispatcher + syncCalendar diff plan 2026-06-09 22:06:14 -04:00
Lucas Berger 4ef6333201 docs(05-08): complete opt-out + reliability surface plan 2026-06-09 21:53:33 -04:00
Lucas Berger 8e741cf528 docs(05-06): complete reminderScheduler plan 2026-06-09 21:40:22 -04:00
Lucas Berger 9b04528fd6 docs(05-05): complete list-change push plan 2026-06-09 21:29:09 -04:00
Lucas Berger 60c247d8ed docs(05-04): complete push vertical slice plan 2026-06-09 21:16:23 -04:00
Lucas Berger f07c85d0c9 docs(05-03): complete pushCoalescer TDD plan 2026-06-09 21:00:22 -04:00
Lucas Berger fc6f534f0a docs(05-02): complete pushDispatcher TDD plan 2026-06-09 20:56:13 -04:00
Lucas Berger 1cc08f1bf1 docs(05-01): complete Wave-0 foundation plan 2026-06-09 20:52:23 -04:00
Lucas Berger 1ecca03f53 docs(05): create phase 5 web-push plan (8 plans, 6 waves) 2026-06-09 18:39:05 -04:00
Lucas Berger ffaa44a9be docs(04-07): complete gap-closure plan — LIST-03 + T-04-08 closed, Phase 04 done
- 04-07-SUMMARY.md: documents rank-collation fix + owner-only guard, 184/184 tests
- STATE.md: Phase 04 marked complete (7/7 plans), progress 100%, decisions added
- ROADMAP.md: 04-07-PLAN.md checked off
2026-06-09 14:25:43 -04:00
Lucas Berger 797338424d docs(04): gap-closure plan 04-07 (rank collation + isShared owner guard) 2026-06-09 14:07:14 -04:00
Lucas Berger ca9e97879f docs(04-06): complete live-sync SSE vertical slice plan 2026-06-09 13:35:49 -04:00
Lucas Berger f12093c910 docs(04-05): complete drag-to-reorder plan 2026-06-09 13:19:35 -04:00
Lucas Berger 8ed105d467 docs(04-04): complete item-CRUD vertical slice plan 2026-06-09 13:04:48 -04:00
Lucas Berger 353431c8b4 docs(04-03): complete list-CRUD vertical slice plan 2026-06-09 12:48:00 -04:00
Lucas Berger 0fd4d66ee7 docs(04-01): complete lists foundation plan 2026-06-09 12:06:53 -04:00
Lucas BergerandClaude Opus 4.8 38fa6f448b docs(04): create phase plan — 6 plans across 5 waves for shared lists + live sync
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 10:21:53 -04:00
Lucas Berger 35871cd8cf roadmap(06): add Phase 6 — UX Polish
phase.add appended the entry after the 999.x backlog (the decimal backlog
convention confused the auto-placement). Moved it into Phase Details before
## Progress, added it to the top checklist + Progress table + execution order,
gave it goal/success-criteria/candidate-scope (promotes backlog 999.2/3/6/7/8/9),
renamed the dir to 06-ux-polish, and bumped STATE to 6 phases (50%).
2026-06-07 19:28:34 -04:00
Lucas Berger cca5205173 chore(03): close Phase 03 — transition to Phase 04
- 03-08-SUMMARY (Gate 2 record) written; phase marked complete (12/12)
- ROADMAP: Phase 3 [x] complete 2026-06-07; REQUIREMENTS updated
- STATE: advanced to Phase 4, focus + progress corrected (backlog 999.x were
  miscounted as milestone phases → reset total_phases to 5, 60%)
- PROJECT.md evolved: event CRUD / OIDC login / iOS PWA install moved to
  Validated (Phase 3); D-17 logged; Android install + onboarding-provider-setup
  kept Active
- removed stale .continue-here + one-shot HANDOFF.json

Carried forward: B5 (Android install), Phase 4 SSE entry gate (D-14), backlog 999.3-999.9.
2026-06-07 19:24:33 -04:00
Lucas Berger cee7f0bad0 docs(backlog): add 999.6-999.9 (all-day visual, form end-tracking + all-day edit off-by-one, recurrence bound, recurring series edit)
Captured from Gate 2 live testing 2026-06-07:
- 999.6 all-day events need distinct visual treatment
- 999.7 event form: auto-advance end when start moves; + latent all-day EDIT
  off-by-one (edit grows the event by a day — write/display convert inclusive
  <-> exclusive but the edit form does not)
- 999.8 recurrence bound (repeat-until/count) so a recurring event isn't one
  giant multi-month event; verify daily-vs-weekly selection
- 999.9 edit a recurring series (whole-series edit; per-occurrence already v1.x)
2026-06-07 19:13:08 -04:00
Lucas Berger 29b8c02715 docs(03): Gate 2 progress — A3 distinct colors + iOS install verified; backlog 999.5 (provider setup)
A3 PASS (distinct colors after collision fix), B1 PASS (wife installed + logged
in on iPhone). Added backlog 999.5: first-login provider-setup prompt to attach
each member's own Fastmail app password (per-member personal calendar, D-09).
Remaining Gate 2: A2, B2/B3/B4, D2, D3 (quick operator confirms); B5/C deferred.
2026-06-07 18:15:51 -04:00
Lucas Berger 86069b89c1 docs(backlog): promote session-timeout + event-reminder todos to backlog (999.3/999.4) 2026-06-07 18:01:18 -04:00
Lucas Berger 505f64ed93 docs: add backlog item 999.2 — slick unauthenticated-entry (no login flash) 2026-06-06 22:11:33 -04:00
Lucas Berger b3eff3c677 docs(03): record gap-closure completion (03-09..03-12) in STATE + ROADMAP 2026-06-05 21:10:26 -04:00
Lucas Berger d1658bd1db docs(03): gap-closure plans 03-09..03-12 for write-path review findings 2026-06-05 19:20:25 -04:00
Lucas Berger 40dfbb48d5 docs(03-06): complete edit/delete + sync toast plan 2026-06-05 18:48:17 -04:00
Lucas Berger dbd09bc2bb docs(03-05): complete event write UI plan — EventForm + client calls + FAB 2026-06-05 18:32:37 -04:00
Lucas Berger 82ab87a633 docs(03-04): complete outbox worker plan — state machine GREEN, wired at boot 2026-06-05 18:23:01 -04:00
Lucas Berger 95864e5dc8 docs(03-07): complete PWA install plan — manifest, InstallPrompt, icons 2026-06-05 18:07:59 -04:00
Lucas Berger 7398946aa8 docs(03-03): complete write API surface plan — enqueue-only endpoints GREEN 2026-06-05 17:59:53 -04:00
Lucas Berger 4eb7c28797 docs(03-02): complete broker primitives plan — vevent.ts + write.ts GREEN 2026-06-05 17:50:23 -04:00
Lucas Berger a487569c7e docs(03-01): complete foundation-scaffold plan 2026-06-05 17:41:41 -04:00
Lucas Berger 9dd08d28d1 docs(03): create phase plan (8 plans, 5 waves) 2026-06-05 16:57:01 -04:00
Lucas Berger edf9649a21 docs(phase-02): complete phase — mark roadmap + requirements traceability 2026-06-05 16:01:15 -04:00
Lucas Berger 00a4e66a8d docs(phase-02): update tracking after wave 3 2026-06-05 10:44:57 -04:00
Lucas Berger bfddcb1da2 docs(phase-02): update tracking after wave 2 2026-06-05 10:33:53 -04:00
Lucas Berger 6dc5d77f60 docs(phase-02): update tracking after wave 1 2026-06-05 09:38:23 -04:00
Lucas Berger 8bd52c6923 docs: add backlog item 999.1 — treat Fastmail as a calendar provider, support adding more 2026-06-04 15:12:20 -04:00
Lucas Berger fc4cc2ccf8 docs(02): create phase plan 2026-06-04 15:09:55 -04:00