Wiring + one copy pass. No grade, ledger, model or scoring change (diff empty
across intelligence/, ledgerService, outcomeService, gradeSlateService).
REVIEW ZERO — each surface proven with real data BEFORE wiring:
0.1 /intelligence vs /system are NOT duplicates. System.dc.html is a
multi-surface artboard (TERMINAL + INTELLIGENCE + WIRE sections), not the
design for a distinct /system route; its INTELLIGENCE section is already
realised as the live app/intelligence/page.tsx. No /system page exists and
none should be built as a second copy — the prod 404 is correct.
0.2 /intelligence renders live and gates SERVER-side, not by blur: the proxy
requires auth and limits by tier (desk 50 signals / non-desk 8), and
returns 401 to an anonymous caller (verified live). No leak.
0.3 /slip parses a real DraftKings slip end to end: 3/3 legs,
needs_review false, Aaron Judge total_bases over 1.5 @ -115. Honest limit
recorded: parsers are layout-rigid, an unsupported layout yields ZERO legs
rather than wrong ones (never-guess), so real-world OCR hit-rate across
layouts is CANNOT DETERMINE until user slips arrive.
0.4 /parlay direct route hits the real correlation builder on the same
ParlayContext the drawer uses.
0.5 /marketplace advertised four unbuilt things but made NO performance or
profit claim, and its capture was already real (/api/waitlist upserts to a
waitlist table). The gap was tense, not fabrication.
WIRED: Nav MORE gains Intelligence, Slip Reader and Marketplace; Parlay Lab
re-pointed from the drawer hash to /parlay (the drawer is unaffected —
ParlayPanel stays mounted with its floating badge).
GATING: /intelligence added to GATED_ROUTES because its feed 401s signed-out, so
an ungated link would land visitors on a permanently empty page. /parlay stays
OPEN deliberately — it is the free parlay funnel and gating it would be a
monetization regression.
/marketplace honesty pass: every item body now opens "Not built yet." /
"Not written yet." / "Not produced yet." with what is planned; the subhead states
it is not a purchase, not a pre-order and not a promise of a ship date; the
playbook item carries "No profit claim, no promised return". The capture stays
real — no fake button. Unit-locked.
Floor: 315 suites / 3920 tests green (12 new), web build exit 0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QJs13VsyiSKYQP6rj3NNmc
4.4 KiB
SPEC — WAVE 1: WIRE THE WORKING SURFACES + /marketplace HONESTY (shipped)
2026-07-31. Wiring + one copy pass. No grade, ledger, model, or scoring change.
REVIEW ZERO — each surface proven BEFORE wiring
- 0.1
/intelligencevs/system— NOT duplicates; nothing to resolve away.System.dc.htmlis a MULTI-surface artboard (it contains TERMINAL, INTELLIGENCE and WIRE sections), not the design for a distinct/systemroute. Its INTELLIGENCE section is already realised as the liveapp/intelligence/page.tsx. No/systempage exists and none should be built as a second copy — the prod 404 is correct. Only/intelligencewas wired. ✅ - 0.2
/intelligencerenders live + gates correctly. Real feed (/api/intelligence/feed), 160 lines, zero placeholders. Entitlement is enforced SERVER-side, not by blur: the proxy requires auth and limits by tier — desk 50 signals / non-desk 8 — and returns401 Not signed into an anonymous caller (verified live in prod). So making it nav-reachable leaks nothing. ✅ - 0.3
/slipfunctions END TO END on a real slip. Parsed the real DraftKings fixture: 3/3 legs,needs_review: false, leg 1 =Aaron Judge · total_bases · over 1.5 @ -115. ✅ Honest limit recorded: the parsers are layout-rigid. A slip in an unsupported layout yields zero legs rather than wrong ones — correct per the NEVER-GUESS contract, but it means real-world OCR hit-rate across layouts is CANNOT DETERMINE until real user slips arrive. - 0.4
/parlaydirect route hits the working surface.app/parlay/page.tsxis the real correlation builder on the sameParlayContextthe drawer uses — not a separate unbuilt page. ✅ - 0.5
/marketplaceadvertises four unbuilt things (API access · custom alerts · "The Edge" playbook · merch capsule). No performance/edge/profit claim was present (the worse category — clean). The capture was already REAL:fetch('/api/waitlist')→src/routes/waitlist.jsupserts to awaitlisttable. The gap was tense: bodies read as present-tense descriptions.
PHASE 1 — WIRED (all three passed)
Nav.tsx MORE: Intelligence, Slip Reader, Marketplace added; Parlay Lab re-pointed from
#parlay (drawer-only) to /parlay (the real page). The drawer is unaffected — ParlayPanel stays
mounted in the layout with its floating badge, its natural in-context use from a prop row.
Gating change (one line, principled): /intelligence added to GATED_ROUTES. Its feed 401s
signed-out, so an ungated nav link would land visitors on a permanently empty page. /slip was already
gated (personal surface). /parlay deliberately stays OPEN — it is the free parlay funnel and
gating it would be a monetization regression (same rule as dashboard/scan).
PHASE 2 — /marketplace HONESTY PASS
Every item body now opens "Not built yet." / "Not written yet." / "Not produced yet." followed by what is planned. The subhead is explicit: "None of the below is built yet… joining a list records your interest, nothing more. It is not a purchase, not a pre-order, and not a promise of a ship date." The playbook item carries "No profit claim, no promised return." The capture stays REAL (no fake button). Unit-locked: every body must contain a not-yet marker, and the page must carry no guaranteed/win-rate/ROI/beat-the-book language.
PHASE 3 — VERIFY
Grade, ledger, model, scoring untouched (diff empty across intelligence/, ledgerService,
outcomeService, gradeSlateService). 315 suites / 3,920 tests green (12 new), web build exit 0.
Chrome audit manifest — Wave 1 additions:
| surface | state | check |
|---|---|---|
/intelligence |
signed-out → should redirect to /login (now gated) |
no empty-feed page |
/intelligence |
free vs ENTITLED (Desk) | free sees 8 signals + lock overlay; Desk sees 50 — entitled path needs Kev |
/slip |
free (signed-in) | upload/paste → editable legs; unsupported layout → empty, not wrong |
/parlay |
logged-out | direct nav entry loads the full lab; free 2-leg cap + payout blur |
/marketplace |
logged-out | "Not built yet" on every item; Join waitlist records and confirms |
TAGS
VERIFIED: 0.1–0.5, all wiring, gating, copy. CANNOT DETERMINE: real-world slip OCR hit-rate across book layouts (no user slips yet). BLOCKED: none.