docs(phase-02): complete phase — mark roadmap + requirements traceability

This commit is contained in:
Lucas Berger
2026-06-05 16:01:15 -04:00
parent 45b4c40c12
commit edf9649a21
2 changed files with 11 additions and 10 deletions
+7 -6
View File
@@ -18,12 +18,12 @@ Requirements for initial release. Each maps to roadmap phases.
### Calendar ### Calendar
- [ ] **CAL-01**: App reads the shared family Fastmail calendar via a CalDAV broker token and caches it locally (ctag polling) - [ ] **CAL-01**: App reads the shared family Fastmail calendar via a CalDAV broker token and caches it locally (ctag polling)
- [ ] **CAL-02**: User sees a unified, color-coded calendar that aggregates every accessible calendar into one view - [x] **CAL-02**: User sees a unified, color-coded calendar that aggregates every accessible calendar into one view
- [ ] **CAL-03**: User can switch between week, month, day, and agenda/list views - [x] **CAL-03**: User can switch between week, month, day, and agenda/list views
- [ ] **CAL-04**: User can create a timed or all-day event, written back to the correct Fastmail calendar - [ ] **CAL-04**: User can create a timed or all-day event, written back to the correct Fastmail calendar
- [ ] **CAL-05**: User can edit an existing event - [ ] **CAL-05**: User can edit an existing event
- [ ] **CAL-06**: User can delete an event - [ ] **CAL-06**: User can delete an event
- [ ] **CAL-07**: User can create a recurring event and see all its occurrences expanded correctly (single-occurrence editing deferred to v1.x) - [x] **CAL-07**: User can create a recurring event and see all its occurrences expanded correctly (single-occurrence editing deferred to v1.x)
- [ ] **CAL-08**: Each member's personal Fastmail calendar is overlaid into the unified view — *spike-gated in Phase 1*; if cross-account CalDAV sharing proves infeasible, v1 falls back to shared-family-only and this moves to v1.x - [ ] **CAL-08**: Each member's personal Fastmail calendar is overlaid into the unified view — *spike-gated in Phase 1*; if cross-account CalDAV sharing proves infeasible, v1 falls back to shared-family-only and this moves to v1.x
### Lists ### Lists
@@ -95,12 +95,12 @@ Explicitly excluded. Documented to prevent scope creep. Anti-features sourced fr
| AUTH-03 | Phase 1 | Pending | | AUTH-03 | Phase 1 | Pending |
| CAL-01 | Phase 1 | Pending | | CAL-01 | Phase 1 | Pending |
| CAL-08 | Phase 1 | Pending | | CAL-08 | Phase 1 | Pending |
| CAL-02 | Phase 2 | Pending | | CAL-02 | Phase 2 | Complete |
| CAL-03 | Phase 2 | Pending | | CAL-03 | Phase 2 | Complete |
| CAL-04 | Phase 3 | Pending | | CAL-04 | Phase 3 | Pending |
| CAL-05 | Phase 3 | Pending | | CAL-05 | Phase 3 | Pending |
| CAL-06 | Phase 3 | Pending | | CAL-06 | Phase 3 | Pending |
| CAL-07 | Phase 3 | Pending | | CAL-07 | Phase 3 | Complete |
| PWA-01 | Phase 3 | Pending | | PWA-01 | Phase 3 | Pending |
| PWA-02 | Phase 3 | Pending | | PWA-02 | Phase 3 | Pending |
| LIST-01 | Phase 4 | Pending | | LIST-01 | Phase 4 | Pending |
@@ -112,6 +112,7 @@ Explicitly excluded. Documented to prevent scope creep. Anti-features sourced fr
| NOTIF-03 | Phase 5 | Pending | | NOTIF-03 | Phase 5 | Pending |
**Coverage:** **Coverage:**
- v1 requirements: 20 total - v1 requirements: 20 total
- Mapped to phases: 20 - Mapped to phases: 20
- Unmapped: 0 ✓ - Unmapped: 0 ✓
+4 -4
View File
@@ -14,7 +14,7 @@ FamilySync is built in five phases, each delivering an end-to-end user-observabl
Decimal phases appear between their surrounding integers in numeric order. Decimal phases appear between their surrounding integers in numeric order.
- [x] **Phase 1: Foundation + Broker Spike** - Auth, Docker scaffold, CalDAV broker read path, and personal-calendar ACL spike (go/no-go gate) (completed 2026-06-04) - [x] **Phase 1: Foundation + Broker Spike** - Auth, Docker scaffold, CalDAV broker read path, and personal-calendar ACL spike (go/no-go gate) (completed 2026-06-04)
- [ ] **Phase 2: Calendar Display** - Read-only unified color-coded calendar (week/month/day/agenda) built on the confirmed broker - [x] **Phase 2: Calendar Display** - Read-only unified color-coded calendar (week/month/day/agenda) built on the confirmed broker (completed 2026-06-05)
- [ ] **Phase 3: Event Write-Back + PWA Install** - Full event CRUD written back to Fastmail, PWA manifest + service worker, guided iOS install flow - [ ] **Phase 3: Event Write-Back + PWA Install** - Full event CRUD written back to Fastmail, PWA manifest + service worker, guided iOS install flow
- [ ] **Phase 4: Shared Lists + Live Sync** - Named collaborative lists with item CRUD and real-time SSE co-edit sync - [ ] **Phase 4: Shared Lists + Live Sync** - Named collaborative lists with item CRUD and real-time SSE co-edit sync
- [ ] **Phase 5: Web Push Notifications** - VAPID push for event reminders, event changes, and list-change alerts - [ ] **Phase 5: Web Push Notifications** - VAPID push for event reminders, event changes, and list-change alerts
@@ -74,7 +74,7 @@ Plans:
**Wave 4** *(blocked on Wave 3 completion)* **Wave 4** *(blocked on Wave 3 completion)*
- [ ] 02-05-PLAN.md — UX completion: read-only EventDetailPopover + ColorLegend + nav/toolbar + skeleton/empty/error states + human visual verification - [x] 02-05-PLAN.md — UX completion: read-only EventDetailPopover + ColorLegend + nav/toolbar + skeleton/empty/error states + human visual verification
**UI hint**: yes **UI hint**: yes
@@ -136,7 +136,7 @@ Note: Phase 4 depends only on Phase 1 and can begin as soon as Phase 1 is comple
| Phase | Plans Complete | Status | Completed | | Phase | Plans Complete | Status | Completed |
|-------|----------------|--------|-----------| |-------|----------------|--------|-----------|
| 1. Foundation + Broker Spike | 4/4 | Complete | 2026-06-04 | | 1. Foundation + Broker Spike | 4/4 | Complete | 2026-06-04 |
| 2. Calendar Display | 4/5 | In Progress| | | 2. Calendar Display | 5/5 | Complete | 2026-06-05 |
| 3. Event Write-Back + PWA Install | 0/? | Not started | - | | 3. Event Write-Back + PWA Install | 0/? | Not started | - |
| 4. Shared Lists + Live Sync | 0/? | Not started | - | | 4. Shared Lists + Live Sync | 0/? | Not started | - |
| 5. Web Push Notifications | 0/? | Not started | - | | 5. Web Push Notifications | 0/? | Not started | - |
@@ -147,7 +147,7 @@ Note: Phase 4 depends only on Phase 1 and can begin as soon as Phase 1 is comple
**Goal:** [Captured for future planning] Abstract the calendar backend behind a provider interface so Fastmail/CalDAV is one implementation among potentially many. Shipping with a single provider is fine, but the broker, sync, and event-expansion layers should be structured so additional providers (e.g. other CalDAV hosts, Google Calendar, generic ICS feeds) can be added without rework. Captures the "provider" seam as an explicit architectural concern. **Goal:** [Captured for future planning] Abstract the calendar backend behind a provider interface so Fastmail/CalDAV is one implementation among potentially many. Shipping with a single provider is fine, but the broker, sync, and event-expansion layers should be structured so additional providers (e.g. other CalDAV hosts, Google Calendar, generic ICS feeds) can be added without rework. Captures the "provider" seam as an explicit architectural concern.
**Requirements:** TBD **Requirements:** TBD
**Plans:** 4/5 plans executed **Plans:** 5/5 plans complete
Plans: Plans: