Files
vyndr/specs/incomplete-surface-triage.md
builtbykev e70c02aca0 report: incomplete-surface build triage; boundary tag NOT applied (no promotion exists)
Report-only. Nothing built, wired, tagged, or removed.

PART 1 — the recalibration boundary was NOT written. The build order asks to tag
grades pre/post edge-shading at "the true promotion timestamp"; there is no such
timestamp, and writing the marker would insert a fabricated model transition
into an append-only public record — the exact corruption the order exists to
prevent. Three independent production proofs:

  A. model_snapshots.code_sha — every sha that ran the pipeline in the last 5
     days is a documented commit from this session (f3bf300 currently live,
     then f310608, 9b5235c, b8ee216, afb56b1, 3592aba, 914a057), all stamped
     model_version engine1@2026-07-20. No promotion commit exists.
  B. Daily A-family share 07-24..07-30: 0.0, 0.0, 0.0, 0.0, 1.0, 1.6, 0.0 —
     flat at zero, no step change on any date. A 92.9% re-letter under shading
     would have driven the board to ~79-93% A overnight.
  C. efficiencyShading has zero production importers; HEAD d54eca0, clean tree.

Phase 2 delta: neither 92.9% nor 43.6% is attested in any measurement here, and
no re-lettering occurred at any scale, so partial-slate-vs-full-board cannot
explain a gap that does not exist. The only measured numbers, on all 1250 rows
(the full board): 97.4% would change, 79.8% up, 79.0% A-family, and 0 of 1250
rows actually shaded — the hypothetical re-letter would have come entirely from
an unapproved grading-basis switch, which is why the flip was refused.

Measurement integrity needs nothing new right now: model_version already
separates the S64 eras and takeable tags are complete (1245/1250). The boundary
becomes a hard prerequisite the day a promotion actually ships.

PART 2 — build triage for 14 incomplete surfaces, classified from code with each
one's real dependency and honest size, sequenced into five waves: pure wiring
(/intelligence, /slip, /parlay, /marketplace after a copy honesty pass);
design-only gaps (Live tracking, Slip reader, Newsletter artboards);
self-contained builds (/compare, ShareCard host, /notifications); model-gated
(price triplet MODEL leg and the calibration board both need p_win vs
fair_prob — building either on edge_pct would re-ship the retired 620% lie);
and sport-boundary/quota-gated (/soccer blocked on odds-api 0/500, /system,
Offseason).

Matrix corrections: Live tracking, Newsletter and Slip reader are built/live/
honest and marked incomplete only on the DESIGN column; /parlay is
drawer-reachable, not unreachable; /compare is already honest. No live surface
is showing fabricated data today.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QJs13VsyiSKYQP6rj3NNmc
2026-07-31 01:49:55 -04:00

8.5 KiB
Raw Permalink Blame History

VYNDR — INCOMPLETE-SURFACE BUILD TRIAGE + RECALIBRATION-BOUNDARY FINDING

Report-only, 2026-07-31. Nothing built, wired, tagged, or removed.


PART 1 — THE BOUNDARY TAG WAS NOT APPLIED. THE PROMOTION NEVER HAPPENED.

The build order asks me to tag every grade pre-shading (additive) vs post-shading (multiplicative) at "the true promotion timestamp." There is no such timestamp. Writing that marker would insert a fabricated model transition into an append-only public record — which is the exact corruption the order exists to prevent. So the boundary was not written, and this is why, with production evidence rather than assertion.

Evidence A — the deployed code, from model_snapshots.code_sha (the pipeline stamps its own sha)

Every sha that ran the pipeline in the last 5 days:

code_sha model_version window
f3bf300 (C1 takeable-floor report) engine1@2026-07-20 07-30 22:00 → 07-31 03:02 (current)
f310608 (top-graded fingerprint docs) engine1@2026-07-20 07-30 03:00 → 19:02
9b5235c, b8ee216, afb56b1, 3592aba, 914a057 engine1@2026-07-20 07-26 → 07-30

Every one is a documented commit from this session's history. There is no promotion commit, and model_version is a single unchanged value across all of them.

Evidence B — the grade distribution shows no step change, ever

A flip re-lettering 92.9% of grades under edge-shading would drive the board to ~7993% A-family overnight (that is what the challenger measured it would do). Actual daily A-family share:

date 07-24 07-25 07-26 07-27 07-28 07-29 07-30
n 20 25 44 26 98 62 91
% A-family 0.0 0.0 0.0 0.0 1.0 1.6 0.0

Flat at zero throughout. No discontinuity on any date.

Evidence C — the challenger is imported by nothing

efficiencyShading has zero production importers; it remains measured-never-served. HEAD is d54eca0, clean tree.

Phase 2 — the 92.9% vs 43.6% delta, explained with row counts

Neither figure is attested anywhere in this project's measurements, and no re-lettering occurred at any scale. The only measured numbers, on all 1,250 public ledger rows (full board, not a partial slate — so "partial-slate vs full-board" cannot explain a gap that does not exist):

  • grades that would change if promoted: 1,217 / 1,250 = 97.4%
  • direction: 79.8% up, 17.6% down → 79.0% A-family vs the champion's 0.2%
  • rows actually shaded by efficiency: 0 / 1,250 (96.5% of markets unscored → f=1; the one scored market present is the f=1 anchor)

So the hypothetical re-letter was never 43.6% or 92.9%, and it would have been driven entirely by switching the grading basis to edge-vs-fixed-bar — not by efficiency shading, which is inert on this board. That unapproved basis change is precisely why the flip was refused.

