98 lines
3.9 KiB
Markdown
98 lines
3.9 KiB
Markdown
---
|
||
gsd_state_version: 1.0
|
||
milestone: v1.0
|
||
milestone_name: milestone
|
||
status: executing
|
||
stopped_at: Phase 2 fully planned (5 plans / 4 waves); proceeding to execute
|
||
last_updated: "2026-06-05T13:23:49.182Z"
|
||
last_activity: 2026-06-05 -- Phase 02 execution started
|
||
progress:
|
||
total_phases: 6
|
||
completed_phases: 1
|
||
total_plans: 9
|
||
completed_plans: 4
|
||
percent: 17
|
||
---
|
||
|
||
# Project State
|
||
|
||
## Project Reference
|
||
|
||
See: .planning/PROJECT.md (updated 2026-06-03)
|
||
|
||
**Core value:** One color-coded family calendar (shared + personal) and shared lists from a single low-friction PWA — cross-ecosystem, no app store
|
||
**Current focus:** Phase 02 — calendar-display
|
||
|
||
## Current Position
|
||
|
||
Phase: 02 (calendar-display) — EXECUTING
|
||
Plan: 1 of 5
|
||
Status: Executing Phase 02
|
||
Last activity: 2026-06-05 -- Phase 02 execution started
|
||
|
||
Progress: [██░░░░░░░░] 20% (Phase 1 of 5 complete)
|
||
|
||
## Performance Metrics
|
||
|
||
**Velocity:**
|
||
|
||
- Total plans completed: 0
|
||
- Average duration: -
|
||
- Total execution time: 0 hours
|
||
|
||
**By Phase:**
|
||
|
||
| Phase | Plans | Total | Avg/Plan |
|
||
|-------|-------|-------|----------|
|
||
| - | - | - | - |
|
||
|
||
**Recent Trend:**
|
||
|
||
- Last 5 plans: -
|
||
- Trend: -
|
||
|
||
*Updated after each plan completion*
|
||
|
||
## Accumulated Context
|
||
|
||
### Decisions
|
||
|
||
Decisions are logged in PROJECT.md Key Decisions table.
|
||
Recent decisions affecting current work:
|
||
|
||
- CAL-08 RESOLVED → GO (Phase 1): per-member Fastmail app password reaches all of that account's calendars; no cross-account ACL needed. Unified view stands; no shared-only fallback. See CAL-08-DECISION.md.
|
||
- D-14 (2026-06-04): Phase 1 Gate 2 (live Authelia/Pangolin) deferred. SSE-over-Pangolin smoke = hard gate before Phase 4; live AUTH smoke incl. iOS standalone-PWA folded into Phase 3. Phases 2–3 build behind a dev-auth bypass. Tracked in 01-HUMAN-UAT.md + docs/deployment.md.
|
||
- D-15 (2026-06-04): Validate real topology via local Newt connector + test subdomain through Pangolin (Mode A), not an Unraid deploy; Unraid reserved for go-live.
|
||
- CalDAV locked: Fastmail does not expose calendars over JMAP. CalDAV via tsdav is the only protocol. No reconsideration.
|
||
- Identity: Use oidc_iss + oidc_sub as stable composite key. Never email.
|
||
- Real-time transport: Prefer SSE over WebSocket (proxy-resilient through Pangolin). SSE pass-through STILL UNVERIFIED — gate before Phase 4 (D-14).
|
||
- Recurring events: Create + display only in v1 (CALDAV:expand on server side). Single-occurrence edit deferred to v1.x.
|
||
|
||
### Pending Todos
|
||
|
||
None yet.
|
||
|
||
### Blockers/Concerns
|
||
|
||
- ~~Phase 1: Personal-calendar CalDAV ACL~~ RESOLVED → CAL-08 GO (per-member app password; no cross-account ACL).
|
||
- Phase 4 ENTRY GATE: Pangolin SSE pass-through (issue #1034) still unverified — deferred from Phase 1 Gate 2 (D-14). Must pass the 5-min SSE smoke (docs/deployment.md) before building live sync.
|
||
- Phase 3: iOS standalone-PWA + Authelia login is load-bearing for the wife and is the first real external auth test (carried Gate 2 item, D-14). Also: iOS install guide is load-bearing — she gets no push notifications if she does not install the PWA.
|
||
- Phase 2/3 dev: build behind a documented dev-auth bypass until Gate 2 deploy (D-14).
|
||
- Phase 5: iOS push subscriptions silently revoked after 3 silent pushes. Subscription health-check and event.waitUntil() are mandatory from day one.
|
||
|
||
## Deferred Items
|
||
|
||
| Category | Item | Status | Deferred At |
|
||
|----------|------|--------|-------------|
|
||
| Calendar | Single-occurrence recurring edit (RECURRENCE-ID) | v1.x | Roadmap |
|
||
| Calendar | "This and following" recurring edit | v1.x | Roadmap |
|
||
| Calendar | Apple Calendar native subscribe URL docs | v1.x | Roadmap |
|
||
| Calendar | Secondary timezone display toggle | v1.x | Roadmap |
|
||
| Display | Wall-display / kiosk dashboard | v2 | PROJECT.md |
|
||
|
||
## Session Continuity
|
||
|
||
Last session: 2026-06-05 (resumed)
|
||
Stopped at: Phase 2 fully planned (5 plans / 4 waves); proceeding to execute
|
||
Resume file: (HANDOFF.json consumed) — next: /gsd-execute-phase 2
|