chore: complete v1.1 milestone — Fixes & Polish
Archive v1.1 artifacts (roadmap, requirements, phases) to milestones/. Evolve PROJECT.md with shipped requirements and new key decisions. Reorganize ROADMAP.md with collapsed milestone groupings. Update retrospective with v1.1 lessons. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,23 @@
|
|||||||
# Milestones
|
# Milestones
|
||||||
|
|
||||||
|
## v1.1 Fixes & Polish (Shipped: 2026-03-15)
|
||||||
|
|
||||||
|
**Phases completed:** 3 phases, 7 plans
|
||||||
|
**Timeline:** 1 day (2026-03-15)
|
||||||
|
**Codebase:** 6,134 LOC TypeScript, 65 files changed (+5,049 / -1,109)
|
||||||
|
|
||||||
|
**Key accomplishments:**
|
||||||
|
- Fixed threads table and thread creation with categoryId support, modal dialog flow
|
||||||
|
- Overhauled planning tab with educational empty state, pill tabs, and category filter
|
||||||
|
- Fixed image display bug (Zod schemas missing imageFilename — silently stripped by validator)
|
||||||
|
- Redesigned image upload as hero preview area with 4:3 placeholders on all cards
|
||||||
|
- Migrated categories from emoji to Lucide icons with 119-icon curated picker
|
||||||
|
- Built IconPicker component with search, 8 group tabs, portal popover
|
||||||
|
|
||||||
|
**Archive:** `.planning/milestones/v1.1-ROADMAP.md`, `.planning/milestones/v1.1-REQUIREMENTS.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## v1.0 MVP (Shipped: 2026-03-15)
|
## v1.0 MVP (Shipped: 2026-03-15)
|
||||||
|
|
||||||
**Phases completed:** 3 phases, 10 plans
|
**Phases completed:** 3 phases, 10 plans
|
||||||
|
|||||||
@@ -14,27 +14,23 @@ Make it effortless to manage gear and plan new purchases — see how a potential
|
|||||||
|
|
||||||
- ✓ Gear collection with item CRUD (name, weight, price, category, notes, product link) — v1.0
|
- ✓ Gear collection with item CRUD (name, weight, price, category, notes, product link) — v1.0
|
||||||
- ✓ Image uploads for gear items — v1.0
|
- ✓ Image uploads for gear items — v1.0
|
||||||
- ✓ User-defined categories with emoji and automatic weight/cost totals — v1.0
|
- ✓ User-defined categories with automatic weight/cost totals — v1.0
|
||||||
- ✓ Planning threads for purchase research with candidate products — v1.0
|
- ✓ Planning threads for purchase research with candidate products — v1.0
|
||||||
- ✓ Thread resolution: pick a winner, it moves to collection — v1.0
|
- ✓ Thread resolution: pick a winner, it moves to collection — v1.0
|
||||||
- ✓ Named setups (loadouts) composed from collection items — v1.0
|
- ✓ Named setups (loadouts) composed from collection items — v1.0
|
||||||
- ✓ Live weight and cost totals per setup — v1.0
|
- ✓ Live weight and cost totals per setup — v1.0
|
||||||
- ✓ Dashboard home page with summary cards — v1.0
|
- ✓ Dashboard home page with summary cards — v1.0
|
||||||
- ✓ Onboarding wizard for first-time setup — v1.0
|
- ✓ Onboarding wizard for first-time setup — v1.0
|
||||||
|
- ✓ Thread creation with category assignment via modal dialog — v1.1
|
||||||
|
- ✓ Planning tab with educational empty state and pill tab navigation — v1.1
|
||||||
|
- ✓ Image display on item detail views and gear cards with placeholders — v1.1
|
||||||
|
- ✓ Hero image upload area with preview and click-to-upload — v1.1
|
||||||
|
- ✓ Lucide icon picker for categories (119 curated icons, 8 groups) — v1.1
|
||||||
|
- ✓ Automatic emoji-to-Lucide icon migration for existing categories — v1.1
|
||||||
|
|
||||||
### Active
|
### Active
|
||||||
|
|
||||||
## Current Milestone: v1.1 Fixes & Polish
|
(No active milestone — use `/gsd:new-milestone` to start next)
|
||||||
|
|
||||||
**Goal:** Fix broken functionality, improve image handling UX, and replace emoji categories with icon picker.
|
|
||||||
|
|
||||||
**Target features:**
|
|
||||||
- Fix thread creation (missing database table)
|
|
||||||
- Fix image display (uploaded but not rendering)
|
|
||||||
- Redesign image upload UX (image preview with placeholder icon)
|
|
||||||
- Display images on gear cards
|
|
||||||
- Improve planning tab empty state
|
|
||||||
- Replace emoji categories with Lucide icon picker
|
|
||||||
|
|
||||||
### Future
|
### Future
|
||||||
|
|
||||||
@@ -61,8 +57,8 @@ Make it effortless to manage gear and plan new purchases — see how a potential
|
|||||||
|
|
||||||
## Context
|
## Context
|
||||||
|
|
||||||
Shipped v1.0 MVP with 5,742 LOC TypeScript across 114 files.
|
Shipped v1.1 with 6,134 LOC TypeScript.
|
||||||
Tech stack: React 19, Hono, Drizzle ORM, SQLite, TanStack Router/Query, Tailwind CSS v4, all on Bun.
|
Tech stack: React 19, Hono, Drizzle ORM, SQLite, TanStack Router/Query, Tailwind CSS v4, Lucide React, all on Bun.
|
||||||
Primary use case is bikepacking gear but data model is hobby-agnostic.
|
Primary use case is bikepacking gear but data model is hobby-agnostic.
|
||||||
Replaces spreadsheet-based gear tracking workflow.
|
Replaces spreadsheet-based gear tracking workflow.
|
||||||
|
|
||||||
@@ -89,10 +85,13 @@ Replaces spreadsheet-based gear tracking workflow.
|
|||||||
| Tab navigation via URL params | Shareable URLs between gear/planning | ✓ Good |
|
| Tab navigation via URL params | Shareable URLs between gear/planning | ✓ Good |
|
||||||
| Setup item sync: delete-all + re-insert | Simpler than diffing, atomic in transaction | ✓ Good |
|
| Setup item sync: delete-all + re-insert | Simpler than diffing, atomic in transaction | ✓ Good |
|
||||||
| Onboarding state in SQLite settings | Source of truth in DB, not Zustand | ✓ Good |
|
| Onboarding state in SQLite settings | Source of truth in DB, not Zustand | ✓ Good |
|
||||||
|
|
||||||
---
|
|
||||||
| Lucide Icons for categories | Best outdoor/gear icon coverage, tree-shakeable, clean style | — Pending |
|
|
||||||
| Stay with SQLite | Single-user app, no need for Postgres complexity | ✓ Good |
|
| Stay with SQLite | Single-user app, no need for Postgres complexity | ✓ Good |
|
||||||
|
| Lucide Icons for categories | Best outdoor/gear icon coverage, tree-shakeable, clean style | ✓ Good |
|
||||||
|
| categoryId on threads (NOT NULL FK) | Every thread belongs to a category | ✓ Good |
|
||||||
|
| Modal dialog for thread creation | Cleaner UX, supports category selection | ✓ Good |
|
||||||
|
| Hero image area at top of forms | Image-first UX, 4:3 aspect ratio consistent with cards | ✓ Good |
|
||||||
|
| Emoji-to-icon automatic migration | One-time schema rename + data conversion via Drizzle migration | ✓ Good |
|
||||||
|
| ALTER TABLE RENAME COLUMN for SQLite | Simpler than table recreation for column rename | ✓ Good |
|
||||||
|
|
||||||
---
|
---
|
||||||
*Last updated: 2026-03-15 after v1.1 milestone start*
|
*Last updated: 2026-03-15 after v1.1 milestone completion*
|
||||||
|
|||||||
@@ -47,6 +47,50 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Milestone: v1.1 — Fixes & Polish
|
||||||
|
|
||||||
|
**Shipped:** 2026-03-15
|
||||||
|
**Phases:** 3 | **Plans:** 7 | **Files changed:** 65
|
||||||
|
|
||||||
|
### What Was Built
|
||||||
|
- Fixed threads table and thread creation with categoryId support and modal dialog
|
||||||
|
- Overhauled planning tab with educational empty state, pill tabs, and category filter
|
||||||
|
- Fixed image display bug (Zod schema missing imageFilename)
|
||||||
|
- Redesigned image upload as 4:3 hero preview area with placeholders on all cards
|
||||||
|
- Migrated categories from emoji to Lucide icons with 119-icon curated picker
|
||||||
|
- Built IconPicker with search, 8 group tabs, and portal popover
|
||||||
|
|
||||||
|
### What Worked
|
||||||
|
- Auto-advance pipeline (discuss → plan → execute) completed both phases end-to-end without manual intervention
|
||||||
|
- Wave-based parallel execution in Phase 6 — plans 06-02 and 06-03 ran concurrently with no conflicts
|
||||||
|
- Executor auto-fix deviations handled cascading renames gracefully (emoji→icon required touching hooks/routes beyond plan scope)
|
||||||
|
- Context discussion upfront captured clear decisions — no ambiguity during execution
|
||||||
|
- Verifier caught real issues (Zod schema root cause) and confirmed all must-haves
|
||||||
|
|
||||||
|
### What Was Inefficient
|
||||||
|
- Schema renames cascade through many files (12 in 06-01) — executors had to auto-fix downstream references not in the plan
|
||||||
|
- Some ROADMAP.md plan checkboxes remained unchecked despite plans completing (cosmetic tracking drift)
|
||||||
|
- Phase 5 executor installed inline SVGs for ImageUpload icons, then Phase 6 added lucide-react anyway — could have coordinated
|
||||||
|
|
||||||
|
### Patterns Established
|
||||||
|
- Portal-based popover pattern: reused from EmojiPicker → IconPicker (click-outside, escape, portal rendering)
|
||||||
|
- LucideIcon dynamic lookup component: `icons[name]` from lucide-react for runtime icon resolution
|
||||||
|
- Curated icon data file pattern: static data organized by groups for picker UIs
|
||||||
|
- Hero image area: full-width 4:3 preview at top of forms with placeholder/upload/preview states
|
||||||
|
|
||||||
|
### Key Lessons
|
||||||
|
1. Zod validation middleware silently strips unknown fields — always add new schema fields to Zod schemas, not just DB schema
|
||||||
|
2. Auto-fix deviations are a feature, not a bug — executors that fix cascading renames save manual replanning
|
||||||
|
3. Auto-advance pipeline works well for straightforward phases — interactive discussion ensures decisions are clear before autonomous execution
|
||||||
|
4. Parallel Wave 2 execution with no file overlap is safe and efficient
|
||||||
|
|
||||||
|
### Cost Observations
|
||||||
|
- Model mix: opus for execution, sonnet for verification/checking
|
||||||
|
- Sessions: 1 continuous auto-advance pipeline for both phases
|
||||||
|
- Notable: Full milestone (discuss + plan + execute × 2 phases) completed in a single session
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Cross-Milestone Trends
|
## Cross-Milestone Trends
|
||||||
|
|
||||||
### Process Evolution
|
### Process Evolution
|
||||||
@@ -54,14 +98,18 @@
|
|||||||
| Milestone | Commits | Phases | Key Change |
|
| Milestone | Commits | Phases | Key Change |
|
||||||
|-----------|---------|--------|------------|
|
|-----------|---------|--------|------------|
|
||||||
| v1.0 | 53 | 3 | Initial build, coarse granularity, TDD backend |
|
| v1.0 | 53 | 3 | Initial build, coarse granularity, TDD backend |
|
||||||
|
| v1.1 | ~30 | 3 | Auto-advance pipeline, parallel wave execution, auto-fix deviations |
|
||||||
|
|
||||||
### Cumulative Quality
|
### Cumulative Quality
|
||||||
|
|
||||||
| Milestone | LOC | Files | Tests |
|
| Milestone | LOC | Files | Tests |
|
||||||
|-----------|-----|-------|-------|
|
|-----------|-----|-------|-------|
|
||||||
| v1.0 | 5,742 | 114 | Service + route integration |
|
| v1.0 | 5,742 | 114 | Service + route integration |
|
||||||
|
| v1.1 | 6,134 | ~130 | Service + route integration (updated for icon schema) |
|
||||||
|
|
||||||
### Top Lessons (Verified Across Milestones)
|
### Top Lessons (Verified Across Milestones)
|
||||||
|
|
||||||
1. Coarse phases with TDD backend → smooth frontend integration
|
1. Coarse phases with TDD backend → smooth frontend integration
|
||||||
2. Service DI pattern enables fast, reliable testing without mocks
|
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
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
## Milestones
|
## Milestones
|
||||||
|
|
||||||
- ✅ **v1.0 MVP** -- Phases 1-3 (shipped 2026-03-15)
|
- ✅ **v1.0 MVP** -- Phases 1-3 (shipped 2026-03-15)
|
||||||
- **v1.1 Fixes & Polish** -- Phases 4-6 (in progress)
|
- ✅ **v1.1 Fixes & Polish** -- Phases 4-6 (shipped 2026-03-15)
|
||||||
|
|
||||||
## Phases
|
## Phases
|
||||||
|
|
||||||
@@ -16,70 +16,22 @@
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
### v1.1 Fixes & Polish (In Progress)
|
<details>
|
||||||
|
<summary>v1.1 Fixes & Polish (Phases 4-6) -- SHIPPED 2026-03-15</summary>
|
||||||
|
|
||||||
**Milestone Goal:** Fix broken functionality, improve image handling UX, and replace emoji categories with Lucide icon picker.
|
- [x] Phase 4: Database & Planning Fixes (2/2 plans) -- completed 2026-03-15
|
||||||
|
- [x] Phase 5: Image Handling (2/2 plans) -- completed 2026-03-15
|
||||||
|
- [x] Phase 6: Category Icons (3/3 plans) -- completed 2026-03-15
|
||||||
|
|
||||||
- [ ] **Phase 4: Database & Planning Fixes** - Fix threads table and planning thread creation, polish empty states
|
</details>
|
||||||
- [x] **Phase 5: Image Handling** - Fix image display and redesign upload UX with previews (completed 2026-03-15)
|
|
||||||
- [ ] **Phase 6: Category Icons** - Replace emoji categories with Lucide icon picker
|
|
||||||
|
|
||||||
## Phase Details
|
|
||||||
|
|
||||||
### Phase 4: Database & Planning Fixes
|
|
||||||
**Goal**: Users can create and manage planning threads without errors
|
|
||||||
**Depends on**: Phase 3 (v1.0 complete)
|
|
||||||
**Requirements**: DB-01, PLAN-01, PLAN-02
|
|
||||||
**Success Criteria** (what must be TRUE):
|
|
||||||
1. Running database schema push creates the threads table (and any other missing tables) without errors
|
|
||||||
2. User can create a new planning thread from the planning tab and it appears in the thread list
|
|
||||||
3. User sees a clear, polished empty state with a call-to-action when no planning threads exist
|
|
||||||
**Plans**: 2 plans
|
|
||||||
|
|
||||||
Plans:
|
|
||||||
- [x] 04-01-PLAN.md — Database schema fix and backend thread API with categoryId
|
|
||||||
- [ ] 04-02-PLAN.md — Frontend planning tab overhaul (modal, empty state, pill tabs, category filter)
|
|
||||||
|
|
||||||
### Phase 5: Image Handling
|
|
||||||
**Goal**: Users can see and manage gear images throughout the app
|
|
||||||
**Depends on**: Phase 4
|
|
||||||
**Requirements**: IMG-01, IMG-02, IMG-03, IMG-04
|
|
||||||
**Success Criteria** (what must be TRUE):
|
|
||||||
1. User can see previously uploaded images displayed correctly on item detail views
|
|
||||||
2. Gear collection cards show item images (or a placeholder when no image exists)
|
|
||||||
3. Item form displays an image preview area at the top with a placeholder icon when no image is set
|
|
||||||
4. User can upload an image by clicking the placeholder area, and the preview updates immediately
|
|
||||||
**Plans**: 2 plans
|
|
||||||
|
|
||||||
Plans:
|
|
||||||
- [ ] 05-01-PLAN.md — Fix image display bug and redesign ImageUpload as hero preview area
|
|
||||||
- [ ] 05-02-PLAN.md — Add card image placeholders and setup thumbnails
|
|
||||||
|
|
||||||
### Phase 6: Category Icons
|
|
||||||
**Goal**: Categories use clean Lucide icons instead of emoji
|
|
||||||
**Depends on**: Phase 4
|
|
||||||
**Requirements**: CAT-01, CAT-02, CAT-03
|
|
||||||
**Success Criteria** (what must be TRUE):
|
|
||||||
1. User can browse and select a Lucide icon from a picker when creating or editing a category
|
|
||||||
2. Category icons render as Lucide icons everywhere they appear (cards, headers, lists, dashboard)
|
|
||||||
3. Existing emoji-based categories display as equivalent Lucide icons without manual user intervention
|
|
||||||
**Plans**: 3 plans
|
|
||||||
|
|
||||||
Plans:
|
|
||||||
- [ ] 06-01-PLAN.md — Backend schema migration (emoji to icon), install lucide-react, create icon data and LucideIcon component
|
|
||||||
- [ ] 06-02-PLAN.md — Build IconPicker component, update category create/edit components
|
|
||||||
- [ ] 06-03-PLAN.md — Update all display components to Lucide icons, delete old emoji code
|
|
||||||
|
|
||||||
## Progress
|
## Progress
|
||||||
|
|
||||||
**Execution Order:**
|
|
||||||
Phases execute in numeric order: 4 -> 5 -> 6
|
|
||||||
|
|
||||||
| Phase | Milestone | Plans Complete | Status | Completed |
|
| Phase | Milestone | Plans Complete | Status | Completed |
|
||||||
|-------|-----------|----------------|--------|-----------|
|
|-------|-----------|----------------|--------|-----------|
|
||||||
| 1. Foundation and Collection | v1.0 | 4/4 | Complete | 2026-03-14 |
|
| 1. Foundation and Collection | v1.0 | 4/4 | Complete | 2026-03-14 |
|
||||||
| 2. Planning Threads | v1.0 | 3/3 | Complete | 2026-03-15 |
|
| 2. Planning Threads | v1.0 | 3/3 | Complete | 2026-03-15 |
|
||||||
| 3. Setups and Dashboard | v1.0 | 3/3 | Complete | 2026-03-15 |
|
| 3. Setups and Dashboard | v1.0 | 3/3 | Complete | 2026-03-15 |
|
||||||
| 4. Database & Planning Fixes | v1.1 | 1/2 | In progress | - |
|
| 4. Database & Planning Fixes | v1.1 | 2/2 | Complete | 2026-03-15 |
|
||||||
| 5. Image Handling | 2/2 | Complete | 2026-03-15 | - |
|
| 5. Image Handling | v1.1 | 2/2 | Complete | 2026-03-15 |
|
||||||
| 6. Category Icons | v1.1 | 0/3 | Not started | - |
|
| 6. Category Icons | v1.1 | 3/3 | Complete | 2026-03-15 |
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
gsd_state_version: 1.0
|
gsd_state_version: 1.0
|
||||||
milestone: v1.1
|
milestone: v1.1
|
||||||
milestone_name: Fixes & Polish
|
milestone_name: Fixes & Polish
|
||||||
status: completed
|
status: shipped
|
||||||
stopped_at: Completed 06-03 display component icon migration
|
stopped_at: v1.1 milestone completed and archived
|
||||||
last_updated: "2026-03-15T17:04:22.268Z"
|
last_updated: "2026-03-15T17:15:00.000Z"
|
||||||
last_activity: 2026-03-15 -- Completed 06-03 display component icon migration
|
last_activity: 2026-03-15 -- Shipped v1.1 Fixes & Polish milestone
|
||||||
progress:
|
progress:
|
||||||
total_phases: 3
|
total_phases: 3
|
||||||
completed_phases: 3
|
completed_phases: 3
|
||||||
@@ -21,35 +21,21 @@ progress:
|
|||||||
See: .planning/PROJECT.md (updated 2026-03-15)
|
See: .planning/PROJECT.md (updated 2026-03-15)
|
||||||
|
|
||||||
**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.
|
**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:** Phase 6 - Category Icons
|
**Current focus:** Planning next milestone
|
||||||
|
|
||||||
## Current Position
|
## Current Position
|
||||||
|
|
||||||
Phase: 6 of 6 (Category Icons)
|
Milestone: v1.1 Fixes & Polish -- SHIPPED
|
||||||
Plan: 3 of 3 in current phase
|
All phases complete. No active milestone.
|
||||||
Status: Complete
|
Last activity: 2026-03-15 -- Shipped v1.1
|
||||||
Last activity: 2026-03-15 -- Completed 06-03 display component icon migration
|
|
||||||
|
|
||||||
Progress: [██████████] 100% (v1.1 phases)
|
Progress: [██████████] 100% (v1.1 shipped)
|
||||||
|
|
||||||
## Accumulated Context
|
## Accumulated Context
|
||||||
|
|
||||||
### Decisions
|
### Decisions
|
||||||
|
|
||||||
- Stay with SQLite -- single-user app, Postgres adds unnecessary complexity
|
(Full decision log archived in PROJECT.md Key Decisions table)
|
||||||
- Lucide Icons for category icons -- best outdoor/gear coverage
|
|
||||||
- categoryId on threads is NOT NULL with FK to categories -- every thread belongs to a category
|
|
||||||
- [Phase 04]: Modal dialog for thread creation instead of inline form -- cleaner UX, supports category selection
|
|
||||||
- [Phase 04]: Educational empty state with numbered workflow steps -- helps new users understand planning flow
|
|
||||||
- [Phase 04]: Pill tab segment control for Active/Resolved -- replaces checkbox, more intuitive
|
|
||||||
- [Phase 05]: Image bug root cause: Zod schemas missing imageFilename -- validator silently stripped it from payloads
|
|
||||||
- [Phase 05]: Inline SVGs instead of lucide-react -- only 3 icons needed, avoids dependency
|
|
||||||
- [Phase 05]: Setup detail page only uses ItemCard grid -- no separate thumbnail component needed
|
|
||||||
- [Phase 06]: ALTER TABLE RENAME COLUMN for SQLite migration instead of table recreation
|
|
||||||
- [Phase 06]: Applied migration via Bun SQLite API since drizzle-kit requires interactive input
|
|
||||||
- [Phase 06]: 119 curated Lucide icons across 8 groups for gear coverage
|
|
||||||
- [Phase 06]: Native HTML select cannot render React components -- category selects show name only
|
|
||||||
- [Phase 06]: iconData.ts renamed to iconData.tsx -- contains JSX, required for production build
|
|
||||||
|
|
||||||
### Pending Todos
|
### Pending Todos
|
||||||
|
|
||||||
@@ -57,12 +43,10 @@ Progress: [██████████] 100% (v1.1 phases)
|
|||||||
|
|
||||||
### Blockers/Concerns
|
### Blockers/Concerns
|
||||||
|
|
||||||
- `threads` table missing from database (schema exists, never pushed) -- Phase 4
|
None active.
|
||||||
- ~~Images upload but don't display in UI -- Phase 5~~ FIXED in 05-01
|
|
||||||
- ~~Category emoji system being replaced with Lucide icons -- Phase 6~~ COMPLETE
|
|
||||||
|
|
||||||
## Session Continuity
|
## Session Continuity
|
||||||
|
|
||||||
Last session: 2026-03-15T16:59:16.000Z
|
Last session: 2026-03-15T17:15:00.000Z
|
||||||
Stopped at: Completed 06-03 display component icon migration
|
Stopped at: v1.1 milestone completed and archived
|
||||||
Resume file: .planning/phases/06-category-icons/06-03-SUMMARY.md
|
Resume file: None
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
# Requirements Archive: v1.1 Fixes & Polish
|
||||||
|
|
||||||
|
**Archived:** 2026-03-15
|
||||||
|
**Status:** SHIPPED
|
||||||
|
|
||||||
|
For current requirements, see `.planning/REQUIREMENTS.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
# Requirements: GearBox
|
# Requirements: GearBox
|
||||||
|
|
||||||
**Defined:** 2026-03-15
|
**Defined:** 2026-03-15
|
||||||
85
.planning/milestones/v1.1-ROADMAP.md
Normal file
85
.planning/milestones/v1.1-ROADMAP.md
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
# Roadmap: GearBox
|
||||||
|
|
||||||
|
## Milestones
|
||||||
|
|
||||||
|
- ✅ **v1.0 MVP** -- Phases 1-3 (shipped 2026-03-15)
|
||||||
|
- **v1.1 Fixes & Polish** -- Phases 4-6 (in progress)
|
||||||
|
|
||||||
|
## Phases
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>v1.0 MVP (Phases 1-3) -- SHIPPED 2026-03-15</summary>
|
||||||
|
|
||||||
|
- [x] Phase 1: Foundation and Collection (4/4 plans) -- completed 2026-03-14
|
||||||
|
- [x] Phase 2: Planning Threads (3/3 plans) -- completed 2026-03-15
|
||||||
|
- [x] Phase 3: Setups and Dashboard (3/3 plans) -- completed 2026-03-15
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### v1.1 Fixes & Polish (In Progress)
|
||||||
|
|
||||||
|
**Milestone Goal:** Fix broken functionality, improve image handling UX, and replace emoji categories with Lucide icon picker.
|
||||||
|
|
||||||
|
- [ ] **Phase 4: Database & Planning Fixes** - Fix threads table and planning thread creation, polish empty states
|
||||||
|
- [x] **Phase 5: Image Handling** - Fix image display and redesign upload UX with previews (completed 2026-03-15)
|
||||||
|
- [ ] **Phase 6: Category Icons** - Replace emoji categories with Lucide icon picker
|
||||||
|
|
||||||
|
## Phase Details
|
||||||
|
|
||||||
|
### Phase 4: Database & Planning Fixes
|
||||||
|
**Goal**: Users can create and manage planning threads without errors
|
||||||
|
**Depends on**: Phase 3 (v1.0 complete)
|
||||||
|
**Requirements**: DB-01, PLAN-01, PLAN-02
|
||||||
|
**Success Criteria** (what must be TRUE):
|
||||||
|
1. Running database schema push creates the threads table (and any other missing tables) without errors
|
||||||
|
2. User can create a new planning thread from the planning tab and it appears in the thread list
|
||||||
|
3. User sees a clear, polished empty state with a call-to-action when no planning threads exist
|
||||||
|
**Plans**: 2 plans
|
||||||
|
|
||||||
|
Plans:
|
||||||
|
- [x] 04-01-PLAN.md — Database schema fix and backend thread API with categoryId
|
||||||
|
- [ ] 04-02-PLAN.md — Frontend planning tab overhaul (modal, empty state, pill tabs, category filter)
|
||||||
|
|
||||||
|
### Phase 5: Image Handling
|
||||||
|
**Goal**: Users can see and manage gear images throughout the app
|
||||||
|
**Depends on**: Phase 4
|
||||||
|
**Requirements**: IMG-01, IMG-02, IMG-03, IMG-04
|
||||||
|
**Success Criteria** (what must be TRUE):
|
||||||
|
1. User can see previously uploaded images displayed correctly on item detail views
|
||||||
|
2. Gear collection cards show item images (or a placeholder when no image exists)
|
||||||
|
3. Item form displays an image preview area at the top with a placeholder icon when no image is set
|
||||||
|
4. User can upload an image by clicking the placeholder area, and the preview updates immediately
|
||||||
|
**Plans**: 2 plans
|
||||||
|
|
||||||
|
Plans:
|
||||||
|
- [ ] 05-01-PLAN.md — Fix image display bug and redesign ImageUpload as hero preview area
|
||||||
|
- [ ] 05-02-PLAN.md — Add card image placeholders and setup thumbnails
|
||||||
|
|
||||||
|
### Phase 6: Category Icons
|
||||||
|
**Goal**: Categories use clean Lucide icons instead of emoji
|
||||||
|
**Depends on**: Phase 4
|
||||||
|
**Requirements**: CAT-01, CAT-02, CAT-03
|
||||||
|
**Success Criteria** (what must be TRUE):
|
||||||
|
1. User can browse and select a Lucide icon from a picker when creating or editing a category
|
||||||
|
2. Category icons render as Lucide icons everywhere they appear (cards, headers, lists, dashboard)
|
||||||
|
3. Existing emoji-based categories display as equivalent Lucide icons without manual user intervention
|
||||||
|
**Plans**: 3 plans
|
||||||
|
|
||||||
|
Plans:
|
||||||
|
- [ ] 06-01-PLAN.md — Backend schema migration (emoji to icon), install lucide-react, create icon data and LucideIcon component
|
||||||
|
- [ ] 06-02-PLAN.md — Build IconPicker component, update category create/edit components
|
||||||
|
- [ ] 06-03-PLAN.md — Update all display components to Lucide icons, delete old emoji code
|
||||||
|
|
||||||
|
## Progress
|
||||||
|
|
||||||
|
**Execution Order:**
|
||||||
|
Phases execute in numeric order: 4 -> 5 -> 6
|
||||||
|
|
||||||
|
| Phase | Milestone | Plans Complete | Status | Completed |
|
||||||
|
|-------|-----------|----------------|--------|-----------|
|
||||||
|
| 1. Foundation and Collection | v1.0 | 4/4 | Complete | 2026-03-14 |
|
||||||
|
| 2. Planning Threads | v1.0 | 3/3 | Complete | 2026-03-15 |
|
||||||
|
| 3. Setups and Dashboard | v1.0 | 3/3 | Complete | 2026-03-15 |
|
||||||
|
| 4. Database & Planning Fixes | v1.1 | 1/2 | In progress | - |
|
||||||
|
| 5. Image Handling | 2/2 | Complete | 2026-03-15 | - |
|
||||||
|
| 6. Category Icons | v1.1 | 0/3 | Not started | - |
|
||||||
Reference in New Issue
Block a user