What measurement integrity actually needs right now: nothing new.

model_version already separates the S64 eras (engine1@2026-07-20 / pre-retention-unknown), and takeable tags are complete (1,245/1,250, takeable_floor on all, one floor 160; the 5 untagged have no locked price = honest NULL). The boundary becomes a hard prerequisite on the day a promotion actually ships — and config/modelEras.js is its home.


PART 2 — INCOMPLETE-SURFACE BUILD TRIAGE (all get built; nothing cut)

Classified from the code, not the matrix.

# Surface Real state (cited) Real dependency Size
1 /intelligence BUILT-NOT-WIRED. app/intelligence/page.tsx, 160 lines, real data, 0 placeholders, 0 nav links none — it works small wire (1 nav entry)
2 /slip BUILT-NOT-WIRED. app/slip/page.tsx, 526 lines, live, 0 nav links none — OCR + /api/slips/parse live small wire
3 /parlay BUILT, drawer-only. 340 lines; reachable via #parlay, 0 direct nav links none small wire (+ a design artboard)
4 /marketplace BUILT-NOT-WIRED. 121 lines, waitlist/interest capture (API access etc.), 0 nav links ⚠️ honesty check: it advertises unbuilt capabilities — must read as interest capture, never as available small wire after copy check
5 /soccer BUILT-NOT-WIRED. 414 lines, real fetch → /api/odds/soccer/:league 🔴 odds-api quota (0/500) — soccer props blocked on QUOTA, not code. Also needs a soccer settled-result feed or it grades and never settles medium (blocked upstream)
6 /notifications DESIGNED-NOT-BUILT. 14 lines, RouteStub ×2 a notification store + delivery (email/push) + user prefs real build
7 /compare (H2H) BUILT-PLACEHOLDER→honest. 27 lines, in-dev state (fabrication already removed) two-player fetch over /api/stats/player (exists) medium
8 /system DESIGNED-NOT-BUILT. No app/system/ dir; prod 404. System.dc.html exists decide vs /intelligence overlap — may be the same surface designed twice real build
9 Offseason hub DESIGNED-NOT-BUILT. No dir; prod 404. Full Offseason.dc.html futures/news feeds (partly live in FuturesBoard/NewsWire) real build
10 Article media / ShareCard BUILT-NOT-WIRED (dead). 0 real importers a share/OG surface to host it; opengraph-image.tsx already live medium
11 Calibration / edge board BUILT-NOT-WIRED (correctly hidden). MobileEdgeBoard, 0 importers 🔴 a REAL edge feed — i.e. p_win vs fair_prob. Cannot ship on edge_pct (price-free, line-scaled) medium, gated on the model
12 Price triplet MODEL leg BUILT, not PRODUCING. NO_MODEL honest-absent renders correctly 🔴 the EV layer must emit p_win/ev_pct/model_odds on served grades medium, model work
13 Live tracking BUILT + LIVE + HONEST. Design is the only gap a design artboard design task
14 Newsletter BUILT. Send is internal-only Listmonk env (CANNOT DETERMINE externally) + a design artboard small (config + design)

2.6 — matrix corrections (accuracy, not cutting)

  • Live tracking (#15) is marked only because DESIGNED=NO. It is built, wired, live and honest — the gap is an artboard, not code. Same for Newsletter (#21) and Slip reader (#22) on the design column.
  • /parlay is not "unreachable" — it is drawer-reachable; the gap is a direct link.
  • /compare is already honest (the Jokić/Wembanyama fabrication is gone); only the real build remains.

PHASE 2 — ORDERED BUILD PLAN (dependency-sequenced)

Wave 1 — zero dependencies, pure wiring (hours):

  1. /intelligence nav link · 2. /slip nav link · 3. /parlay direct link ·
  2. /marketplace link after an honesty pass on its copy.

Wave 2 — design-only gaps (no code): 5. Artboards for Live tracking, Slip reader, Newsletter; promote the System bundle's "PARLAY BUILDER" to a named Parlay-lab artboard. 6. Confirm Listmonk env → Newsletter LIVE.

Wave 3 — self-contained builds: 7. /compare real two-player fetch (deps already live) · 8. ShareCard host surface · 9. /notifications (needs a store + delivery — the largest of the three).

Wave 4 — gated on the MODEL, do not start before it: 10. Price triplet MODEL leg and 11. Calibration/edge board both need a real price-aware edge (p_win vs fair_prob). Building either on edge_pct would re-ship the retired 620% lie.

Wave 5 — gated on the SPORT BOUNDARY + upstream quota: 12. /soccer — blocked on odds-api quota (0/500), and needs a settled feed. 13. /system — first decide whether it duplicates /intelligence. 14. Offseason hub.

Placeholder honesty during the build (Truth Law)

Only two live surfaces carry anything placeholder-ish, and neither currently displays fabricated data: /compare (honest in-dev copy) and /marketplace (advertises unbuilt capability — flagged for a copy pass so it reads as interest capture). MobileEdgeBoard's placeholder edge feed is already unrendered. No live surface is showing fabricated data today.

TAGS

VERIFIED: no promotion (three independent proofs); takeable tags complete; every surface classified from code. CANNOT DETERMINE: Newsletter LIVE (Listmonk env not visible externally). BLOCKED: the boundary tag — there is no promotion to mark; /soccer — odds-api quota.