diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md deleted file mode 100644 index 0c8635b..0000000 --- a/.planning/REQUIREMENTS.md +++ /dev/null @@ -1,147 +0,0 @@ -# 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*