Launch criteria¶
961tech runs through three gates: M1 (internal prototype, shipped 2026-04-26), M2 (closed beta), public launch. Each gate has must-have, should-have, nice-to-have criteria.
M1 — internal prototype (shipped)¶
Must-have (satisfied)
- 3 retailers scraped end-to-end ✓ (now 7 per #20)
- Build flow with all 8 PC parts categories ✓ (ADR-0002)
- Click attribution surface (/api/go/...) ✓
- Tests for matcher, rules, scrapers ✓
- Public docs site (mkdocs) ✓ (live at https://961tech.pages.dev)
M2 — closed beta¶
Must-have - [ ] Production hosting deployed (#19 — gated on Cloudflare account credentials) - [ ] Auth.js with one OAuth provider (#11) - [x] CSP + security headers (ADR-0012, shipped #176) - [x] Affiliate disclosure surface (ADR-0014 D2, shipped #169) - [ ] ToS + privacy policy lawyer-reviewed (ADR-0014 D3, gated on lawyer) - [x] Per-listing liability disclaimer (ADR-0014 D5, shipped #169) - [x] Soft-delete pattern on listings (ADR-0014 D4, shipped #168) - [x] AI discoverability surface (robots.txt + sitemap.xml + JSON-LD + llms.txt — shipped #171) - [ ] Save-build (cookie + account claim) (#12) - [ ] Price drop alerts (#14) - [ ] Production observability (Sentry + CFWA + AE writeDataPoint per ADR-0015, gated on hosting) - [ ] At least one Stage-3 partner agreement signed (gated on MASTER outreach)
Should-have - [ ] #21 LLM-assisted spec extraction → boost match rate from 13.5% to 50%+ on Cooler / RAM / Storage / PSU - [ ] #15 Cart aggregator (multi-merchant optimizer) - [ ] #16 Admin tools (vendor CRUD, CSV import) - [ ] #17 Affiliate reconciliation S2S postback contract - [ ] #138–142 UI polish (retailer pages, /about, /faq, error pages, mobile nav) — partially shipped #175 - [ ] Daily aggregator pg-boss job (#164)
Nice-to-have - [ ] #7 Compare 2+ products - [ ] #8 Price history graph - [ ] #13 Share build via slug - [ ] #9 Build guides
Public launch (post-M2)¶
Must-have (M2 complete +) - [ ] 8+ retailers scraped (currently 7) - [ ] Match rate > 30% overall (currently 13.5%) - [ ] Soft-launch beta gathered ≥ 50 active users for ≥ 14 days - [ ] At least one Stage-4 (S2S postback) integration live - [ ] Lebanese tech-community outreach launched (#153) - [ ] Launch checklist re-reviewed by anyone other than MASTER (compliance, security, brand) - [ ] First public-facing incident postmortem written even if hypothetical (proves we know how) - [ ] DR test passed within 30 minutes wall-clock - [ ] Lawyer signoff on ToS + privacy + per-retailer agreement template
Should-have - [ ] Monitor + laptop + prebuilt categories shipped per ADR-0010 - [ ] Mobile-first ADR locked (currently #158, deferred) - [ ] User-pricing ADR locked (currently #159, deferred)
Go/no-go decision¶
Run on a Friday before the proposed launch Monday. Walk through every must-have. Any unchecked → no-go, file the gap, push the launch by ≥ 1 week.
Postmortem after launch¶
Whatever the outcome, write a postmortem within 7 days. Template at docs/postmortems/_template.md.