chore: complete v1.0 MVP milestone
Some checks failed
Build and Release to F-Droid / build-and-deploy (push) Has been cancelled
Some checks failed
Build and Release to F-Droid / build-and-deploy (push) Has been cancelled
Archive roadmap and requirements to milestones/, evolve PROJECT.md with validated requirements and decision outcomes, reorganize ROADMAP.md with milestone grouping, create retrospective. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
65
.planning/RETROSPECTIVE.md
Normal file
65
.planning/RETROSPECTIVE.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# Project Retrospective
|
||||
|
||||
*A living document updated after each milestone. Lessons feed forward into future planning.*
|
||||
|
||||
## Milestone: v1.0 — MVP
|
||||
|
||||
**Shipped:** 2026-03-16
|
||||
**Phases:** 4 | **Plans:** 13
|
||||
|
||||
### What Was Built
|
||||
- Complete room-based household chore app with auto-scheduling task management
|
||||
- Daily plan home screen with overdue/today/tomorrow sections and progress tracking
|
||||
- Bundled German task templates for 14 room types
|
||||
- Daily summary notifications with configurable time and Android permission handling
|
||||
- 89 tests covering DAOs, scheduling logic, providers, and widget behavior
|
||||
|
||||
### What Worked
|
||||
- Bottom-up phase structure (foundation -> data -> UI -> polish) kept each phase clean with minimal rework
|
||||
- TDD approach for providers and services caught several issues early (async race conditions, API mismatches)
|
||||
- Verification gates at the end of Phase 2, 3, and 4 confirmed all requirements before moving on
|
||||
- Calendar-anchored scheduling with anchor memory was designed right the first time — no rework needed
|
||||
- ARB localization from Phase 1 meant adding German strings was frictionless throughout
|
||||
|
||||
### What Was Inefficient
|
||||
- riverpod_generator InvalidTypeException with drift Task type required workaround (manual StreamProvider) in 3 separate plans — should have been caught in Phase 1 research
|
||||
- Some plan specifications referenced outdated API patterns (flutter_local_notifications positional parameters removed in v20+) — research needs to verify exact current API signatures
|
||||
- Phase 4 plan checkboxes in ROADMAP.md weren't updated to [x] by executor — minor bookkeeping gap
|
||||
|
||||
### Patterns Established
|
||||
- `@Riverpod(keepAlive: true)` AsyncNotifier with SharedPreferences for persistent settings (ThemeNotifier, NotificationSettingsNotifier)
|
||||
- Manual StreamProvider.family/autoDispose for drift type compatibility
|
||||
- DailyPlanDao innerJoin pattern for cross-table queries
|
||||
- ConsumerStatefulWidget for screens with async callbacks requiring `mounted` guards
|
||||
- Provider override pattern in widget tests for database isolation
|
||||
|
||||
### Key Lessons
|
||||
1. Research phase should verify exact current package API signatures — breaking changes between major versions cause plan deviations
|
||||
2. Drift + riverpod_generator type incompatibility is a known issue — plan for manual providers from the start when using drift
|
||||
3. Verification gates add minimal time (~2 min) but catch integration issues — keep them for all phases
|
||||
4. Progressive disclosure (AnimatedSize) is a clean pattern for conditional settings UI
|
||||
|
||||
### Cost Observations
|
||||
- Model mix: orchestrator on opus, researchers/planners/executors/checkers on sonnet
|
||||
- Total execution: ~1.3 hours for 13 plans across 4 phases
|
||||
- Notable: Verification gates averaged 2 min — very efficient for the confidence they provide
|
||||
|
||||
---
|
||||
|
||||
## Cross-Milestone Trends
|
||||
|
||||
### Process Evolution
|
||||
|
||||
| Milestone | Phases | Plans | Key Change |
|
||||
|-----------|--------|-------|------------|
|
||||
| v1.0 | 4 | 13 | Initial project — established all patterns |
|
||||
|
||||
### Cumulative Quality
|
||||
|
||||
| Milestone | Tests | Key Metric |
|
||||
|-----------|-------|------------|
|
||||
| v1.0 | 89 | dart analyze clean, 0 issues |
|
||||
|
||||
### Top Lessons (Verified Across Milestones)
|
||||
|
||||
1. (Single milestone — lessons above will be cross-validated as more milestones ship)
|
||||
Reference in New Issue
Block a user