# Requirements: GearBox v2.1 Public Discovery **Defined:** 2026-04-09 **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.1 Requirements Requirements for Public Discovery milestone. Each maps to roadmap phases. ### Public Access - [x] **PUBL-01**: User can browse the global item catalog without logging in - [x] **PUBL-02**: User can view public setups without logging in - [x] **PUBL-03**: User can view user profiles without logging in - [x] **PUBL-04**: Anonymous visitors see the landing page without auth spinner or redirect - [x] **PUBL-05**: Login is only required when user attempts to create/edit/delete their own data ### Discovery - [x] **DISC-01**: Landing page displays an always-visible catalog search bar at the top - [x] **DISC-02**: Landing page shows a feed of popular setups below the search - [x] **DISC-03**: Landing page shows recently added catalog items - [x] **DISC-04**: Landing page shows trending categories - [x] **DISC-05**: Authenticated users see a "Go to Collection" entry point from the landing page ### Catalog Enrichment - [x] **CATL-01**: Global items have attribution fields (sourceUrl, manufacturer, imageCredit, imageSourceUrl) - [x] **CATL-02**: Global items have a unique constraint on (brand, model) preventing duplicates - [x] **CATL-03**: Catalog detail pages display image attribution with credit and source link - [x] **CATL-04**: Bulk import API endpoint accepts multiple catalog items in one request - [x] **CATL-05**: Bulk import uses upsert semantics (ON CONFLICT update, not fail) ### Agent Seeding Tools - [x] **SEED-01**: MCP server has a dedicated `upsert_catalog_item` tool that writes to globalItems (not user-scoped) - [x] **SEED-02**: MCP server has a `bulk_upsert_catalog` tool for batch catalog population - [x] **SEED-03**: Catalog MCP tools include attribution fields (sourceUrl, manufacturer, imageCredit) as parameters ### Infrastructure - [x] **INFR-01**: Public API endpoints are rate-limited to prevent abuse - [x] **INFR-02**: Discovery feed endpoint uses cursor pagination for scalability ## Future Requirements Deferred to future milestones. Tracked but not in current roadmap. ### Personalization - **PERS-01**: Logged-in users see a feed tuned to their collection categories - **PERS-02**: Feed algorithm recommends content based on user's hobby interests ### Reviews & Content - **REVW-01**: Users can write structured reviews on catalog items - **REVW-02**: Reviews appear in the discovery feed - **REVW-03**: Curated/linked external reviews surface in feed ### SEO - **SEO-01**: Catalog pages are crawlable by search engine bots - **SEO-02**: Catalog pages have proper meta tags and structured data ### Catalog Seeding - **SEED-04**: Initial seeding run populates 100+ items across key categories via agent swarm ### Reviews & Ratings (from v2.0) - **REV-01**: User can rate a global item with an overall star rating - **REV-02**: User can rate a global item on predefined dimensions (durability, value, etc.) - **REV-03**: Item detail pages show average ratings from all reviewers ### Aggregation (from v2.0) - **AGG-01**: Item detail pages show crowd-verified specs (manufacturer vs community-measured weight) - **AGG-02**: Item detail pages show which setups include this item - **AGG-03**: Setup composition insights ("commonly paired with") ### Social (from v2.0) - **SOCL-01**: User can fork/copy a public setup as a template - **SOCL-02**: Planning thread candidates can link to global items for auto-populated specs - **SOCL-03**: User can follow other users - **SOCL-04**: User can view an activity feed of followed users' content ### Content Moderation (from v2.0) - **MOD-01**: User can submit freeform text reviews - **MOD-02**: User can report inappropriate content - **MOD-03**: Admin can review and act on reported content ## Out of Scope Explicitly excluded. Documented to prevent scope creep. | Feature | Reason | |---------|--------| | Personalized feed algorithm | Requires usage data and collection analysis — build simple feed first | | SSR / static prerendering for SEO | Needs dedicated research on approach for TanStack Router — defer to v2.2+ | | Freeform reviews / comments | No moderation infrastructure yet — structured UGC only | | Admin role / permission system | Current auth model has no role distinction — API key sufficient for v2.1 | | Image scraping automation | Legal gray area — agent seeding uses manufacturer-provided images with attribution | | User-to-user messaging | High moderation burden, not core to discovery | | Wiki-style open item editing | Quality control risk; structured contributions only | | Marketplace / buy-sell | Payment processing, fraud, legal liability | | AI gear recommendations | Training data requirements, hallucination risk | | Gamification (badges, points) | Incentivizes quantity over quality | | Price tracking / deal alerts | Requires scraping, fragile, legal gray area | | Mobile native app | Web-first, responsive design sufficient | ## Traceability Which phases cover which requirements. Updated during roadmap creation. | Requirement | Phase | Status | |-------------|-------|--------| | PUBL-01 | Phase 24 | Complete | | PUBL-02 | Phase 24 | Complete | | PUBL-03 | Phase 24 | Complete | | PUBL-04 | Phase 24 | Complete | | PUBL-05 | Phase 24 | Complete | | INFR-01 | Phase 24 | Complete | | CATL-01 | Phase 25 | Complete | | CATL-02 | Phase 25 | Complete | | CATL-03 | Phase 25 | Complete | | CATL-04 | Phase 25 | Complete | | CATL-05 | Phase 25 | Complete | | SEED-01 | Phase 25 | Complete | | SEED-02 | Phase 25 | Complete | | SEED-03 | Phase 25 | Complete | | DISC-01 | Phase 26 | Complete | | DISC-02 | Phase 26 | Complete | | DISC-03 | Phase 26 | Complete | | DISC-04 | Phase 26 | Complete | | DISC-05 | Phase 26 | Complete | | INFR-02 | Phase 26 | Complete | **Coverage:** - v2.1 requirements: 20 total - Mapped to phases: 20 - Unmapped: 0 --- *Requirements defined: 2026-04-09* *Last updated: 2026-04-09 after roadmap creation*