chore: complete v1.2 milestone — archive roadmap, requirements, update retrospective
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
113
.planning/milestones/v1.2-REQUIREMENTS.md
Normal file
113
.planning/milestones/v1.2-REQUIREMENTS.md
Normal file
@@ -0,0 +1,113 @@
|
||||
# Requirements Archive: v1.2 Polish & Task Management
|
||||
|
||||
**Archived:** 2026-04-03
|
||||
**Status:** SHIPPED
|
||||
|
||||
For current requirements, see `.planning/REQUIREMENTS.md`.
|
||||
|
||||
---
|
||||
|
||||
# Requirements: HouseHoldKeaper
|
||||
|
||||
**Defined:** 2026-03-18
|
||||
**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.
|
||||
|
||||
## v1.2 Requirements
|
||||
|
||||
Requirements for milestone v1.2 Polish & Task Management. Each maps to roadmap phases.
|
||||
|
||||
### Task Delete
|
||||
|
||||
- [x] **DEL-01**: User can delete a task from the task edit form via a clearly visible delete action
|
||||
- [x] **DEL-02**: Deleting a task that has never been completed removes it from the database entirely (hard delete)
|
||||
- [x] **DEL-03**: Deleting a task that has been completed at least once deactivates it instead (soft delete) — task is hidden from all active views but preserved in the database for future statistics
|
||||
- [x] **DEL-04**: User sees a confirmation before deleting/deactivating a task
|
||||
|
||||
### Task Creation UX
|
||||
|
||||
- [x] **TCX-01**: Frequency picker presents an intuitive "Every [N] [unit]" interface instead of a flat grid of preset chips
|
||||
- [x] **TCX-02**: Common frequencies (daily, weekly, biweekly, monthly) are available as quick-select shortcuts without scrolling through all options
|
||||
- [x] **TCX-03**: User can set any arbitrary interval (e.g., every 5 days, every 3 weeks, every 2 months) without needing to select "Custom" first
|
||||
- [x] **TCX-04**: The frequency picker preserves all existing interval types and scheduling behavior (calendar-anchored monthly/quarterly/yearly with anchor memory)
|
||||
|
||||
### Cleanup
|
||||
|
||||
- [x] **CLN-01**: Dead code from v1.0 daily plan (daily_plan_providers.dart, daily_plan_task_row.dart, progress_card.dart) is removed without breaking notification service (DailyPlanDao must be preserved)
|
||||
|
||||
### Tasks Management (Phase 11)
|
||||
|
||||
- [x] **TM-01**: User can check off (complete) a task on any calendar day — checkboxes are never disabled for future dates
|
||||
- [x] **TM-02**: When completing a task on a non-due day, nextDueDate is recalculated from today (not from the original due date)
|
||||
- [x] **TM-03**: Recurring tasks are pre-populated on all applicable days within their current interval window (e.g., a weekly task shows every day in the 7-day window leading up to its due date)
|
||||
- [x] **TM-04**: Pre-populated tasks that have already been completed in the current interval period are hidden from the calendar view
|
||||
- [x] **TM-05**: Pre-populated tasks not yet due have a muted visual distinction (reduced opacity) compared to due-today and overdue tasks
|
||||
|
||||
## Future Requirements
|
||||
|
||||
Deferred to future release. Tracked but not in current roadmap.
|
||||
|
||||
### Data
|
||||
|
||||
- **DATA-01**: User can export all data as JSON
|
||||
- **DATA-02**: User can import data from JSON backup
|
||||
|
||||
### Localization
|
||||
|
||||
- **LOC-01**: User can switch UI language to English
|
||||
|
||||
### v2.0
|
||||
|
||||
- **ONB-01**: Onboarding wizard for first-time users
|
||||
- **ACC-01**: User can pick a custom accent color for the app theme
|
||||
- **STAT-01**: Statistics & insights dashboard showing task completion trends
|
||||
|
||||
## Out of Scope
|
||||
|
||||
Explicitly excluded. Documented to prevent scope creep.
|
||||
|
||||
| Feature | Reason |
|
||||
|---------|--------|
|
||||
| Room cover photos from camera or gallery | Dropped — clean design system preferred |
|
||||
| User accounts & cloud sync | Local-only by design |
|
||||
| Leaderboards & points ranking | Not a gamification app |
|
||||
| Subscription model / in-app purchases | Free forever |
|
||||
| Family profile sharing across devices | Single-device app |
|
||||
| Server-side infrastructure | Zero backend |
|
||||
| AI-powered task suggestions | Overkill for curated templates |
|
||||
| Per-task push notifications | Daily summary is more effective |
|
||||
| Firebase or any Google cloud services | Contradicts local-first design |
|
||||
| Real-time cross-device sync | Potential future self-hosted feature |
|
||||
| Tablet-optimized layout | Future enhancement |
|
||||
| Weekly/monthly calendar views | Date strip is sufficient for task app |
|
||||
| Drag tasks between days | Tasks auto-schedule based on frequency |
|
||||
| Calendar sync (Google/Apple) | Contradicts local-first, offline-only design |
|
||||
|
||||
## Traceability
|
||||
|
||||
Which phases cover which requirements. Updated during roadmap creation.
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| DEL-01 | Phase 8 | Complete |
|
||||
| DEL-02 | Phase 8 | Complete |
|
||||
| DEL-03 | Phase 8 | Complete |
|
||||
| DEL-04 | Phase 8 | Complete |
|
||||
| TCX-01 | Phase 9 | Complete |
|
||||
| TCX-02 | Phase 9 | Complete |
|
||||
| TCX-03 | Phase 9 | Complete |
|
||||
| TCX-04 | Phase 9 | Complete |
|
||||
| CLN-01 | Phase 10 | Complete |
|
||||
| TM-01 | Phase 11 | Planned |
|
||||
| TM-02 | Phase 11 | Planned |
|
||||
| TM-03 | Phase 11 | Planned |
|
||||
| TM-04 | Phase 11 | Planned |
|
||||
| TM-05 | Phase 11 | Planned |
|
||||
|
||||
**Coverage:**
|
||||
- v1.2 requirements: 14 total
|
||||
- Mapped to phases: 14
|
||||
- Unmapped: 0
|
||||
|
||||
---
|
||||
*Requirements defined: 2026-03-18*
|
||||
*Last updated: 2026-03-24 after phase 11 planning*
|
||||
117
.planning/milestones/v1.2-ROADMAP.md
Normal file
117
.planning/milestones/v1.2-ROADMAP.md
Normal file
@@ -0,0 +1,117 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user