# Roadmap: HouseHoldKeaper

## Milestones

- ✅ **v1.0 MVP** — Phases 1-4 (shipped 2026-03-16)
- ✅ **v1.1 Calendar & Polish** — Phases 5-7 (shipped 2026-03-16)
- **v1.2 Polish & Task Management** — Phases 8-11 (in progress)

## Phases

<details>
<summary>✅ v1.0 MVP (Phases 1-4) — SHIPPED 2026-03-16</summary>

- [x] Phase 1: Foundation (2/2 plans) — completed 2026-03-15
- [x] Phase 2: Rooms and Tasks (5/5 plans) — completed 2026-03-15
- [x] Phase 3: Daily Plan and Cleanliness (3/3 plans) — completed 2026-03-16
- [x] Phase 4: Notifications (3/3 plans) — completed 2026-03-16

See `milestones/v1.0-ROADMAP.md` for full phase details.

</details>

<details>
<summary>✅ v1.1 Calendar & Polish (Phases 5-7) — SHIPPED 2026-03-16</summary>

- [x] Phase 5: Calendar Strip (2/2 plans) — completed 2026-03-16
- [x] Phase 6: Task History (1/1 plans) — completed 2026-03-16
- [x] Phase 7: Task Sorting (2/2 plans) — completed 2026-03-16

See `milestones/v1.1-ROADMAP.md` for full phase details.

</details>

**v1.2 Polish & Task Management (Phases 8-11):**

- [x] **Phase 8: Task Delete** - Add smart delete action to tasks — hard delete if never completed, soft delete (deactivate) if completed at least once (completed 2026-03-18)
- [x] **Phase 9: Task Creation UX** - Rework the frequency picker from flat preset chips to an intuitive "Every N units" interface with quick-select shortcuts (completed 2026-03-18)
- [x] **Phase 10: Dead Code Cleanup** - Remove orphaned v1.0 daily plan files and verify no regressions (completed 2026-03-19)
- [x] **Phase 11: Tasks Management** - Allow task checking anytime and pre-populate recurring tasks within their interval window (completed 2026-04-03)

## Phase Details

### Phase 8: Task Delete
**Goal**: Users can remove tasks they no longer need, with smart preservation of completion history for future statistics
**Depends on**: Phase 7 (v1.1 shipped — calendar, history, and sorting all in place)
**Requirements**: DEL-01, DEL-02, DEL-03, DEL-04
**Plans:** 2/2 plans complete
Plans:
- [ ] 08-01-PLAN.md — Data layer: isActive column, schema migration, DAO filters and methods
- [ ] 08-02-PLAN.md — UI layer: delete button, confirmation dialog, smart delete provider
**Success Criteria** (what must be TRUE):
  1. The task edit form has a clearly visible delete action (button or icon)
  2. Deleting a task with zero completions removes it from the database entirely
  3. Deleting a task with one or more completions sets it to inactive/archived — the task disappears from all active views (calendar, room task lists) but its completion records remain in the database
  4. A confirmation dialog appears before any delete/archive action
  5. The tasks table has an `isActive` (or equivalent) column, with all existing tasks defaulting to active via migration

### Phase 9: Task Creation UX
**Goal**: Users can set any recurring frequency intuitively without hunting through a grid of preset chips — common frequencies are one tap away, custom intervals are freeform
**Depends on**: Phase 8
**Requirements**: TCX-01, TCX-02, TCX-03, TCX-04
**Plans:** 1/1 plans complete
Plans:
- [ ] 09-01-PLAN.md — Rework frequency picker: 4 shortcut chips + freeform "Every N units" picker
**Success Criteria** (what must be TRUE):
  1. The frequency section presents a primary "Every [N] [unit]" picker where users can type a number and select days/weeks/months
  2. Common frequencies (daily, weekly, biweekly, monthly) are available as quick-select shortcuts that populate the picker
  3. Any arbitrary interval is settable without a separate "Custom" mode — the picker is inherently freeform
  4. All existing interval types and calendar-anchored scheduling behavior continue to work correctly (monthly/quarterly/yearly anchor memory)
  5. Existing tasks load their current interval into the new picker correctly in edit mode

### Phase 10: Dead Code Cleanup
**Goal**: Remove orphaned v1.0 daily plan files that are no longer used after the calendar strip replacement, keeping the codebase clean
**Depends on**: Phase 8 (cleanup after feature work is done)
**Requirements**: CLN-01
**Plans:** 1/1 plans complete
Plans:
- [x] 10-01-PLAN.md — Delete 3 orphaned presentation files, remove DailyPlanState, verify zero regressions (completed 2026-03-19)
**Success Criteria** (what must be TRUE):
  1. daily_plan_providers.dart, daily_plan_task_row.dart, and progress_card.dart are deleted
  2. DailyPlanDao is preserved (still used by notification service)
  3. All 108+ tests pass after cleanup
  4. `dart analyze` reports zero issues

### Phase 11: Tasks Management - Allow task checking anytime and pre-populate recurring tasks
**Goal**: Users can complete tasks on any day regardless of schedule, and recurring tasks appear on all applicable days within their interval window — making the app feel like a consistent checklist rather than a rigid scheduler
**Depends on**: Phase 10
**Requirements**: TM-01, TM-02, TM-03, TM-04, TM-05
**Plans:** 2/2 plans complete
Plans:
- [x] 11-01-PLAN.md — Anytime completion: remove checkbox restrictions, recalculate nextDueDate from today on non-due-day completion
- [x] 11-02-PLAN.md — Pre-population: virtual task instances in provider layer, period-completion filtering, muted visual styling
**Success Criteria** (what must be TRUE):
  1. Checkboxes are always enabled on all calendar days (past, today, future) and in room task lists
  2. Completing a task on a non-due day recalculates nextDueDate from today, not the original due date
  3. A weekly task appears on all 7 days leading up to its due date
  4. A monthly task appears on all days within its current month interval
  5. Tasks already completed in the current interval period do not reappear as pre-populated
  6. Pre-populated tasks have a visually muted appearance (reduced opacity) compared to due-today tasks
  7. Overdue tasks retain their existing coral accent styling
  8. All tests pass and dart analyze reports zero issues

## Progress

| Phase | Milestone | Plans Complete | Status | Completed |
|-------|-----------|----------------|--------|-----------|
| 1. Foundation | v1.0 | 2/2 | Complete | 2026-03-15 |
| 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 | 2/2 | Complete | 2026-03-16 |
| 6. Task History | v1.1 | 1/1 | Complete | 2026-03-16 |
| 7. Task Sorting | v1.1 | 2/2 | Complete | 2026-03-16 |
| 8. Task Delete | v1.2 | 2/2 | Complete | 2026-03-18 |
| 9. Task Creation UX | v1.2 | 1/1 | Complete | 2026-03-18 |
| 10. Dead Code Cleanup | v1.2 | 1/1 | Complete | 2026-03-19 |
| 11. Tasks Management | v1.2 | 2/2 | Complete    | 2026-04-03 |
