Commit Graph
64 Commits
Author SHA1 Message Date
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
Lucas Berger cd71b2bbe2 docs(phase-02): record follow-up todos (dev-run docs, traceability, DST spot-check) 2026-06-05 16:01:46 -04:00
Lucas Berger edf9649a21 docs(phase-02): complete phase — mark roadmap + requirements traceability 2026-06-05 16:01:15 -04:00
Lucas Berger 45b4c40c12 docs(phase-02): evolve PROJECT.md + STATE after phase completion 2026-06-05 16:01:04 -04:00
Lucas Berger b794785e09 test(02): human UAT approved — all 4 success criteria; verification passed 2026-06-05 16:00:27 -04:00
Lucas Berger 11595e7924 docs(02-05): complete plan 05 autonomous tasks — SUMMARY.md 2026-06-05 10:59:31 -04:00
Lucas Berger 00a4e66a8d docs(phase-02): update tracking after wave 3 2026-06-05 10:44:57 -04:00
Lucas Berger 7b32bc1456 docs(02-04): complete CalendarShell plan — SUMMARY.md 2026-06-05 10:44:04 -04:00
Lucas Berger dabe2ccd57 docs(phase-02): record D-16 (shared calendar on primary FM account) + defer is_shared marking 2026-06-05 10:34:22 -04:00
Lucas Berger bfddcb1da2 docs(phase-02): update tracking after wave 2 2026-06-05 10:33:53 -04:00
Lucas Berger 010ef78230 docs(02-02): complete windowed events + expansion plan
- SUMMARY.md created with task outcomes, deviations, self-check
- Task 3 deferral documented (shared calendar marking pending operator setup)
2026-06-05 10:32:30 -04:00
Lucas Berger 5435df6bbe docs(02-03): complete plan 03 summary — token layer, calendar config, hydration, store 2026-06-05 09:49:39 -04:00
Lucas Berger 6dc5d77f60 docs(phase-02): update tracking after wave 1 2026-06-05 09:38:23 -04:00
Lucas Berger 2d75b2b73b docs(02-01): complete plan 01 — schema columns, test harness, dev-auth bypass summary 2026-06-05 09:35:53 -04:00
Lucas Berger 62ebb1f9d4 docs(phase-02): begin execution — consume handoff, advance state 2026-06-05 09:24:49 -04:00
Lucas Berger 81d5c61aa5 wip: calendar-display paused — planned, not executed (0/5 plans) 2026-06-04 15:29:39 -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
Lucas Berger b842955612 docs(02): create calendar-display phase plan (5 plans, 4 waves) 2026-06-04 14:56:57 -04:00
Lucas Berger 5e14413024 docs(02): add pattern map 2026-06-04 14:47:28 -04:00
Lucas Berger a707f8d9ca docs(02): add research and validation strategy 2026-06-04 14:44:14 -04:00
Lucas Berger e9fcd7a372 docs(02): research calendar display phase 2026-06-04 14:43:23 -04:00
Lucas Berger 5b98fc097d docs(state): record phase 2 UI-SPEC session 2026-06-04 14:24:20 -04:00
Lucas Berger f1604b5057 docs(02): UI design contract 2026-06-04 14:24:20 -04:00
Lucas Berger 79a18b9ea2 docs(02): add UI design contract for calendar display phase
Specifies the token-layer architecture, Schedule-X as the rendering
library (all four views, CSS-var theming, per-calendar color), per-member
event colors, shared-family rose (#F25C7A), spacing/typography/breakpoints,
component inventory, and copywriting contract for Phase 2.
2026-06-04 14:21:57 -04:00
Lucas Berger 7d65ef0fa9 docs(state): record phase 2 context session 2026-06-04 14:14:08 -04:00
Lucas Berger dbec9b510c docs(02): capture phase context 2026-06-04 14:14:07 -04:00
Lucas Berger 6e74b3fc05 docs: capture D-14/D-15 (Gate 2 deferral + local-Newt test rig) + deployment runbook
- docs/deployment.md: operator runbook — Mode A (local Newt test rig) vs Mode B (Unraid
  prod), Authelia client block, env reference, Pangolin SSE idle-timeout note, Gate 2 checklist.
- ROADMAP: Phase 1 verification-status note (Gate 1 done, Gate 2 deferred); Phase 3 gains live
  AUTH + iOS standalone-PWA criterion; Phase 4 gains hard SSE-smoke entry gate (#1034).
- PROJECT.md: D-14 (Gate 2 deferral split) + D-15 (local Newt rig); CAL-08 marked validated.
- STATE: decisions/blockers updated to reflect deferral and dev-auth-bypass approach.
2026-06-04 11:55:31 -04:00
Lucas Berger 5bed2228b7 test(01): verification (human_needed, 11/13) + persist Gate 2 human-UAT
Code verified against codebase, 24 tests pass, CAL-01 + CAL-08 proven live.
AUTH-01/02/03 live login + SSE-over-Pangolin smoke test require operator infra —
tracked as 01-HUMAN-UAT.md (status: partial).
2026-06-04 11:44:52 -04:00
Lucas Berger fe8d5c8e4b docs(phase-01): mark 01-04 code complete after wave 3 2026-06-04 11:40:00 -04:00
Lucas Berger 0b074cd568 docs(01-04): record CAL-08 GO decision — broker read path proven live
Live spike against me@lucasberger.ca: one app password enumerated both account
calendars (PROPFIND), and a REPORT fetched + cached 503 real events into MariaDB
with correct D-13 timed/all-day handling (CAL-01). Per-member app-password model
(D-09) validated; no cross-account ACL needed; no fallback required. Gate 2 (live
Authelia/Pangolin login + SSE smoke test) remains pending operator action.
2026-06-04 11:39:44 -04:00
Lucas Berger 22a0f05170 docs(01-04): complete integration+gate plan summary; add CAL-08 decision template
- 01-04-SUMMARY.md: code-complete; Task 1 committed (48f90ce); Tasks 2+3 are live-gate checkpoints with exact human-action steps
- CAL-08-DECISION.md: template for human to fill in after running apps/api/src/broker/spike.ts against real Fastmail credentials
2026-06-04 11:18:04 -04:00
Lucas Berger d2d8333bf8 docs(phase-01): update tracking after wave 2 (01-02 OIDC, 01-03 broker) 2026-06-04 11:10:44 -04:00
Lucas Berger 191cea70cc docs(01-03): complete CalDAV broker slice plan summary
- covers all 3 tasks: AES-256-GCM crypto, broker client/sync/events, ctag poller
- documents D-13 dtstart split decision and ctag null-defence pattern
- notes live Fastmail integration + personal-calendar ACL deferred to plan 04
2026-06-04 11:10:02 -04:00
Lucas Berger 3bfffd60ae docs(01-02): complete OIDC auth slice plan summary 2026-06-04 10:24:18 -04:00
Lucas Berger ee4c71fa46 docs(01-01): clear Task 3 checkpoint, mark plan complete
Stack verified live (/health green, 4 tables pushed). Record Docker deviation in
SUMMARY, mark 01-01 complete in ROADMAP, clean up paused-setup handoff files.
2026-06-04 10:17:21 -04:00