wip: calendar-display paused — planned, not executed (0/5 plans)
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"version": "1.0",
|
||||
"timestamp": "2026-06-04T19:28:41.530Z",
|
||||
"phase": "02",
|
||||
"phase_name": "calendar-display",
|
||||
"phase_dir": ".planning/phases/02-calendar-display",
|
||||
"plan": 1,
|
||||
"task": 0,
|
||||
"total_tasks": 5,
|
||||
"status": "paused",
|
||||
"stage": "planned-not-executed",
|
||||
"completed_tasks": [
|
||||
{"id": "research", "name": "Phase 2 research (RESEARCH.md) + Nyquist VALIDATION.md", "status": "done", "commit": "a707f8d"},
|
||||
{"id": "patterns", "name": "Pattern map (PATTERNS.md) — 23 files, 19 analogs", "status": "done", "commit": "5e14413"},
|
||||
{"id": "plans", "name": "5 PLAN.md files in 4 waves; plan-checker PASSED on iteration 2", "status": "done", "commit": "fc4cc2c"},
|
||||
{"id": "backlog", "name": "Backlog item 999.1 — treat Fastmail as a calendar provider, support adding more", "status": "done", "commit": "8bd52c6"},
|
||||
{"id": "config", "name": "GSD config: adaptive profile, TDD on, per-milestone branching, auto-advance on; saved as global defaults", "status": "done", "commit": "uncommitted"}
|
||||
],
|
||||
"remaining_tasks": [
|
||||
{"id": "execute", "name": "Execute Phase 2 — run all 5 plans across 4 waves", "status": "not_started"}
|
||||
],
|
||||
"blockers": [],
|
||||
"human_actions_pending": [
|
||||
{"action": "Wave 2 checkpoint: designate the shared-family calendar via UPDATE calendars SET is_shared=1 WHERE id=<chosen>", "context": "Plan 02-02 Task 3 is autonomous:false — which calendar is 'shared-family' cannot be derived from data; the broker account exposes multiple calendars", "blocking": true},
|
||||
{"action": "Wave 4 checkpoint: visual + functional verification of the 4 success criteria (color coding, 4 views, DST recurrence, all-day no-shift)", "context": "Plan 02-05 Task 3 is autonomous:false — human-verify of the rendered calendar", "blocking": true}
|
||||
],
|
||||
"decisions": [
|
||||
{"decision": "Server-side recurrence expansion via ICAL.RecurExpansion with VTIMEZONE registered before expansion", "rationale": "rrule alone needs manual EXDATE handling; VTIMEZONE registration is mandatory or DST events show wrong wall-clock time", "phase": "02"},
|
||||
{"decision": "Schedule-X calendarId routed by occ.isShared ? 'shared' : String(occ.ownerUserId), never String(occ.calendarId)", "rationale": "calendars config is keyed by userId; using DB calendar-row id breaks color routing for members owning multiple calendars", "phase": "02"},
|
||||
{"decision": "Resolve shared-calendar identity via a calendars.isShared column + operator checkpoint", "rationale": "Cannot derive 'shared' deterministically from Fastmail data; chose explicit marking over fragile displayName matching", "phase": "02"},
|
||||
{"decision": "Adopted Adaptive model profile, TDD mode on, per-milestone git branching, auto-advance on; saved as global defaults", "rationale": "User preference set via /gsd-config this session", "phase": "global"}
|
||||
],
|
||||
"uncommitted_files": [".planning/config.json"],
|
||||
"next_action": "Run /gsd-execute-phase 2 to execute the 5 verified plans. NOTE: auto-advance is now ON — execution may chain stages; interrupt if you want to inspect output between waves.",
|
||||
"context_notes": "Phase 2 (calendar-display) is fully planned and verified (plan-checker PASSED iteration 2). MVP vertical-slice mode: Wave 1 foundation (schema has_rrule/is_shared + BLOCKING drizzle-kit push + dev-auth bypass + PWA vitest harness + ICS fixtures + RED stubs), Wave 2 backend slice ∥ frontend foundation, Wave 3 first real vertical slice (CalendarShell renders real events, 4 views), Wave 4 UX polish + human verify. Phase 1 already shipped (apps/api + apps/pwa monorepo). TDD was turned on AFTER Phase 2 was planned, so Phase 2 plans do NOT carry TDD gates — only Phase 3+ will. Critical correctness constraints (DST/VTIMEZONE, all-day no-shift, calendarId routing, firstDayOfWeek 0->7, has_rrule pre-filter) are baked into the plans."
|
||||
}
|
||||
Reference in New Issue
Block a user