docs: start milestone v1.2 Polish & Task Management

Define requirements (9 total: task delete, creation UX, cleanup),
create roadmap (phases 8-10), and update PROJECT.md with new
milestone goals. Room cover photos dropped from scope.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-18 20:24:12 +01:00
parent 1f59e2ef8e
commit b00ed8fac1
4 changed files with 179 additions and 30 deletions

View File

@@ -4,6 +4,7 @@
-**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-10 (in progress)
## Phases
@@ -30,6 +31,46 @@ See `milestones/v1.1-ROADMAP.md` for full phase details.
</details>
**v1.2 Polish & Task Management (Phases 8-10):**
- [ ] **Phase 8: Task Delete** - Add smart delete action to tasks — hard delete if never completed, soft delete (deactivate) if completed at least once
- [ ] **Phase 9: Task Creation UX** - Rework the frequency picker from flat preset chips to an intuitive "Every N units" interface with quick-select shortcuts
- [ ] **Phase 10: Dead Code Cleanup** - Remove orphaned v1.0 daily plan files and verify no regressions
## 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
**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
**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
**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
## Progress
| Phase | Milestone | Plans Complete | Status | Completed |
@@ -41,3 +82,6 @@ See `milestones/v1.1-ROADMAP.md` for full phase details.
| 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 | - | Planned | - |
| 9. Task Creation UX | v1.2 | - | Planned | - |
| 10. Dead Code Cleanup | v1.2 | - | Planned | - |