From 2ebf3a37e8d31ee2102f02326469fa80fc38d63d Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sun, 19 Apr 2026 18:43:48 +0200 Subject: [PATCH] docs: create milestone v2.4 roadmap (4 phases) Co-Authored-By: Claude Sonnet 4.6 --- .planning/REQUIREMENTS.md | 2 +- .planning/ROADMAP.md | 74 ++++++++++++++++++++++++++++++++++++--- .planning/STATE.md | 27 +++++++------- 3 files changed, 85 insertions(+), 18 deletions(-) diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 4779c27..6397024 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -92,4 +92,4 @@ --- *Requirements defined: 2026-04-19* -*Last updated: 2026-04-19 — initial definition for v2.4* +*Last updated: 2026-04-19 — traceability finalized for v2.4 roadmap* diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 8bf1909..e09a7e9 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -10,6 +10,7 @@ - ✅ **v2.1 Public Discovery** — Phases 24-27 (shipped 2026-04-12) - ✅ **v2.2 User Experience Polish** — Phases 28-31 (shipped 2026-04-13) - ✅ **v2.3 Global & Social Ready** — Phases 32-34 (shipped 2026-04-19) +- 🚧 **v2.4 Admin Foundation** — Phases 35-38 (in progress) ## Phases @@ -95,6 +96,13 @@ +### 🚧 v2.4 Admin Foundation (In Progress) + +- [ ] **Phase 35: Bug Fixes** — Clear the v2.3 backlog: wrong modal, missing images, slow loading, auth redirect, cursor pointer +- [ ] **Phase 36: Admin Role & Panel Foundation** — isAdmin flag, server mechanism to grant admin, gated /admin route with placeholder UI +- [ ] **Phase 37: Admin — Global Item Management** — Browse, edit, and delete global catalog items from the admin panel +- [ ] **Phase 38: Admin — Tag Management** — Full tag CRUD with parent-child hierarchy in the admin panel + ## Phase Details ### Phase 24: Public Access & Infrastructure @@ -213,6 +221,60 @@ Plans: TBD (discuss phase) **Plans**: TBD +### Phase 35: Bug Fixes +**Goal**: All five known v2.3 regressions and polish gaps are resolved — the app behaves correctly and consistently +**Depends on**: Phase 34 (v2.3 complete) +**Requirements**: FIX-01, FIX-02, FIX-03, FIX-04, FIX-05 +**Success Criteria** (what must be TRUE): + 1. Clicking "Add Candidate" on a thread page opens the add-candidate modal, not any other modal + 2. Item images appear correctly on collection overview cards — no broken or missing images + 3. Catalog and collection images appear without noticeable delay across all image-bearing pages + 4. Clicking the sign-in button on an auth prompt navigates the user directly to the Logto login page + 5. Every clickable or interactive element in the app (buttons, links, cards, badges) shows a pointer cursor on hover +**Plans**: TBD + +**UI hint**: yes + +### Phase 36: Admin Role & Panel Foundation +**Goal**: An admin user exists in the system with a verified flag, a server-side mechanism to grant admin status, and a protected /admin route that non-admins cannot reach +**Depends on**: Phase 35 +**Requirements**: ROLE-01, ROLE-02, ADMN-01 +**Success Criteria** (what must be TRUE): + 1. The users table has an isAdmin boolean column and the schema migration applies cleanly + 2. A developer can grant or revoke admin status for any user via a CLI script or seed mechanism without touching the UI + 3. Navigating to /admin as an authenticated non-admin user returns an access-denied response (403 or redirect) + 4. Navigating to /admin as an admin user loads the admin panel (even if it shows a placeholder) +**Plans**: TBD + +**UI hint**: yes + +### Phase 37: Admin — Global Item Management +**Goal**: Admins can browse, edit, and delete any global catalog item from the admin panel +**Depends on**: Phase 36 +**Requirements**: ADMN-02, ADMN-03, ADMN-04 +**Success Criteria** (what must be TRUE): + 1. Admin can view a paginated list of all global catalog items with search and tag filtering + 2. Admin can open any catalog item and edit its name, brand, model, weight, price, tags, image, and attribution fields — changes persist + 3. Admin can delete a catalog item after confirming the action — the item is removed from the catalog and the deletion is irreversible +**Plans**: TBD + +**UI hint**: yes + +### Phase 38: Admin — Tag Management +**Goal**: Admins can fully manage the tag taxonomy — creating, renaming, organizing into a parent-child hierarchy, and deleting tags — from within the admin panel +**Depends on**: Phase 37 +**Requirements**: ADMN-05, ADMN-06, ADMN-07, ADMN-08, ADMN-09, ADMN-10 +**Success Criteria** (what must be TRUE): + 1. Admin can view all tags in a list that shows each tag's name, item count, parent tag (if any), and direct children + 2. Admin can create a new top-level tag by entering a name — the tag appears immediately in the list + 3. Admin can rename any existing tag — the updated name is reflected everywhere the tag is used + 4. Admin can assign a parent to any tag, making it a child in the hierarchy (e.g. "down" under "insulation") + 5. Admin can remove a parent assignment from a tag, making it a top-level tag again + 6. Admin can delete a tag; if items currently use that tag, a warning is shown before the deletion is confirmed +**Plans**: TBD + +**UI hint**: yes + ## Progress | Phase | Milestone | Plans Complete | Status | Completed | @@ -244,13 +306,17 @@ Plans: | 25. Catalog Enrichment & Agent Tools | v2.1 | 2/2 | Complete | 2026-04-10 | | 26. Discovery Landing Page | v2.1 | 3/3 | Complete | 2026-04-10 | | 27. Top Nav Restructure & Search Bar Rethink | v2.1 | 4/4 | Complete | 2026-04-12 | -| 28. Profile & Logto Integration | v2.2 | 3/3 | Complete | 2026-04-12 | -| 29. Image Presentation | v2.2 | 5/5 | Complete | 2026-04-13 | -| 30. Onboarding Redesign | v2.2 | 3/3 | Complete | 2026-04-12 | -| 31. Mobile Polish | v2.2 | 2/2 | Complete | 2026-04-12 | +| 28. Profile & Logto Integration | v2.2 | 3/3 | Complete | 2026-04-12 | +| 29. Image Presentation | v2.2 | 5/5 | Complete | 2026-04-13 | +| 30. Onboarding Redesign | v2.2 | 3/3 | Complete | 2026-04-12 | +| 31. Mobile Polish | v2.2 | 2/2 | Complete | 2026-04-12 | | 32. Setup Sharing System | v2.3 | 4/4 | Complete | 2026-04-15 | | 33. Currency System | v2.3 | 6/6 | Complete | 2026-04-13 | | 34. i18n Foundation | v2.3 | 8/8 | Complete | 2026-04-18 | +| 35. Bug Fixes | v2.4 | 0/TBD | Not started | - | +| 36. Admin Role & Panel Foundation | v2.4 | 0/TBD | Not started | - | +| 37. Admin — Global Item Management | v2.4 | 0/TBD | Not started | - | +| 38. Admin — Tag Management | v2.4 | 0/TBD | Not started | - | ## Backlog diff --git a/.planning/STATE.md b/.planning/STATE.md index d0d995b..281461c 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -2,12 +2,12 @@ gsd_state_version: 1.0 milestone: v2.4 milestone_name: Admin Foundation -status: planning -stopped_at: milestone initialized +status: in_progress +stopped_at: Phase 35 — Bug Fixes (not started) last_updated: "2026-04-19T00:00:00.000Z" last_activity: 2026-04-19 progress: - total_phases: 0 + total_phases: 4 completed_phases: 0 total_plans: 0 completed_plans: 0 @@ -21,14 +21,14 @@ progress: See: .planning/PROJECT.md (updated 2026-04-19) **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:** Milestone v2.4 — Admin Foundation +**Current focus:** Milestone v2.4 — Admin Foundation | Phase 35: Bug Fixes ## Current Position -Phase: Not started (defining requirements) +Phase: 35 — Bug Fixes Plan: — -Status: Defining requirements -Last activity: 2026-04-19 — Milestone v2.4 started +Status: Not started +Last activity: 2026-04-19 — Roadmap created for v2.4 Progress: [░░░░░░░░░░] 0% @@ -59,17 +59,18 @@ Key decisions carried forward from v2.3: v2.4 decisions: - Admin role: isAdmin boolean flag on users table (simplest, no Logto role claims needed) +- Admin grant mechanism: CLI script or seed — no public UI for granting admin - Sub-items/component attachment: explicitly deferred to a future milestone - Catalog spec system (typed specs per tag): deferred to v2.5 - Engagement stats (views/likes/saves/appearances): deferred to v2.5 ### Pending Todos -- Fix Add Candidate button shows wrong modal on thread page (ui) -- Fix item image not showing on collection overview -- Investigate slow image loading -- Auth prompt sign-in button should redirect directly to Logto -- Cursor pointer on all clickable links +- Fix Add Candidate button shows wrong modal on thread page (ui) — Phase 35 +- Fix item image not showing on collection overview — Phase 35 +- Investigate slow image loading — Phase 35 +- Auth prompt sign-in button should redirect directly to Logto — Phase 35 +- Cursor pointer on all clickable links — Phase 35 ### Blockers/Concerns @@ -90,5 +91,5 @@ Items carried forward from v2.3: ## Session Continuity Last session: 2026-04-19 -Stopped at: milestone v2.4 initialized — roadmap pending +Stopped at: Roadmap created — ready to plan Phase 35 Resume file: None