chore: archive v1.2 Collection Power-Ups milestone
Archive roadmap and requirements to milestones/, evolve PROJECT.md with validated requirements, update retrospective, and reorganize ROADMAP.md with milestone groupings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -91,6 +91,51 @@
|
||||
|
||||
---
|
||||
|
||||
## Milestone: v1.2 — Collection Power-Ups
|
||||
|
||||
**Shipped:** 2026-03-16
|
||||
**Phases:** 3 | **Plans:** 6 | **Files changed:** 66
|
||||
|
||||
### What Was Built
|
||||
- Weight unit conversion (g/oz/lb/kg) with segmented toggle wired across all weight display call sites
|
||||
- Candidate status tracking (researching/ordered/arrived) with clickable StatusBadge popup
|
||||
- Sticky search/filter toolbar with text search and icon-aware CategoryFilterDropdown
|
||||
- Per-setup item classification (base/worn/consumable) with click-to-cycle ClassificationBadge
|
||||
- Recharts donut chart with category/classification toggle and hover tooltips
|
||||
- Classification-preserving sync that maintains metadata across atomic setup item re-sync
|
||||
|
||||
### What Worked
|
||||
- Coarse 3-phase structure again — 19 requirements compressed into 3 phases with clear dependency ordering
|
||||
- TDD red/green commits for schema migrations (status, classification) caught edge cases early
|
||||
- Vertical slice pattern (schema → service → tests → API → UI in one plan) kept each deliverable self-contained
|
||||
- Click-outside dismiss pattern established in v1.1 was reused cleanly in StatusBadge and CategoryFilterDropdown
|
||||
- All 6 plans executed with zero deviations from plan — evidence of mature planning process
|
||||
|
||||
### What Was Inefficient
|
||||
- Some ROADMAP.md plan checkboxes remained unchecked despite summaries existing (persistent cosmetic drift)
|
||||
- Recharts v3 Cell component is deprecated for v4 — will need migration eventually
|
||||
- Phase 8 bundled search/filter with candidate status (different concerns) — could have been separate phases for cleaner scope
|
||||
|
||||
### Patterns Established
|
||||
- Click-to-cycle badge: for small enums (3 values), direct click cycling is simpler than popup menus
|
||||
- Join table metadata preservation: save metadata to Map before atomic sync, restore after re-insert
|
||||
- CategoryFilterDropdown: reusable filter dropdown (separate from form-based CategoryPicker)
|
||||
- Chart data transformation: group items by key, sum weights, compute percentages, filter zeroes
|
||||
- apiPatch helper: PATCH method now available in client API library for partial updates
|
||||
|
||||
### Key Lessons
|
||||
1. Classification belongs on join tables (setupItems), not entity tables (items) — same item has different roles in different contexts
|
||||
2. Vertical slice delivery (schema → service → test → API → UI) is the optimal plan structure for feature additions
|
||||
3. Search complexity should match data scale — no debounce needed for <1000 items
|
||||
4. Recharts composable API (PieChart + Pie + Cell + Tooltip + Label) gives fine-grained chart control with minimal wrapper code
|
||||
|
||||
### Cost Observations
|
||||
- Model mix: quality profile throughout (opus for execution)
|
||||
- Sessions: 3 continuous auto-advance sessions (one per phase)
|
||||
- Notable: All plans completed with zero deviations, execution faster than v1.0/v1.1
|
||||
|
||||
---
|
||||
|
||||
## Cross-Milestone Trends
|
||||
|
||||
### Process Evolution
|
||||
@@ -99,6 +144,7 @@
|
||||
|-----------|---------|--------|------------|
|
||||
| v1.0 | 53 | 3 | Initial build, coarse granularity, TDD backend |
|
||||
| v1.1 | ~30 | 3 | Auto-advance pipeline, parallel wave execution, auto-fix deviations |
|
||||
| v1.2 | 25 | 3 | Zero-deviation execution, vertical slice pattern, join table metadata |
|
||||
|
||||
### Cumulative Quality
|
||||
|
||||
@@ -106,6 +152,7 @@
|
||||
|-----------|-----|-------|-------|
|
||||
| v1.0 | 5,742 | 114 | Service + route integration |
|
||||
| v1.1 | 6,134 | ~130 | Service + route integration (updated for icon schema) |
|
||||
| v1.2 | 7,310 | ~150 | 121 tests (service + route + classification) |
|
||||
|
||||
### Top Lessons (Verified Across Milestones)
|
||||
|
||||
@@ -113,3 +160,5 @@
|
||||
2. Service DI pattern enables fast, reliable testing without mocks
|
||||
3. Always update Zod schemas alongside DB schema — middleware silently strips unvalidated fields
|
||||
4. Auto-advance pipeline (discuss → plan → execute) works well for clear-scope phases
|
||||
5. Vertical slice delivery (schema → service → test → API → UI) is optimal for feature additions
|
||||
6. Join table metadata (not entity table) when same entity plays different roles in different contexts
|
||||
|
||||
Reference in New Issue
Block a user