← All findingssource · memory/project_arm_promotion_bar_corrected.md
The promotion bar recorded in project_model_persona_matrix — "200+ priced picks with
units AND positive CLV → register as a served tier" — is not a valid bar and will promote
noise. Measured 2026-08-28 on 27,018 graded WNBA picks (2026-05-01 → 08-28, pulled per-day
from /clv/picks; note bet_odds is AMERICAN, not decimal).
Three corrections the bar misses:
- The baseline is +1.79%, not zero. Every graded WNBA pick anyone made this season returned +1.79% ROI. Resampling a formula's picks from that global pool at the same price bucket is the honest null — it needs no vig assumption and holds price constant, so it isolates selection. "Positive units" clears zero, not +1.79%.
- 55 formula-arms have been measured (27 with n≥200). Bonferroni at 0.05 is p<0.0019. Zero arms clear it. A best-of-N winner is what a 27-way search produces from noise.
- Positive CLV is not evidence. Construction bias is ~+1.1¢ (entry at best-of-books, close from Pinnacle-first). Everything sits 0.93–1.39¢. See project_two_month_retro_2026_08.
Measured (ROI / same-price-random / lift / permutation p):
| arm | n | ROI | random @ price | p |
|---|---|---|---|---|
| deepseek-v4__market_value | 2526 | +5.8% | +1.6% | 0.009 |
| priced_lineedges (served) | 943 | +5.5% | +1.3% | 0.076 |
| form_wnba | 2212 | +5.2% | +2.8% | 0.108 |
| deepseek-v4__fade (CONTROL) | 529 | +4.5% | +2.9% | 0.348 |
form_wnba is not a second model — do not propose promoting it. Its own header:
"props ranked by the gap between recent form (L10 average) and the line, price-agnostic" —
i.e. the line_edges z-score minus the price gate and the suppressors. Generate() returns
empty; picks are POSTed by sport-agents/core/lens_screen.py purely so the board's Form tab
gets its own ledger. Its lift is +2.4pp at p=0.108 and its ROI decays 11.3% → 5.3% → 3.9%
(May-Jun / Jul / Aug).
The deepseek arm reads the picker's own output. model_matrix.py:234 persona prompt:
market_value : both_agree — line_edge_quality AND de-vig point the same side. 43% of its
picks are identical to form_wnba's (same date/player/prop/line/side). Same signal, second
opinion attached. CLV 1.06¢ [0.83, 1.29] = no closing-line edge.
The fade arm is the control that kills the whole family: it is instructed to bet AGAINST recent form and returns +4.5%, indistinguishable from the projection arm's +4.2%. When both directions pay the same, direction is not what pays.
Corrected bar — all four required before serving any arm:
- Lift over same-price random resampling, not over zero.
- p below the multiplicity-corrected threshold for every arm measured.
- CLV above the ~1.1¢ construction bias, with slate-clustered CIs.
- Pre-registered forward test (formula, league, start date, sample target, decision rule written down BEFORE the window opens) — a retrospective search cannot promote itself.
Only live candidate: deepseek-v4__market_value — largest n, biggest lift, only sub-0.01
p. Forward-test it, do not deploy it. Its deterministic twin both_agree (Go, no LLM cost)
tests the same hypothesis and sits at n=27 — raise its volume so it has a real sample by NBA.
Analysis scripts: session scratchpad perm.py / pull3.py. Related:
feedback_model_edge_calibration, project_decision_layer_audit, project_brier_vs_vegas_closed.