diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index f460c48..04e158e 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -60,22 +60,22 @@ Which phases cover which requirements. Updated during roadmap creation. | Requirement | Phase | Status | |-------------|-------|--------| -| CAL-01 | — | Pending | -| CAL-02 | — | Pending | -| CAL-03 | — | Pending | -| CAL-04 | — | Pending | -| CAL-05 | — | Pending | -| HIST-01 | — | Pending | -| HIST-02 | — | Pending | -| SORT-01 | — | Pending | -| SORT-02 | — | Pending | -| SORT-03 | — | Pending | +| CAL-01 | Phase 5 | Pending | +| CAL-02 | Phase 5 | Pending | +| CAL-03 | Phase 5 | Pending | +| CAL-04 | Phase 5 | Pending | +| CAL-05 | Phase 5 | Pending | +| HIST-01 | Phase 6 | Pending | +| HIST-02 | Phase 6 | Pending | +| SORT-01 | Phase 7 | Pending | +| SORT-02 | Phase 7 | Pending | +| SORT-03 | Phase 7 | Pending | **Coverage:** - v1.1 requirements: 10 total -- Mapped to phases: 0 -- Unmapped: 10 ⚠️ +- Mapped to phases: 10 +- Unmapped: 0 --- *Requirements defined: 2026-03-16* -*Last updated: 2026-03-16 after initial definition* +*Last updated: 2026-03-16 after roadmap creation (phases 5-7)* diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 8aa747c..2dc09f0 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -3,6 +3,7 @@ ## Milestones - **v1.0 MVP** — Phases 1-4 (shipped 2026-03-16) +- **v1.1 Calendar & Polish** — Phases 5-7 (in progress) ## Phases @@ -18,6 +19,47 @@ See `milestones/v1.0-ROADMAP.md` for full phase details. +**v1.1 Calendar & Polish (Phases 5-7):** + +- [ ] **Phase 5: Calendar Strip** - Replace the stacked daily plan home screen with a horizontal scrollable date-strip and day-task list +- [ ] **Phase 6: Task History** - Record every task completion with a timestamp and expose a per-task history view +- [ ] **Phase 7: Task Sorting** - Add alphabetical, interval, and effort sort options to task lists + +## Phase Details + +### Phase 5: Calendar Strip +**Goal**: Users navigate their tasks through a horizontal date-strip that replaces the stacked daily plan, seeing today's tasks by default and any day's tasks on tap +**Depends on**: Phase 4 (v1.0 shipped — all data layer and scheduling in place) +**Requirements**: CAL-01, CAL-02, CAL-03, CAL-04, CAL-05 +**Success Criteria** (what must be TRUE): + 1. The home screen shows a horizontal scrollable strip of day cards, each displaying the German day abbreviation (Mo, Di, Mi...) and the date number + 2. Tapping any day card updates the task list below the strip to show that day's tasks, with the selected card visually highlighted + 3. On app launch the strip auto-scrolls so today's card is centered and selected by default + 4. When two adjacent day cards span a month boundary, a subtle color shift or divider makes the boundary visible without extra chrome + 5. Tasks that were not completed on their due date appear in subsequent days' lists with a red/orange accent marking them as overdue +**Plans**: TBD + +### Phase 6: Task History +**Goal**: Users can see exactly when each task was completed in the past, building trust that the scheduling loop is working correctly +**Depends on**: Phase 5 +**Requirements**: HIST-01, HIST-02 +**Success Criteria** (what must be TRUE): + 1. Every task completion (tap done in any view) is recorded in the database with a precise timestamp — data persists across app restarts + 2. From a task's detail or context menu the user can open a history view listing all past completion dates for that task in reverse-chronological order + 3. The history view shows a meaningful empty state if the task has never been completed +**Plans**: TBD + +### Phase 7: Task Sorting +**Goal**: Users can reorder task lists by the dimension most useful to them — name, how often the task recurs, or how much effort it requires +**Depends on**: Phase 5 +**Requirements**: SORT-01, SORT-02, SORT-03 +**Success Criteria** (what must be TRUE): + 1. A sort control (dropdown, segmented button, or similar) is visible on task list screens and persists the chosen sort across app restarts + 2. Selecting alphabetical sort orders tasks A-Z by name within the visible list + 3. Selecting interval sort orders tasks from most-frequent (daily) to least-frequent (yearly/custom) intervals + 4. Selecting effort sort orders tasks from lowest effort to highest effort level +**Plans**: TBD + ## Progress | Phase | Milestone | Plans Complete | Status | Completed | @@ -26,3 +68,6 @@ See `milestones/v1.0-ROADMAP.md` for full phase details. | 2. Rooms and Tasks | v1.0 | 5/5 | Complete | 2026-03-15 | | 3. Daily Plan and Cleanliness | v1.0 | 3/3 | Complete | 2026-03-16 | | 4. Notifications | v1.0 | 3/3 | Complete | 2026-03-16 | +| 5. Calendar Strip | v1.1 | 0/? | Not started | - | +| 6. Task History | v1.1 | 0/? | Not started | - | +| 7. Task Sorting | v1.1 | 0/? | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index 9acf98f..e3335ee 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -2,12 +2,12 @@ gsd_state_version: 1.0 milestone: v1.1 milestone_name: Calendar & Polish -status: planning -stopped_at: Defining requirements +status: ready +stopped_at: Roadmap created — ready for Phase 5 last_updated: "2026-03-16T21:00:00.000Z" -last_activity: 2026-03-16 — Milestone v1.1 started +last_activity: 2026-03-16 — Roadmap created for v1.1 (phases 5-7) progress: - total_phases: 0 + total_phases: 3 completed_phases: 0 total_plans: 0 completed_plans: 0 @@ -21,20 +21,38 @@ progress: See: .planning/PROJECT.md (updated 2026-03-16) **Core value:** Users can see what needs doing today, mark it done, and trust the app to schedule the next occurrence — without thinking about it. -**Current focus:** v1.1 Calendar & Polish +**Current focus:** v1.1 Calendar & Polish — Phase 5: Calendar Strip ## Current Position -Phase: Not started (defining requirements) -Plan: — -Status: Defining requirements -Last activity: 2026-03-16 — Milestone v1.1 started +Phase: 5 — Calendar Strip +Plan: Not started +Status: Ready to plan Phase 5 +Last activity: 2026-03-16 — Roadmap for v1.1 written (phases 5-7) + +``` +Progress: [ ░░░░░░░░░░░░░░░░░░░░ ] 0% (0/3 phases) +``` + +## Performance Metrics + +| Metric | v1.0 | v1.1 | +|--------|------|------| +| Phases | 4 | 3 planned | +| Plans | 13 | TBD | +| LOC (lib) | 7,773 | TBD | +| Tests | 89 | TBD | ## Accumulated Context ### Decisions -All v1.0 decisions are recorded in PROJECT.md Key Decisions table with outcomes. +| Decision | Rationale | +|----------|-----------| +| Calendar strip replaces daily plan home screen | v1.1 goal per PROJECT.md — not additive, the stacked overdue/today/upcoming sections are removed | +| Phase 5 before Phase 6 and 7 | Calendar strip is the primary UI surface; history and sorting operate within or alongside it | +| Phase 6 and 7 both depend on Phase 5 only | History and sorting are independent of each other — could execute in either order | +| HIST-01 and HIST-02 in same phase | Data layer (HIST-01) is only 1-2 DAO additions; grouping with the UI (HIST-02) keeps the phase coherent | ### Pending Todos @@ -42,10 +60,12 @@ None. ### Blockers/Concerns -None. +- The existing HomeScreen (daily plan with overdue/today/upcoming) will be replaced entirely in Phase 5. Verify no other screen references the daily plan provider before deleting it, or migrate references. +- CAL-05 (overdue carry-over with color accent) requires a query that returns tasks by their original due date relative to a selected day — confirm the existing DailyPlanDao can be adapted or a new CalendarDao is needed. ## Session Continuity Last session: 2026-03-16 -Stopped at: Milestone v1.1 started +Stopped at: Roadmap created, ready for Phase 5 planning Resume file: None +Next action: `/gsd:plan-phase 5`