docs: archive v1.3 and v2.0 milestones with roadmap, requirements, and retrospective
All checks were successful
CI / ci (push) Successful in 1m7s
CI / e2e (push) Has been skipped
CI / deploy (push) Successful in 7s

This commit is contained in:
2026-04-08 23:10:50 +02:00
parent cc0bafe754
commit f564e8cb54
12 changed files with 803 additions and 345 deletions

View File

@@ -0,0 +1,62 @@
# Roadmap Archive: v1.3 Research & Decision Tools
**Archived:** 2026-04-08
**Status:** SHIPPED
**Phases:** 10-13 (4 phases, 6 plans)
**Timeline:** 2026-03-16 to 2026-04-08
---
## Phase 10: Schema Foundation + Pros/Cons Fields
**Goal**: Candidates can be annotated with pros and cons, and the database is ready for ranking
**Depends on**: Phase 9
**Requirements**: RANK-03
**Success Criteria** (what must be TRUE):
1. User can open a candidate edit form and see pros and cons text fields
2. User can save pros and cons text; the text persists across page refreshes
3. CandidateCard shows a visual indicator when a candidate has pros or cons entered
4. All existing tests pass after the schema migration (no column drift in test helper)
**Plans:** 1/1 plans complete
Plans:
- [x] 10-01-PLAN.md — Add pros/cons fields through full stack (schema, service, Zod, form, card indicator)
## Phase 11: Candidate Ranking
**Goal**: Users can drag candidates into a priority order that persists and is visually communicated
**Depends on**: Phase 10
**Requirements**: RANK-01, RANK-02, RANK-04, RANK-05
**Success Criteria** (what must be TRUE):
1. User can drag a candidate card to a new position within the thread's candidate list
2. The reordered sequence is still intact after navigating away and returning
3. The top three candidates display gold, silver, and bronze rank badges respectively
4. Drag handles and rank badges are absent on a resolved thread; candidates render in static order
**Plans:** 2/2 plans complete
Plans:
- [x] 11-01-PLAN.md — Schema migration, reorder service/route, sort_order persistence + tests
- [x] 11-02-PLAN.md — Drag-to-reorder UI, list/grid toggle, rank badges, resolved-thread guard
## Phase 12: Comparison View
**Goal**: Users can view all candidates for a thread side-by-side in a table with relative weight and price deltas
**Depends on**: Phase 11
**Requirements**: COMP-01, COMP-02, COMP-03, COMP-04
**Success Criteria** (what must be TRUE):
1. User can toggle a "Compare" mode on a thread detail page to reveal a tabular view showing weight, price, images, notes, links, status, pros, and cons for every candidate in columns
2. The lightest candidate column is highlighted and all other columns show their weight difference relative to it; the cheapest candidate is highlighted similarly for price
3. The comparison table scrolls horizontally on a narrow viewport without breaking layout; the attribute label column stays fixed on the left
4. A resolved thread shows the comparison table in read-only mode with the winning candidate visually marked
**Plans:** 1/1 plans complete
Plans:
- [x] 12-01-PLAN.md — ComparisonTable component + compare toggle wiring in thread detail
## Phase 13: Setup Impact Preview
**Goal**: Users can select any setup and see exactly how much weight and cost each candidate would add or subtract
**Depends on**: Phase 12
**Requirements**: IMPC-01, IMPC-02, IMPC-03, IMPC-04
**Success Criteria** (what must be TRUE):
1. User can select a setup from a dropdown in the thread header and each candidate displays a weight delta and cost delta below its name
2. When the selected setup contains an item in the same category as the thread, the delta reflects replacing that item (negative delta is possible) rather than pure addition
3. When no category match exists in the selected setup, the delta shows a pure addition amount clearly labeled as "add"
4. A candidate with no weight recorded shows a "-- (no weight data)" indicator instead of a zero delta
**Plans:** 2/2 plans complete
Plans:
- [x] 13-01-PLAN.md — TDD pure impact delta computation, uiStore state, ThreadWithCandidates type fix, useImpactDeltas hook
- [x] 13-02-PLAN.md — SetupImpactSelector + ImpactDeltaBadge components, wire into thread detail and all candidate views