docs: top-graded selector fingerprinted — strip-after-rank boundary proven in prod
The anonymous live order (Brionna Jones edge 29.4 ahead of Rhyne Howard edge 42.9) is only explicable by server-side p_win ranking (.90 vs .745, both takeable) while the payload carries no paid fields — the free caller got the paid RANKING without the paid SIGNAL, on live data. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QJs13VsyiSKYQP6rj3NNmc
This commit is contained in:
@@ -389,6 +389,11 @@ dashboard every viewer receives the free-tier payload — correct order, no paid
|
|||||||
default (forwarding auth into a shared cache is how paid payloads leak); per-tier delivery through the
|
default (forwarding auth into a shared cache is how paid payloads leak); per-tier delivery through the
|
||||||
proxy needs a tier-keyed cache and is NOT done here.
|
proxy needs a tier-keyed cache and is NOT done here.
|
||||||
|
|
||||||
**Verified:** 311 suites / 3882 tests green (18 new, leak test on POPULATED p_win), web build exit 0,
|
**Verified:** 311 suites / 3882 tests green (18 new, leak test on POPULATED p_win), web build exit 0.
|
||||||
and induced on real prod snapshot data — MLB 8 / WNBA 10 props, 0 paid-field leaks, render-contract
|
**Post-deploy fingerprint (`72a14dc`) — the boundary proven in production:** 404→200 captured across the
|
||||||
safe. Dashboard visual is auth-gated → tagged for the Chrome audit, not faked.
|
deploy boundary; the anonymous live order is *1. Brionna Jones (edge 29.4) · 2. Rhyne Howard (edge 42.9)*
|
||||||
|
— an edge-only sort would lead with Howard (and the local induction over the stripped snapshot did), so
|
||||||
|
**server-side p_win ordered it** (Brionna .90 @−106 > Howard .745 @−120) while the payload carries
|
||||||
|
**PAID FIELDS: NONE**. A bogus bearer token also yields no paid fields (fail-closed proven in prod).
|
||||||
|
The board's proxy path now returns 10 props, so TOP GRADES **renders** instead of falling back to empty.
|
||||||
|
The rendered board is client-side → tagged for the Chrome audit, not faked.
|
||||||
|
|||||||
@@ -311,6 +311,23 @@
|
|||||||
> market facts (book/fair) SURVIVE — the fair leg is never the paywall. Also locked: chalk (p_win .95
|
> market facts (book/fair) SURVIVE — the fair leg is never the paywall. Also locked: chalk (p_win .95
|
||||||
> @−300) never tops the board, nulls last but PRESENT, refusals excluded, unrenderable rows dropped,
|
> @−300) never tops the board, nulls last but PRESENT, refusals excluded, unrenderable rows dropped,
|
||||||
> thin slate → `200 {props:[]}` never a 404, and board-vs-hero differ by design yet agree within tier.
|
> thin slate → `200 {props:[]}` never a 404, and board-vs-hero differ by design yet agree within tier.
|
||||||
|
> ### ✅ POST-DEPLOY FINGERPRINT (commit `72a14dc`) — the boundary PROVEN IN PRODUCTION
|
||||||
|
> **404 → 200 captured across the deploy boundary** (polled every 15s: attempts 1-4 `HTTP 404`,
|
||||||
|
> attempt 5 `HTTP 200`). `Cache-Control: public, max-age=60` for the anonymous caller.
|
||||||
|
> **🔑 THE PROOF THAT THE STRIP-AFTER-RANK BOUNDARY WORKS, on live data, not a fixture.** The
|
||||||
|
> anonymous live order is **1. Brionna Jones (edge 29.4) · 2. Rhyne Howard (edge 42.9)** — both B/c69.
|
||||||
|
> An edge-only sort would put Rhyne Howard FIRST (42.9 > 29.4), and that is exactly what the local
|
||||||
|
> induction over the *stripped* public snapshot produced. Production ranks Brionna first because
|
||||||
|
> **server-side p_win ordered it** (Brionna 0.90 @−106 > Howard 0.745 @−120, both takeable — matching
|
||||||
|
> the ledger rows exactly). So the free caller received the **paid RANKING while the payload carries
|
||||||
|
> `PAID FIELDS: NONE`**. That is the acceptance criterion demonstrated end-to-end in prod.
|
||||||
|
> Also verified live: **bogus bearer token → still no paid fields** (`resolveTierFromRequest` fails
|
||||||
|
> closed, proven in prod, not just in test); render-contract safe on every row + `sport` uppercase;
|
||||||
|
> market facts (book/fair) survive; MLB 3 rows (Chandler Simpson B first); the no-sport merged call
|
||||||
|
> (gradeOfTheDay's shape) returns rows; and **the board's own proxy path `vyndr.app/api/props/top-graded`
|
||||||
|
> now returns 10 props → the TOP GRADES board RENDERS instead of falling back to empty.**
|
||||||
|
> The rendered board itself is a client-side render → TAGGED FOR THE CHROME AUDIT, not faked.
|
||||||
|
|
||||||
> **HELD:** edge_pct rescale/retirement (Order B) · board columns/contract unchanged · tier-keyed proxy
|
> **HELD:** edge_pct rescale/retirement (Order B) · board columns/contract unchanged · tier-keyed proxy
|
||||||
> caching. Dashboard visual is auth-gated → TAGGED FOR THE CHROME AUDIT, not faked.
|
> caching. Dashboard visual is auth-gated → TAGGED FOR THE CHROME AUDIT, not faked.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user