docs: start milestone v2.0 Platform Foundation

This commit is contained in:
2026-04-03 21:53:31 +02:00
parent f9c6693b63
commit 642ae0d43f
2 changed files with 79 additions and 69 deletions

View File

@@ -1,16 +1,16 @@
---
gsd_state_version: 1.0
milestone: v1.3
milestone_name: Research & Decision Tools
milestone: v2.0
milestone_name: Platform Foundation
status: planning
stopped_at: Completed 12-comparison-view/12-01-PLAN.md
last_updated: "2026-03-17T14:35:39.075Z"
last_activity: 2026-03-16 — Roadmap created for v1.3 milestone
stopped_at: null
last_updated: "2026-04-03"
last_activity: 2026-04-03 — Milestone v2.0 started
progress:
total_phases: 4
completed_phases: 3
total_plans: 4
completed_plans: 4
total_phases: 0
completed_phases: 0
total_plans: 0
completed_plans: 0
percent: 0
---
@@ -18,19 +18,17 @@ progress:
## Project Reference
See: .planning/PROJECT.md (updated 2026-03-16)
See: .planning/PROJECT.md (updated 2026-04-03)
**Core value:** Make it effortless to manage gear and plan new purchases -- see how a potential buy affects your total setup weight and cost before committing.
**Current focus:** v1.3 Research & Decision Tools — Phase 10 ready to plan
**Core value:** Help people make better gear decisions — discover what others use, compare real-world data, and see how a potential buy affects your setup before committing.
**Current focus:** v2.0 Platform Foundation — Defining requirements
## Current Position
Phase: 10 of 13 (Schema Foundation + Pros/Cons Fields)
Phase: Not started (defining requirements)
Plan: —
Status: Ready to plan
Last activity: 2026-03-16 — Roadmap created for v1.3 milestone
Progress: [░░░░░░░░░░] 0%
Status: Defining requirements
Last activity: 2026-04-03 — Milestone v2.0 started
## Performance Metrics
@@ -39,43 +37,19 @@ Progress: [░░░░░░░░░░] 0%
- Average duration: —
- Total execution time: —
**By Phase:**
| Phase | Plans | Total | Avg/Plan |
|-------|-------|-------|----------|
| - | - | - | - |
**Recent Trend:**
- Last 5 plans: —
- Trend: —
*Updated after each plan completion*
| Phase 10-schema-foundation-pros-cons-fields P01 | 6min | 2 tasks | 9 files |
| Phase 11-candidate-ranking P01 | 4min | 2 tasks | 8 files |
| Phase 11-candidate-ranking P02 | 4min | 3 tasks | 7 files |
| Phase 12-comparison-view P01 | 2min | 2 tasks | 3 files |
## Accumulated Context
### Decisions
Cleared at milestone boundary. v1.2 decisions archived in milestones/v1.2-ROADMAP.md.
Key v1.3 research findings (see research/SUMMARY.md):
- framer-motion@12.37.0 (already installed) handles drag-to-reorder via Reorder component — no new deps
- sort_order must use REAL (float) type, not INTEGER, to avoid bulk writes on every drag
- Impact preview must distinguish add-mode vs replace-mode by category match — pure addition misleads
- [Phase 10-schema-foundation-pros-cons-fields]: Empty string for pros/cons stored as-is (not normalized to null); test accepts either empty string or null as cleared state
- [Phase 10-schema-foundation-pros-cons-fields]: Pros/Cons badge uses purple color to distinguish from weight (blue), price (green), category (gray), and status badges
- [Phase 10-schema-foundation-pros-cons-fields]: Field-addition ladder pattern: schema -> migration -> test helper -> service -> Zod -> types -> hook -> form -> card indicator
- [Phase 11-candidate-ranking]: sortOrder uses REAL type for future fractional midpoint insertions without bulk rewrites
- [Phase 11-candidate-ranking]: 1000-gap sort_order strategy: first=1000, append=max+1000, reorder resets to (index+1)*1000
- [Phase 11-candidate-ranking]: Applied sort_order migration via sqlite3 CLI directly to avoid Drizzle data-loss warning on existing rows
- [Phase 11-candidate-ranking]: Resolved thread list view uses plain div (not Reorder.Group) — no drag, rank badges visible
- [Phase 11-candidate-ranking]: RankBadge exported from CandidateListItem for reuse in CandidateCard grid view
- [Phase 12-comparison-view]: ATTRIBUTE_ROWS declarative array pattern for ComparisonTable keeps JSX clean and row reordering trivial
- [Phase 12-comparison-view]: Compare toggle only shown for 2+ candidates; Add Candidate hidden in compare view (read-only intent)
- [Phase 12-comparison-view]: Weight/price highlight color takes priority over amber winner tint when both apply (more informative)
Key decisions made during v2.0 planning:
- Platform pivot: single-user → multi-user with discovery-first approach
- External auth provider (self-hosted, open-source) — avoid in-house auth burden
- SQLite → Postgres migration — multi-user concurrency + auth provider dependency
- Structured UGC only — ratings and predefined fields, no freeform text until moderation exists
- Global item database seeded from manufacturer data, enriched by user contributions
- Single-user SQLite mode diverges at v2.0 boundary
### Pending Todos
@@ -87,6 +61,6 @@ None active.
## Session Continuity
Last session: 2026-03-17T14:32:04.702Z
Stopped at: Completed 12-comparison-view/12-01-PLAN.md
Last session: 2026-04-03
Stopped at: Defining requirements for v2.0
Resume file: None