63 lines
3.8 KiB
Markdown
63 lines
3.8 KiB
Markdown
# 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
|