report: market-efficiency scaling check — FLAT, mechanism structurally absent

Report-only. No threshold, grade, or efficiency value changed.

VERDICT: FLAT. marketEfficiency.js does not exist (zero occurrences of
market_efficiency / efficiency_score in src/ or web/src/). The spec's
0.85/0.60/0.55 values appear in grade_thresholds.json only as PROBABILITY
BANDS - a coincidental numeric overlap, not efficiency scores.

The base edge thresholds (MLB A:5%, NBA A:7%) do not exist either: engine1.js
has zero `edge` references, so the live grade is not an edge-vs-threshold
comparison at all. The specced rule threshold = base x efficiency has no host.

DISPOSITIVE: engine1.js contains ZERO `sport` references. computeFactors
receives no sport or market, so per-market OR per-sport scaling is structurally
impossible in the live grader - not merely unwired.

Phase 2: the matched-edge test is confounded (edge is not the grading input -
the same market emits both B and C at one edge). The aggregate that
discriminates: mean grade index wnba points 4.71 at mean edge 10.2 vs mlb hits
4.58 at 69.5 vs mlb total_bases 4.32 at 84.9 - the efficient market earns the
highest grades on one-eighth the edge, the opposite of spec.

PREMISE CORRECTION (measured): this order's opening claim that full-output and
collapsed grades "agree 100%" does not hold - on 512 rows carrying both they
agree 17.8%, with 33.8% differing by 3+ tiers. The prior discrimination result
stands (champion r=0.0050 null vs probability r=0.1313; MLB 0.0686 n.s. vs
0.2356 p~0.0004). Repo unchanged between orders. The collapse was not a
phantom and the re-adjudication list stays open.

Scope: flat thresholds are a grade-CALIBRATION gap only - the projection and
the CLV edge (which measured p_win, never the letter) are untouched, so this is
not a third shadow-model alarm. But the fix is NOT independently bounded: with
no threshold step to multiply, efficiency scaling presupposes probability
grading. It is rule R4 of specs/full-output-grade-mapping.md and belongs to
that MLB-first challenger.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QJs13VsyiSKYQP6rj3NNmc
This commit is contained in:
Kev
2026-07-30 23:56:48 -04:00
parent 708f0fde5c
commit a6afac43cc
2 changed files with 84 additions and 0 deletions
+33
View File
@@ -456,3 +456,36 @@ order: persist per-row `n`, `SE`, and pre-adjustment `p`** — without them R2/R
**Re-adjudication flagged:** p_win→CLV, the skew audit, **proj-v1.1's "NOT PROVEN" (judged against the
collapsed champion — not final)**, the C1 takeable floor, the calibration curves, and **ROI-by-grade —
with B/C inverted, "MLB-C +4.57%" is likely an artifact of a meaningless letter.**
---
# MARKET-EFFICIENCY SCALING CHECK — 2026-07-30 (report-only). **VERDICT: FLAT.**
**Premise correction first (measured):** the claim that "full-output and collapsed grades agree 100%"
does not hold — on 512 rows carrying both they agree **17.8%**, and **33.8% differ by 3+ tiers**. The
prior discrimination result stands (champion letter r=0.0050 null vs probability r=0.1313; MLB 0.0686
n.s. vs 0.2356 p≈0.0004). Repo unchanged between orders. **The collapse was not a phantom and the
re-adjudication list stays open.**
**0.1 `marketEfficiency.js` does not exist** — zero occurrences of `market_efficiency` /
`efficiency_score` anywhere. The spec's 0.85/0.60/0.55 values DO appear in `grade_thresholds.json` but
those are **probability bands**, a coincidental overlap, not efficiency scores.
**0.2 The base edge thresholds do not exist either**`engine1.js` has **zero `edge` references**; the
grade is an additive factor index, not an edge-vs-threshold comparison. So
`threshold = base × efficiency` has **no host**.
**Phase 1 dispositive: `engine1.js` has ZERO `sport` references.** Sport is not an input to
`computeFactors`, so per-market or per-sport scaling is structurally impossible in the live grader —
not merely unwired. Applies to the champion.
**Phase 2:** the matched-edge test is confounded (edge isn't the grading input — the same market emits
B and C at one edge). The discriminating aggregate: mean grade index **wnba points 4.71** (mean edge
10.2) vs **mlb hits 4.58** (69.5) vs **mlb total_bases 4.32** (84.9) — the efficient market earns the
highest grades on one-eighth the edge, the opposite of the spec.
**Scope:** a flat threshold is a grade-CALIBRATION gap — it does **not** touch the projection or the
CLV edge (which measured `p_win`, never the letter), so it is not a third shadow-model alarm. But it is
**not independently bounded**: with no threshold step to multiply, efficiency scaling presupposes
probability grading. It is rule **R4 of `specs/full-output-grade-mapping.md`** and belongs to that
MLB-first challenger.