Lucas Berger and Claude Sonnet 4.6
492b85e9dc
docs(04): UI design contract for shared lists + live sync
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 09:43:32 -04:00
Lucas Berger
f695cc014d
wip: Phase 4 paused — discuss complete, entry gate cleared, ready to plan
2026-06-07 21:53:23 -04:00
Lucas Berger
9ee59065f1
docs(quick-260607-u8o): record SSE-over-Pangolin smoke test PASS
2026-06-07 21:51:38 -04:00
Lucas Berger
26655cf859
docs(260607-u8o): mark Gate 2 Part C SSE row + summary PASS
...
- Part C row C1: PENDING -> PASS (2026-06-08) with verbatim evidence
- Summary Part-C row: DEFERRED -> PASS (Phase 4 entry gate D-14 cleared)
2026-06-07 21:49:55 -04:00
Lucas Berger
dea6cb65a1
docs(260607-u8o): mark Phase 1 UAT item 4 (SSE smoke) PASS
...
- Record SSE-over-Pangolin smoke PASS (2026-06-08) with verbatim evidence
- Update Summary: passed 0->1, pending 4->3
2026-06-07 21:49:30 -04:00
Lucas Berger
92585d78db
docs(260607-u8o): pre-dispatch plan for record SSE smoke PASS
2026-06-07 21:48:25 -04:00
Lucas Berger
ecdb2317c8
docs(state): record phase 4 context session
2026-06-07 21:32:10 -04:00
Lucas Berger
05e1c9e556
docs(04): capture phase context
2026-06-07 21:32:09 -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
d71b15cd02
docs(03): Gate 2 complete for Phase 03 scope — D3 recurring write verified, recurring-series delete confirmed
...
Weekly recurring create writes valid RRULE and recurred in Fastmail; repeat-bound
+ per-occurrence-duration UX gaps backlogged (999.7/999.8). Deleting the recurring
series cleared master + all occurrences in one delete. Remaining deferred by
design: B5 (Android), C (SSE smoke — Phase 4 entry gate).
2026-06-07 19:19:57 -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
f656a41d1c
docs(03): Gate 2 substantially complete — A/B/D verified; only D3 quick confirm left
...
A2 (transparent SSO), B2/B3/B4 (iOS standalone + load-bearing standalone login),
D2 (all-day, after off-by-one fix) all PASS. Remaining: D3 weekly recurring
(quick). Deferred: B5 Android, C SSE (Phase 4 entry gate).
2026-06-07 18:40:01 -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
cdb097c5b3
docs(03): record Gate 2 live-verification results (2026-06-07)
...
A1 (OIDC login → app), D1/D4/D5 (create/edit/delete round-trips), D6 (412
conflict), and /health-over-tunnel verified live this session via operator
browser testing + outbox evidence. Remaining: A2/A3 + D2/D3 (desktop, quick),
B (iOS device, load-bearing), C (SSE — Phase 4 entry gate per D-14).
2026-06-07 18:02:53 -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
ae9fd9d790
docs(todo): redirect to sign-in on session timeout instead of hanging
...
Captured from Gate 2 live testing: when the OIDC session expires mid-use, the
app hangs the action and shows a generic 'couldn't load events' instead of
recognizing the signed-out state and redirecting to /api/login. Re-auth is
currently only wired to the initial /api/me failure (one-shot).
2026-06-07 17:49:20 -04:00
Lucas Berger
69bc57221b
docs(quick-260607-l6l): summary, state, handoff update + reminder-options todo
...
- 260607-l6l SUMMARY (executor + orchestrator review follow-ups)
- STATE.md: quick-task row + session continuity (edit/delete blocker resolved)
- HANDOFF.json: 3 write-path code bugs marked done; remaining = operator rebuild + Gate 2 human/device checkpoints
- new backlog todo: event-creation reminder/VALARM options
2026-06-07 15:39:43 -04:00
Lucas Berger
4e174e5b44
docs(260607-l6l): pre-dispatch plan for write-path correctness bugs
2026-06-07 15:18:38 -04:00
Lucas Berger
3ae7724df1
wip: phase 03 Gate 2 paused — live bring-up working; edit/delete join fix is the next blocker
2026-06-06 22:42:06 -04:00
Lucas Berger
bdbb9b8324
docs(debug): resolve write-path-event-bugs (timezone + calendar identity)
2026-06-06 22:32:10 -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
874f23de2f
docs(quick-260606-tv8): sign-in redirect fix — summary + state
2026-06-06 21:42:58 -04:00
Lucas Berger
b788ffc93e
docs(260606-tv8): pre-dispatch plan for sign-in redirect fix
2026-06-06 21:33:35 -04:00
Lucas Berger
ca87c023ef
wip: phase 03 paused — gap-closure done, docker bring-up awaiting auth+PWA decisions
2026-06-05 21:48:17 -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
ad181e7b2a
docs(03-11): complete outbox durability + etag fix plan summary (CR-04, CR-05, WR-02)
2026-06-05 21:08:07 -04:00
Lucas Berger
aefdde13bd
docs(03-10): complete outbox ICS builder wiring plan summary
...
CR-02, CR-03, WR-01, WR-04, WR-08, IN-01 closed.
2026-06-05 20:53:04 -04:00
Lucas Berger
1fc56f42d0
merge(03-12): EventForm edit/a11y gap closure (WR-03/05/07, IN-03)
2026-06-05 20:43:45 -04:00
Lucas Berger
a30a16b18a
docs(03-12): complete EventForm gap-closure plan — WR-03/05/07, IN-03/04, PWA assets
2026-06-05 20:43:12 -04:00
Lucas Berger
0d3883ee02
docs(03-09): complete plan 09 summary — schema rename + OIDC resolution
...
CR-01: eventFieldsSchema aligned to canonical title/start/end (PWA contract)
CR-06: resolveUserId async with upsertUser on all 5 write handlers
19 tests pass; tsc clean
2026-06-05 20:42:13 -04:00
Lucas Berger
941c4d621f
docs(03): revise gap plans 03-10/11/12 per checker feedback
2026-06-05 19:27:19 -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
628894c8c2
docs(03): add code review report
2026-06-05 19:11:12 -04:00
Lucas Berger
1f8775e7b6
docs(03-08): scaffold Gate 2 results + record production build status
...
- PWA build: CLEAN — 1818 modules, sw.js + workbox generated (build SHA 40dfbb4 )
- API build: CLEAN — tsc passed, no errors
- 03-GATE2-RESULTS.md created with deploy header (URL TBD), full Gate 2 checklist
(all rows marked PENDING — operator/device), and operator-setup section covering:
Authelia OIDC client registration, OIDC_AUTH_EXTERNAL_URL, Pangolin/Newt Mode A rig,
DB schema push, and /health tunnel verification
2026-06-05 18:51:37 -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
0c10f9a6d3
docs(03): track follow-up to adopt drizzle generate+migrate workflow
2026-06-05 17:42:58 -04:00
Lucas Berger
a487569c7e
docs(03-01): complete foundation-scaffold plan
2026-06-05 17:41:41 -04:00
Lucas Berger
93302cf942
docs(03): finalize phase plan (8 plans, verified)
2026-06-05 17:08:16 -04:00
Lucas Berger
9dd08d28d1
docs(03): create phase plan (8 plans, 5 waves)
2026-06-05 16:57:01 -04:00
Lucas Berger
6f5110266d
docs(03): UI design contract
...
Establishes Phase 3 visual and interaction contract for event write-back
(EventForm, SyncStateToast, DeleteConfirmationDialog, calendar picker) and
PWA install surfaces (iOS A2HS walkthrough, Android beforeinstallprompt).
Inherits Phase 2 token layer in full; activates --color-destructive for
delete actions.
2026-06-05 16:39:15 -04:00
Lucas Berger
7b0463d25e
docs(03): add research + validation strategy
2026-06-05 16:33:30 -04:00
Lucas Berger
364b6e68b0
docs(03): research phase domain
2026-06-05 16:32:38 -04:00
Lucas Berger
46cd35e4de
docs(state): record phase 3 context session
2026-06-05 16:17:26 -04:00
Lucas Berger
e579a6870a
docs(03): capture phase context
2026-06-05 16:17:26 -04:00