# Requirements: GearBox v2.4 **Defined:** 2026-04-19 **Milestone:** v2.4 Admin Foundation **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. ## v2.4 Requirements ### Bug Fixes - [x] **FIX-01**: User clicking "Add Candidate" on a thread page opens the add-candidate modal (not the wrong modal) - [x] **FIX-02**: Item images display correctly on collection overview cards (no broken/missing images) - [x] **FIX-03**: Catalog and collection images load without noticeable delay (slow image loading resolved) - [x] **FIX-04**: Clicking the sign-in button on an auth prompt redirects the user directly to the Logto login page - [x] **FIX-05**: All clickable and interactive elements show a pointer cursor on hover throughout the app ### Admin Role - [ ] **ROLE-01**: The users table has an isAdmin boolean flag that identifies admin users - [ ] **ROLE-02**: Admin can set another user's isAdmin flag via a server-side mechanism (CLI or seed, not public UI) ### Admin Panel — Global Items - [ ] **ADMN-01**: Admin user can navigate to an /admin route that is inaccessible to non-admin users - [ ] **ADMN-02**: Admin can browse all global catalog items with search and tag filtering - [ ] **ADMN-03**: Admin can edit a global catalog item's details (name, brand, model, weight, price, tags, image, attribution fields) - [ ] **ADMN-04**: Admin can delete a global catalog item from the catalog (with confirmation) ### Admin Panel — Tag Management - [ ] **ADMN-05**: Admin can browse all tags with item counts and parent/child relationships displayed - [ ] **ADMN-06**: Admin can create a new tag with a name - [ ] **ADMN-07**: Admin can rename an existing tag - [ ] **ADMN-08**: Admin can assign a parent tag to a tag (enabling sub-tag hierarchy, e.g. "down" under "sleeping-bag") - [ ] **ADMN-09**: Admin can remove a tag's parent assignment (making it a top-level tag again) - [ ] **ADMN-10**: Admin can delete a tag, with a warning if items are currently using it ## Future Requirements (v2.5+) ### Catalog Spec System - **SPEC-01**: Tags can have typed spec field definitions (key, label, unit, type: number/text/image) - **SPEC-02**: Sub-tags inherit the spec schema of their parent tag - **SPEC-03**: Admin can create, edit, and delete spec field definitions for a tag via the admin panel - **SPEC-04**: Global catalog items can have spec values filled in for their tag's spec schema - **SPEC-05**: Catalog item detail page displays spec values in a structured spec sheet section - **SPEC-06**: Items are filterable/comparable by numeric spec values (e.g. R-value, comfort temp) ### Engagement Stats - **STAT-01**: Global catalog item detail pages track view counts - **STAT-02**: Authenticated users can like/save a catalog item (wishlist-style) - **STAT-03**: Catalog item detail page shows owner count, view count, like count, and public setup appearances - **STAT-04**: User can view their list of saved/liked catalog items ## Out of Scope | Feature | Reason | |---------|--------| | User management in admin panel | Not needed until user base grows; Logto handles account lifecycle | | Moderation queue / content flagging | Deferred — requires freeform UGC first | | Sub-items / component attachment to items | High complexity, needs dedicated discussion and milestone | | Freeform reviews or comments | No moderation infrastructure yet | | Social login providers | Logto handles this externally | ## Traceability | Requirement | Phase | Status | |-------------|-------|--------| | FIX-01 | Phase 35 | Complete | | FIX-02 | Phase 35 | Complete | | FIX-03 | Phase 35 | Complete | | FIX-04 | Phase 35 | Complete | | FIX-05 | Phase 35 | Complete | | ROLE-01 | Phase 36 | Pending | | ROLE-02 | Phase 36 | Pending | | ADMN-01 | Phase 36 | Pending | | ADMN-02 | Phase 37 | Pending | | ADMN-03 | Phase 37 | Pending | | ADMN-04 | Phase 37 | Pending | | ADMN-05 | Phase 38 | Pending | | ADMN-06 | Phase 38 | Pending | | ADMN-07 | Phase 38 | Pending | | ADMN-08 | Phase 38 | Pending | | ADMN-09 | Phase 38 | Pending | | ADMN-10 | Phase 38 | Pending | **Coverage:** - v2.4 requirements: 17 total - Mapped to phases: 17 - Unmapped: 0 ✓ --- *Requirements defined: 2026-04-19* *Last updated: 2026-04-19 — traceability finalized for v2.4 roadmap*