# Luna deep analysis — slate 20260831

> Coverage receipt: **COMPLETE** · 9/8 sections; 12/12 games; 7/7 causes; 6/6 sources

# 1. Evidence receipt and gaps

## Source manifest

All seven manifest entries were checked against their recorded status:

| Source | Path | Bytes | Status | Use |
|---|---|---:|---|---|
| Prediction review | `/app/output/reports/prediction_review_20260831.json` | 300,127 | Loaded | Official outcomes and scoring errors |
| Forensic deep audit | `/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260831.json` | 195,470 | Loaded | Probability, provenance, starter, and decision contracts |
| Continuous learning | `/app/output/learning/continuous_learning_daily_20260831.json` | 1,934,747 | Loaded | Stage quality, calibration, lineage, margins, starter comparisons |
| Detailed report | `/app/output/reports/detailed_20260831.html` | 284,841 | Loaded | Game and simulation rendering |
| Ultra-detailed player audit | `/app/output/reports/20260831_ultra_detailed_player_audit.html` | 4,202,742 | Loaded | Player-level prediction trace |
| Structural audit | `/app/output/reports/audit_report_20260831.html` | 257,116 | Loaded | Invariant findings |
| Integrity revision audit | `/app/output/reports/audit_report_20260831_integrity_revision.html` | Not supplied | **Missing** | Post-remediation proof for immutable revision artifacts |

## Coverage

All 12 expected games were reviewed:

- Canonical artifacts loaded: **12**
- Continuous-learning games: **12**
- Forensic deep-audit games: **12**
- Games with starter comparisons: **12**
- Structural audits completed: **12**
- Games structurally audited: **12/12**
- Settled games: **12**
- Winner hits/misses: **8/4**

The data marks learning eligibility as true because all game artifacts passed critical/error structural gates.

## Gaps and contradictions

1. **Missing integrity revision audit.** The manifest explicitly reports `status: "missing"` for the immutable-revision audit. This is an evidence gap and an artifact-integrity limitation, although the structural summary reports zero critical and zero error findings.
2. **Per-game audit contradiction.** Each game has `structural_audit.findings: []` and `status: "PASS"`, but the diagnostic observations state that the structural audit exposed **7 or 8 non-pass findings**. The summaries count only `info` findings—87 across the slate—but the underlying individual findings are not present in this JSON. Their content therefore cannot be independently enumerated or evaluated.
3. **BAL@COL probability-path naming inconsistency.** The game-level trace records `raw_pick_probability: 0.724282`, while the probability-lineage row records `raw_model_pick_probability: 0.7585` and `governor_input_probability: 0.724282`. The lineage is materially more complete; the game-level `raw_pick_probability` field appears to refer to a post-raw/pre-governor value rather than the true raw model output. This is a trace-labeling defect or schema ambiguity, not an unexplained publication bypass.
4. **Confidence-edge convention.** The listed `confidence_home_minus_away` is a signed home-minus-away edge, not a probability itself. For example, BAL@COL has `-0.4985`, corresponding to a published away probability of approximately 0.749 and home probability of approximately 0.251. The reports correctly warn that the “0.50” strong edge is not a half-scale distance from 50%.
5. **No source data for actual player box-score detail beyond starter ER/outs and listed adjustment observations.** No unprovided player performance should be inferred.

---

# 2. Executive diagnosis

## Overall result

- Winner accuracy: **8/12 = 66.67%**
- Misses: **4**
- Mean team-run error: not directly supplied as a slate aggregate, but the pipeline reports published team-run MAE of **3.4167**
- Published margin mean: **1.42**
- Actual margin mean: **4.92**
- Predicted margins ≤2 runs: **11/12**
- Actual margins ≥4 runs: **6/12**
- Published margin compression: **material**
- Published weighted absolute calibration error: **0.1661**
- Validated run-model holdout R²:
  - Away runs: **0.027504**
  - Home runs: **0.037781**
  - Total runs: **0.02717**
- Simulation winner interventions: **0 flips in 12 games**

A correct winner was often accompanied by a poor score prediction. The slate produced **8 winner hits**, but only two games were classified as `solid_correct_call`—CHW@HOU and MIA@WAS. The other six winner hits were either materially wrong scores or, in one case, a correct winner despite substantial starter/run error.

## Separate diagnoses

### Winner accuracy

Winner accuracy was acceptable on this slate at **66.7%**, but not uniformly reliable:

- Historical ML: **8/12**
- Variance-applied: **6/12**
- Enhanced prediction and all later stages: **8/12**

The key process concern is not the final accuracy alone. The `historical_ml → variance_applied` transition regressed winner accuracy by **2 hits**, from 8 to 6, before the enhanced stage recovered those two games. The affected direction changes were:

- BAL@COL: `BAL → TIE`
- NYY@LAA: `LAA → TIE`
- PHI@ARI: `ARI → TIE`

The later recovery does not erase the intermediate regression.

### Calibration quality

Calibration was poor on this 12-game slate:

- Weighted absolute calibration error: **0.1661**
- 0.50–0.55 bucket: average confidence **0.5296**, observed hit rate **0.7143**, error **−0.1847** — underconfident
- 0.55–0.60 bucket: confidence **0.5555**, observed hit rate **0.50**, error **+0.0555** — overconfident
- 0.65–0.70 bucket: confidence **0.6695**, observed hit rate **0.50**, error **+0.1695** — overconfident
- 0.70–0.80 bucket: confidence **0.7492**, observed hit rate **1.00**, error **−0.2508** — underconfident

The bucket behavior is unstable rather than monotonic. The issue register appropriately warns not to infer a stable calibration curve from seven games or from this one slate. The high-raw cluster also deserves attention: it contained **3 games and 2 hits**, while the associated empirical hit rates were only **0.5519, 0.5567, and 0.5766** despite calibrated probabilities from **0.661 to 0.7435**.

### Score accuracy

Score accuracy was the weakest prediction dimension:

- Published margin MAE: **4.6667**
- Published team-run MAE: **3.4167**
- Published total-run MAE: **4.3333**
- Mean predicted margin: **1.42**
- Mean actual margin: **4.92**
- Actual margin ≥4: **6/12**
- Predicted margin ≤2: **11/12**
- Validated run-model R² was near zero for away, home, and total runs.

The issue register’s `score_margin_compression` finding is therefore material and high severity. It does not justify mechanically widening every score. The correct response is rolling out-of-sample evaluation of variance width, tail coverage, margin MAE, and total-run MAE.

### Starter accuracy

Starter projections were a major contributor to the four losses:

- `starter_projection`: **3 primary loss drivers**
- Starter-line identity matched in all 12 games.
- The worst starter ER errors included:
  - Kyle Harrison: **+6 ER error**
  - Robert Stock: **−4**
  - Ian Seymour: **+3**
  - Bryce Elder: **+4**
  - Gage Jump: **+5**
  - Payton Tolle: **+4**

The starter lever tension reports that pitcher-form/prior weighting would have helped **9 games** and hurt **1**, but this is a small slate and does not establish causal superiority.

### Artifact integrity

Structural coverage was complete and the aggregate structural audit reports:

- Critical: **0**
- Error: **0**
- Warning: **0**
- Info: **87**

However:

- The integrity revision audit is missing.
- Underlying per-game info findings are absent despite observations claiming 7–8 non-pass findings per game.
- The BAL probability trace contains a field-label discrepancy.

Therefore, artifact integrity is broadly passing at the critical/error gate but not fully clean as a forensic evidence package.

## Causal issue register reconciliation

| ID | Severity | Evidence | Affected games | Action | Guardrail |
|---|---|---|---|---|---|
| `pipeline_winner_instability` | High | `historical_ml → variance_applied` reduced winner accuracy by 0.1667, or 2 hits | BAL@COL, NYY@LAA; PHI@ARI also changed direction but recovered | Identify exact boundary flips and preserve pre/post winners | Later recovery does not make the unstable intermediate transition harmless |
| `score_margin_compression` | High | 11/12 predicted margins ≤2; 6/12 actual margins ≥4; predicted mean 1.42 vs actual 4.92 | Listed six direct affected games: DET@MIN, MIL@CHC, NYY@LAA, OAK@TEX, SD@CIN, SF@ATL | Evaluate distribution width, tail coverage, and margin MAE on rolling OOS slates | One blowout does not justify widening every point estimate |
| `single_slate_calibration_instability` | High | Weighted absolute calibration error 0.1661 | All 12 | Monitor buckets over registered rolling window | This slate cannot establish a stable calibration curve |
| `weak_run_model_signal` | High | Run R² only 0.0275/0.0378/0.0272 | All 12 | Investigate features/target through isolated training backtest | Positive R² only beats the mean baseline; exact scores remain unreliable |
| `complete_slate_audit_coverage` | Info | 12/12 structurally audited | All 12 | Retain per-game receipt | Coverage does not erase internal findings |
| `probability_publication_delta_explained` | Info | 8 material movements, all attributed to score coherence and/or recency | Eight listed games | Continue displaying all probability layers | A higher published value is not automatically a governor bypass |
| `simulation_inert_on_slate` | Info on this slate, escalated persistent pattern across slates | 0 candidates and 0 published flips | All 12 | Measure simulation contribution and verify execution | Zero flips is not itself a defect and does not prove no score work occurred |

---

# 3. Every game

The pipeline score path for all games was:

`historical_ml → variance_applied → enhanced_prediction → embedded_savant_run_environment → fundamental_edge_target_review → capped_target → simulation_result → published_final`

Only the first two transitions changed winner direction on this slate. Simulation and later stages produced no winner flips.

## BAL@COL — hit, correct winner/wrong score

- Predicted: BAL **7**, COL **4**; winner BAL
- Actual: BAL **2**, COL **1**; winner BAL
- Published pick probability: BAL **0.749242**; home COL probability approximately **0.250758**
- System edge: home-minus-away **−0.4985**, described as a strong away edge
- Conviction: **Strong**
- Brier: **0.06288**
- Team-run absolute error: **8**
- Total-run bias: **+8**; predicted total 11 vs actual 3
- Starter projections:
  - Cade Povich: projected 2 ER/14 outs; actual 1 ER/15 outs; ER error **−1**
  - Tanner Gordon: projected 2 ER/15 outs; actual 1 ER/15 outs; ER error **−1**
- Edges:
  - Season home-minus-away: **−1.0438**
  - Recent: **−0.976**
  - Pitcher: **−0.0247**
  - Composite: **−1.4124**
- Controls:
  - Governor applied
  - Governed probability: **0.7435**
  - Score coherence brought publication to **0.749242**
  - No recency guardrail
  - Score action: `supported_blowout_margin_expansion`
- Score path:
  - Historical ML initially selected BAL.
  - Variance application changed direction to `TIE`.
  - Enhanced prediction restored `BAL`.
  - Later stages preserved BAL.
- Player/run adjustments:
  - Away runs factor: **1.0376**
  - Home runs factor: **1.0129**
  - Savant adjustment applied
  - Season quality moved score toward BAL by a margin adjustment of **−0.4384**
- Audit: status PASS; 0 critical/error/warning; 101 good and 7 info in summary, but detailed findings are absent.
- Primary cause: **Score/run-environment miss**, despite accurate starters and correct winner.
- Secondary cause: **Intermediate variance-stage winner instability**; it temporarily moved the winner to a tie.

## CHW@HOU — hit, solid correct call

- Predicted: CHW **4**, HOU **5**; winner HOU
- Actual: CHW **3**, HOU **6**; winner HOU
- Published HOU probability: **0.530**
- System edge: home-minus-away **+0.06**
- Conviction: **Lean**
- Brier: **0.2209**
- Team-run absolute error: **2**
- Total-run bias: **0**
- Starter projections:
  - Anthony Kay: projected 3 ER/16 outs; actual 5 ER/14 outs; ER error **+2**
  - Peter Lambert: projected 1 ER/16 outs; actual 2 ER/14 outs; ER error **+1**
- Edges:
  - Season: **−0.5164**
  - Recent: **−0.1033**
  - Pitcher: **+0.0587**
  - Composite: **−0.0007**
- Controls:
  - Governor applied: 0.52085 input to 0.5082 governed probability
  - Score coherence plus matchup-recency guardrail
  - Published probability rose to 0.530
  - Score action: `no_change`
- Score path: No reported final-stage winner change; winner remained HOU.
- Player/run adjustments:
  - Away factor **0.9817**
  - Home factor **1.0404**
  - Savant adjustment applied
- Audit: PASS; 0 critical/error/warning; 100 good, 8 info.
- Primary cause: None material.
- Secondary cause: Mild starter projection error, but it did not damage the winner or score substantially.

## DET@MIN — hit, correct winner/wrong score

- Predicted: DET **4**, MIN **5**; winner MIN
- Actual: DET **1**, MIN **11**; winner MIN
- Published MIN probability: **0.530**
- System edge: **+0.06 home**
- Conviction: **Lean**
- Brier: **0.2209**
- Team-run absolute error: **9**
- Total-run bias: **−3**; predicted total 9 vs actual 12
- Starter projections:
  - Jackson Jobe: projected 3 ER/14 outs; actual 4 ER/15 outs; error **+1**
  - Taj Bradley: projected 4 ER/16 outs; actual 1 ER/21 outs; error **−3**
- Edges:
  - Season: **−0.4842**
  - Recent: **+0.302**
  - Pitcher: **−0.0063**
  - Composite: **−0.0247**
- Controls:
  - Governor: 0.52085 input → 0.5082 governed
  - Recency guardrail and score coherence
  - Published: 0.530
  - Score action: `no_change`
- Score path: Winner remained MIN after historical ML and all later stages.
- Player/run adjustments:
  - Away factor **1.0322**
  - Home factor **1.0259**
  - Bradley allowed 1 ER vs 4 projected
- Audit: PASS; 0 critical/error/warning; 102 good, 7 info.
- Primary cause: **Run distribution/margin compression**.
- Secondary cause: **Starter projection error**, especially Bradley’s three-ER overprojection.

## MIA@WAS — hit, solid correct call

- Predicted: MIA **3**, WAS **4**; winner WAS
- Actual: MIA **3**, WAS **6**; winner WAS
- Published WAS probability: **0.530**
- System edge: **+0.06 home**
- Conviction: **Lean**
- Brier: **0.2209**
- Team-run error: **2**
- Total-run bias: **−2**
- Starter projections:
  - Ryan Gusto: projected 4 ER/14 outs; actual 1 ER/13 outs; error **−3**
  - Will Dion: projected 1 ER/15 outs; actual 0 ER/9 outs; error **−1**
- Edges:
  - Season: **−0.0497**
  - Recent: **−0.122**
  - Pitcher: **−0.0621**
  - Composite: **−0.0145**
- Controls:
  - Governor: 0.49585 input → 0.5082 governed
  - Recency guardrail plus score coherence
  - Published: 0.530
  - Score action: `no_change`
  - Diagnostic flag: `large_savant_run_environment_swing`
- Score path: Winner stayed WAS.
- Player/run adjustments:
  - Away factor **1.0000**
  - Home factor **0.9379**
  - Gusto allowed one ER versus four projected.
- Audit: PASS; 0 critical/error/warning; 101 good, 8 info.
- Primary cause: None material.
- Secondary cause: Starter ER overprojection, offset by a reasonably close team-run result.

## MIL@CHC — miss

- Predicted: MIL **6**, CHC **5**; winner MIL
- Actual: MIL **3**, CHC **17**; winner CHC
- Published pick probability: MIL **0.530**, CHC **0.470**
- System edge: home-minus-away **−0.06**, a lean MIL edge
- Conviction: **Lean**
- Brier: **0.2809**
- Team-run absolute error: **15**
- Total-run bias: **−9**; predicted total 11 vs actual 20
- Starter projections:
  - Kyle Harrison: projected 3 ER/17 outs; actual 9 ER/11 outs; error **+6**
  - Clay Holmes: projected 2 ER/18 outs; actual 0 ER/18 outs; error **−2**
- Edges:
  - Season: **−0.3922**
  - Recent: **−0.350**
  - Pitcher: **−0.1125**
  - Composite: **−0.7307**
- Controls:
  - Governor: 0.530 input → 0.5082 governed
  - Recency guardrail plus score coherence
  - Published pick remained MIL at 0.530
  - Score action: `no_change`
  - Diagnostic flag: `large_savant_run_environment_swing`
- Score path: The final winner remained MIL; no later-stage winner recovery occurred.
- Player/run adjustments:
  - Away factor **1.0498**
  - Home factor **0.9373**
  - Harrison’s six-ER miss was the largest starter error on the slate.
- Audit: PASS; 0 critical/error/warning; 101 good, 7 info.
- Primary cause: **Starter projection failure**, especially Harrison.
- Secondary cause: **Run-environment under-dispersion**; CHC scored 12 more runs than projected and the total was nine runs too low.

## NYM@TB — miss

- Predicted: NYM **3**, TB **5**; winner TB
- Actual: NYM **3**, TB **2**; winner NYM
- Published TB probability: **0.6655**
- System edge: **+0.331 home**
- Conviction: **Strong**
- Brier: **0.44289**, worst on the slate
- Team-run absolute error: **3**
- Total-run bias: **+3**
- Starter projections:
  - Robert Stock: projected 4 ER/12 outs; actual 0 ER/16 outs; error **−4**
  - Ian Seymour: projected 0 ER/15 outs; actual 3 ER/19 outs; error **+3**
- Edges:
  - Season: **+0.7963**
  - Recent: **+0.380**
  - Pitcher: **−0.0457**
  - Composite: **+0.7924**
- Controls:
  - Governor: 0.666292 input → 0.661 governed
  - No recency guardrail
  - Score coherence produced published 0.6655
  - Score action: `no_change`
- Score path: Winner stayed TB through publication; simulation did not intervene.
- Player/run adjustments:
  - Away factor **1.0042**
  - Home factor **0.9585**
- Audit: PASS; 0 critical/error/warning; 100 good, 8 info.
- Primary cause: **Starter projection failure**, with both starters materially misestimated.
- Secondary cause: **Wrong conviction side**; the system backed TB with a genuine 0.33 edge and lost.
- Additional classification: This was a high-confidence calibration failure, not merely a close-game miss.

## NYY@LAA — miss

- Predicted: NYY **5**, LAA **4**; winner NYY
- Actual: NYY **1**, LAA **10**; winner LAA
- Published NYY probability: **0.550872**; LAA approximately **0.449128**
- System edge: home-minus-away **−0.1017**
- Conviction: **Moderate**
- Brier: **0.30346**
- Team-run absolute error: **10**
- Total-run bias: **−2**
- Starter projections:
  - Elmer Rodríguez: projected 2 ER/14 outs; actual 4 ER/11 outs; error **+2**
  - Walbert Ureña: projected 2 ER/17 outs; actual 1 ER/21 outs; error **−1**
- Edges:
  - Season: **−1.3728**
  - Recent: **−0.696**
  - Pitcher: **+0.0456**
  - Composite: **−1.0087**
- Controls:
  - Governor: 0.570 input → 0.591 governed
  - Recency guardrail applied
  - Score coherence probability 0.588013
  - Published NYY probability reduced to 0.550872
  - Score action: `supported_blowout_margin_expansion`
- Score path:
  - Historical ML: `LAA → TIE`
  - Variance stage was an intermediate regression.
  - Enhanced prediction: `TIE → NYY`
  - Later stages retained NYY.
- Player/run adjustments:
  - Away factor **0.9521**
  - Home factor **0.9977**
  - Yankees offense was four runs overprojected; LAA offense six underprojected.
- Audit: PASS; 0 critical/error/warning; 101 good, 7 info.
- Primary cause: **Wrong conviction side**, though the edge was moderate rather than strong.
- Secondary cause: **Lean-side miss and score compression**; actual margin was 9 while predicted margin was 1.
- Required interpretation: a **0.12 home-away confidence edge is moderate**, not a near coin flip; the system’s moderate NYY edge was nevertheless on the wrong side.

## OAK@TEX — hit, correct winner/wrong score

- Predicted: OAK **3**, TEX **5**; winner TEX
- Actual: OAK **1**, TEX **8**; winner TEX
- Published TEX probability: **0.530**
- System edge: **+0.06 home**
- Conviction: **Lean**
- Brier: **0.2209**
- Team-run absolute error: **5**
- Total-run bias: **−1**
- Starter projections:
  - Gage Jump: projected 2 ER/15 outs; actual 7 ER/13 outs; error **+5**
  - Jacob deGrom: projected 1 ER/15 outs; actual 0 ER/21 outs; error **−1**
- Edges:
  - Season: **+0.8297**
  - Recent: **+0.118**
  - Pitcher: **+0.0056**
  - Composite: **+0.8582**
- Controls:
  - Governor: 0.52085 → 0.5082
  - Recency guardrail and score coherence
  - Published: 0.530
  - Score action: `no_change`
  - Diagnostic flag: `large_savant_run_environment_swing`
- Score path: Winner remained TEX.
- Player/run adjustments:
  - Away factor **0.9634**
  - Home factor **0.9690**
  - Jump’s five-ER error was material.
- Audit: PASS; 0 critical/error/warning; 101 good, 7 info.
- Primary cause: **Starter projection error**, although it did not reverse the winner.
- Secondary cause: **Margin compression**.

## PHI@ARI — hit, correct winner/wrong score

- Predicted: PHI **5**, ARI **4**; winner PHI
- Actual: PHI **2**, ARI **1**; winner PHI
- Published PHI probability: **0.526943**
- System edge: **−0.0539 home**, favoring PHI
- Conviction: **Lean**
- Brier: **0.223783**
- Team-run absolute error: **6**
- Total-run bias: **+6**
- Starter projections:
  - Aaron Nola: projected 4 ER/16 outs; actual 1 ER/15 outs; error **−3**
  - Brandon Pfaadt: projected 1 ER/19 outs; actual 2 ER/18 outs; error **+1**
- Edges:
  - Season: **−0.3008**
  - Recent: **−0.3113**
  - Pitcher: **−0.1097**
  - Composite: **−0.6646**
- Controls:
  - Governor: 0.530 → 0.5082
  - Recency guardrail and score coherence
  - Published: 0.526943
  - Score action: `no_change`
- Score path:
  - Historical ML: `ARI → TIE`
  - Variance stage: remained tie.
  - Enhanced prediction: `TIE → PHI`
  - Later stages preserved PHI.
- Player/run adjustments:
  - Away factor **1.0373**
  - Home factor **0.9276**
  - Nola’s three-ER overprojection contributed to the six-run total error.
- Audit: PASS; 0 critical/error/warning; 101 good, 7 info.
- Primary cause: **Score/run-environment miss**.
- Secondary cause: **Intermediate variance-stage direction change**, later correctly recovered.

## SD@CIN — hit, correct winner/wrong score

- Predicted: SD **6**, CIN **4**; winner SD
- Actual: SD **5**, CIN **0**; winner SD
- Published SD probability: **0.673503**
- System edge: **−0.347 home**, favoring SD
- Conviction: **Strong**
- Brier: **0.1066**
- Team-run absolute error: **5**
- Total-run bias: **+5**
- Starter projections:
  - Michael King: projected 3 ER/18 outs; actual 0 ER/18 outs; error **−3**
  - Brady Singer: projected 4 ER/15 outs; actual 4 ER/13 outs; error **0**
- Edges:
  - Season: **−0.6951**
  - Recent: **−0.3607**
  - Pitcher: **−0.0053**
  - Composite: **−0.8441**
- Controls:
  - Governor: 0.691798 → 0.677
  - No recency guardrail
  - Score coherence led to published 0.673503
  - Score action: `supported_blowout_margin_expansion`
- Score path: Winner remained SD.
- Player/run adjustments:
  - Away factor **1.0072**
  - Home factor **1.0019**
  - King allowed zero ER rather than three.
- Audit: PASS; 0 critical/error/warning; 101 good, 7 info.
- Primary cause: **Score/run-environment miss**, especially CIN’s zero runs.
- Secondary cause: Starter error from King’s three-ER overprojection.
- This was a correct strong call with an incorrect exact score.

## SEA@BOS — hit, correct winner/wrong score

- Predicted: SEA **2**, BOS **3**; winner BOS
- Actual: SEA **8**, BOS **9**; winner BOS
- Published BOS probability: **0.560186**
- System edge: **+0.1204 home**
- Conviction: **Moderate**
- Brier: **0.193436**
- Team-run absolute error: **12**
- Total-run bias: **−12**; predicted total 5 vs actual 17
- Starter projections:
  - George Kirby: projected 2 ER/17 outs; actual 5 ER/15 outs; error **+3**
  - Payton Tolle: projected 0 ER/18 outs; actual 4 ER/17 outs; error **+4**
- Edges:
  - Season: **+0.9569**
  - Recent: **+0.5327**
  - Pitcher: **+0.0158**
  - Composite: **+0.8742**
- Controls:
  - Governor: 0.58865 → 0.5816
  - Recency guardrail plus score coherence
  - Published: 0.560186
  - Score action: `no_change`
- Score path: Winner remained BOS.
- Player/run adjustments:
  - Away factor **0.9593**
  - Home factor **0.9751**
  - Both starters underperformed projections.
- Audit: PASS; 0 critical/error/warning; 102 good, 7 info.
- Primary cause: **Run-environment miss/under-dispersion**.
- Secondary cause: **Two-sided starter underestimation**.
- The 0.1204 edge was moderate, not a near coin flip, and the winner was correct despite an extremely poor score forecast.

## SF@ATL — miss

- Predicted: SF **4**, ATL **5**; winner ATL
- Actual: SF **7**, ATL **3**; winner SF
- Published ATL probability: **0.530**
- System edge: **+0.06 home**
- Conviction: **Lean**
- Brier: **0.2809**
- Team-run absolute error: **5**
- Total-run bias: **−1**
- Starter projections:
  - Anthony Molina: projected 4 ER/9 outs; actual 3 ER/15 outs; error **−1**
  - Bryce Elder: projected 1 ER/18 outs; actual 5 ER/16 outs; error **+4**
- Edges:
  - Season: **+1.2284**
  - Recent: **+0.182**
  - Pitcher: **−0.0832**
  - Composite: **+0.7181**
- Controls:
  - Governor: 0.507202 → 0.5082
  - Recency guardrail and score coherence
  - Published: 0.530
  - Score action: `no_change`
  - Diagnostic flag: `large_savant_run_environment_swing`
- Score path: Winner remained ATL; no recovery.
- Player/run adjustments:
  - Away factor **1.0832**
  - Home factor **1.0000**
  - Elder allowed five ER rather than one.
- Audit: PASS; 0 critical/error/warning; 102 good, 7 info.
- Primary cause: **Starter projection error**, specifically Elder.
- Secondary cause: **Lean-side miss** and margin compression.

### Correct-winner/wrong-score games

The six explicit `right_winner_wrong_score` games were:

- BAL@COL
- DET@MIN
- OAK@TEX
- PHI@ARI
- SD@CIN
- SEA@BOS

CHW@HOU and MIA@WAS were classified as solid correct calls. MIL@CHC, NYM@TB, NYY@LAA, and SF@ATL were winner misses.

---

# 4. Miss reconstruction

## MIL@CHC

### Earliest wrong-direction stage

The prediction was already on the wrong side in the historical model and stayed wrong through publication. The data does not show a later stage moving the winner toward CHC. The earliest identifiable problem is therefore the **base winner/run assessment**, not a later transition.

### Cause classification

- Bad input: **Not established.** Starter identities matched and no contract error was reported.
- Bad weighting: **Possible**, given the strong composite edge favoring MIL despite the outcome, but not proven.
- Calibration: **Secondary.** Published probability was only 0.530, so the confidence was not extreme.
- Starter error: **Major.** Harrison projected 3 ER/17 outs, actual 9 ER/11 outs.
- Offense/bullpen miss: **Material but not isolated.** CHC scored 17 versus 5 projected; MIL scored 3 versus 6 projected.
- Run-environment miss: **Major.** Total was underprojected by 9.
- Irreducible variance: **Present**, especially the extreme 17–3 result, but the six-ER starter error is a modelable component.

## NYM@TB

### Earliest wrong-direction stage

The historical/base model already selected TB, and no later stage corrected it. The earliest evidence moving toward the wrong result was the **high composite/season edge for TB**:

- Season edge: **+0.7963 home**
- Recent edge: **+0.380**
- Composite: **+0.7924**

The pitcher edge slightly favored NYM at **−0.0457**, but it did not overcome the broader TB signal.

### Cause classification

- Bad input: **Not established.**
- Bad weighting: **Plausible.** Season/recent offense-quality evidence outweighed the pitcher signal in a way that failed this matchup.
- Calibration: **Material.** TB was published at **0.6655**, but lost; Brier was **0.44289**.
- Starter error: **Major and two-sided.** Stock allowed 0 instead of 4 projected; Seymour allowed 3 instead of 0.
- Offense/bullpen miss: **TB scored 2 versus 5 projected**, contributing to the miss.
- Run-environment miss: **Moderate.** Total was overprojected by 3.
- Irreducible variance: **Material**, because both starters deviated substantially.

## NYY@LAA

### Earliest wrong-direction stage

There was a documented intermediate regression:

- Historical ML: `LAA → TIE`
- Variance application: tie state
- Enhanced prediction: `TIE → NYY`

The first clear move toward the wrong final result was the **enhanced prediction’s recovery toward NYY**, after the variance stage had already removed LAA’s direction. This is exactly the pipeline-instability issue: later recovery does not make the intermediate regression harmless.

The base evidence itself strongly favored NYY on season and recent quality:

- Season: **−1.3728**
- Recent: **−0.696**
- Composite: **−1.0087**

### Cause classification

- Bad input: **Not established.**
- Bad weighting: **Possible**, because the large season/recent NYY advantage did not survive the realized matchup.
- Calibration: **Moderate concern.** Published NYY probability was 0.550872, not high, but it was still on the losing side.
- Starter error: **Moderate.** Rodríguez allowed 4 versus 2 projected; Ureña allowed 1 versus 2.
- Offense/bullpen miss: **Major.** NYY scored 1 versus 5 projected; LAA scored 10 versus 4 projected.
- Run-environment miss: **Major.** Actual margin was 9 versus predicted margin 1.
- Irreducible variance: **Present**, but the six-run combined offensive miss and nine-run margin miss indicate more than ordinary winner variance.

## SF@ATL

### Earliest wrong-direction stage

The historical/base direction favored ATL and no later stage corrected it. The earliest wrong-direction evidence was the combination of:

- Season edge: **+1.2284 home**
- Recent edge: **+0.182**
- Composite: **+0.7181**

The pitcher edge favored SF at **−0.0832**, but was insufficiently weighted to reverse the call.

### Cause classification

- Bad input: **Not established.**
- Bad weighting: **Plausible.** The model materially favored ATL’s season/quality evidence while the pitcher edge favored SF.
- Calibration: **Limited concern**, because publication was only 0.530.
- Starter error: **Primary.** Elder allowed 5 versus 1 projected.
- Offense/bullpen miss: SF scored 7 versus 4 projected; ATL scored 3 versus 5 projected.
- Run-environment miss: Moderate; margin was 4 versus 1 predicted.
- Irreducible variance: Present, especially Elder’s four-ER projection error.

## Pipeline-stage quality across all stages

| Stage | Winner accuracy | Winner hits | Team-run MAE | Total-run MAE | Margin MAE |
|---|---:|---:|---:|---:|---:|
| historical_ml | 0.6667 | 8 | 3.1283 | 3.9910 | 4.7023 |
| variance_applied | 0.5000 | 6 | 3.1250 | 3.9167 | 4.7500 |
| enhanced_prediction | 0.6667 | 8 | 3.4583 | 4.2500 | 4.7500 |
| embedded_savant_run_environment | 0.6667 | 8 | 3.4167 | 4.3333 | 4.6667 |
| fundamental_edge_target_review | 0.6667 | 8 | 3.4167 | 4.3333 | 4.6667 |
| capped_target | 0.6667 | 8 | 3.4167 | 4.3333 | 4.6667 |
| simulation_result | 0.6667 | 8 | 3.4167 | 4.3333 | 4.6667 |
| published_final | 0.6667 | 8 | 3.4167 | 4.3333 | 4.6667 |

Transitions:

- Historical ML → variance:
  - Winner accuracy **−0.1667**
  - Winner hits **−2**
  - Margin MAE **+0.0477**
  - Regressed: BAL@COL, NYY@LAA
  - Also changed PHI@ARI from ARI to tie
- Variance → enhanced:
  - Winner accuracy **+0.1667**
  - Winner hits **+2**
  - BAL@COL and PHI@ARI improved
  - Team-run MAE worsened by **0.3333**
- Enhanced → Savant:
  - No winner-direction changes
  - Margin MAE improved **0.0833**
  - Team-run MAE improved **0.0416**
- All subsequent transitions:
  - No winner changes
  - No metric changes

The intermediate winner regression remains a genuine process risk even though enhanced prediction later recovered the final winner count.

---

# 5. Cross-game counterfactuals

## Lever tension: widen run distributions

**Lever:** `score.variance_multiplier / score.variance_floor`

Helps:

- NYM@TB: lost a 0.33-confidence pick; wider tails could reduce overconfidence.
- NYY@LAA: lost a 0.10-confidence pick; wider tails could reduce overconfidence.

Hurts:

- BAL@COL: strong correct call at 0.50; widening could soften a good edge.
- SD@CIN: strong correct call at 0.35; widening could soften a good edge.

Net evidence: **2 helps vs 2 hurts**. The pattern supports a bounded shadow experiment, not an unrestricted production increase. It targets Brier score and calibration error, while score-margin compression is also relevant.

## Lever tension: pitcher form/prior weighting

**Lever:** `player.pitcher.v4 form weights / player.pitcher_prior_games`

Helps:

- DET@MIN
- MIA@WAS
- MIL@CHC
- NYM@TB
- OAK@TEX
- PHI@ARI
- SD@CIN
- SEA@BOS
- SF@ATL

Hurts:

- BAL@COL, where both starter projections were accurate within one ER.

Net evidence: **9 helps vs 1 hurts**, but this is based on starter error observations, not a controlled counterfactual. It supports a diagnostic/backtest, not immediate aggressive reweighting.

## Lever tension: recent/season run-mean weighting

**Lever:** `recent.* / season.* run-mean weighting`

Helps:

- BAL@COL
- DET@MIN
- MIL@CHC
- NYY@LAA
- OAK@TEX
- PHI@ARI
- SD@CIN
- SEA@BOS
- SF@ATL

Hurts:

- CHW@HOU, where team-run error was only 2.
- MIA@WAS, where team-run error was only 2.

Net evidence: **9 helps vs 2 hurts** for team-run and total-run metrics, but the reported “helps” do not prove a particular direction of weight change. The weak run-model R² argues for feature/target investigation before tuning this lever.

## One-game fixes that must not be made

- Do not widen every prediction merely because MIL@CHC and SEA@BOS were blowouts.
- Do not globally downgrade strong confidence because NYM@TB lost; BAL@COL and SD@CIN were strong correct calls.
- Do not remove or sharply reduce all season-quality weighting because NYY@LAA and SF@ATL missed; it supported several correct winners.
- Do not treat the 0.1204 SEA@BOS edge as a near coin flip; it is moderate.
- Do not force a simulation parameter move solely because simulation produced zero winner flips.
- Do not alter calibration weights from this slate alone; the bucket sample sizes are small and inconsistent.
- Do not conclude that a later enhanced-stage recovery makes the variance transition safe.

---

# 6. Data and contract defects

## Critical findings

The structural audit summary reports **0 critical**. No critical contract failure is evidenced in the supplied JSON.

The missing integrity revision audit is an evidence gap, but the data does not classify it as critical.

## Error findings

- Structural audit summary: **0 errors**.
- No per-game error finding details are supplied.

## Warning findings

- Structural audit summary: **0 warnings**.
- No per-game warning details are supplied.

## Info findings

- Structural audit summary: **87 info findings** across the slate.
- Per-game summaries report 7 or 8 info findings each.
- The actual info-finding text is missing from the JSON, so the 87 findings cannot be individually enumerated.
- Registered informational findings include:
  - Complete slate audit coverage
  - Explained probability-publication movements
  - Simulation inertness on this slate

## Prediction-model defects versus presentation/artifact defects

### Prediction-model/process defects

1. Intermediate winner instability at `historical_ml → variance_applied`.
2. Compressed score margins and under-dispersed run distributions.
3. Very weak run-model holdout signal.
4. Starter projection errors materially affecting three misses.
5. Calibration misalignment on the current slate.
6. Simulation producing no winner-direction interventions over four consecutive slates, requiring execution diagnosis.

### Presentation/artifact defects

1. Missing integrity revision audit artifact.
2. BAL raw probability field appears inconsistently named or populated between game trace and lineage.
3. Per-game audit observations claim 7–8 non-pass findings while the embedded findings arrays are empty. This prevents independent audit of those findings.
4. “PASS” status should not be interpreted as absence of all info-level or non-pass observations; the report itself says complete coverage does not erase findings.

## Probability-lineage audit

The complete pick-side lineage contains 12 rows. The recorded layers are:

`raw model → calibrated → governor input/output → score coherence and/or recency → published`

The data identifies **8 material calibrated-to-published movements**, and states that all were explained by named score-coherence and/or recency transformations. No material unexplained delta is marked in the lineage rows.

Examples:

- CHW@HOU, DET@MIN, MIA@WAS, MIL@CHC, OAK@TEX, PHI@ARI, SEA@BOS, SF@ATL: recency guardrail and/or score coherence are named.
- BAL@COL, NYM@TB, and SD@CIN: score coherence is named; no recency guardrail.
- NYY@LAA: score coherence followed by matchup-recency guardrail; publication decreased from calibrated 0.591 to 0.550872.

There is **no demonstrated governor bypass**: every material published movement has a recorded transformation and `unexplained_material_delta: false`. The BAL field-label discrepancy is a trace consistency issue, not a material unexplained publication delta.

---

# 7. Cross-slate persistence

Three prior slates were loaded, producing a four-slate window from 20260828 through 20260831. A single slate is noise, but the escalated findings are explicitly established patterns and must not be treated as single-slate noise.

## Raw structural evidence

### Margin distribution

Current slate:

- Actual margins: 1, 1, 1, 1, 3, 3, 4, 5, 7, 9, 10, 14
- Predicted margins: 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3
- Actual margin ≥4: **6/12**
- Predicted margin ≤2: **11/12**
- Current mean signed margin error, based on listed rows, is strongly negative for the model’s absolute margin representation: the model systematically undercalled realized separation in most large-margin games.

### Pipeline transitions

The raw transition block shows a current winner-direction regression at `historical_ml → variance_applied`:

- BAL@COL and NYY@LAA regressed.
- PHI@ARI also changed direction but was later recovered.
- Accuracy fell from 8/12 to 6/12 and recovered to 8/12 at enhanced prediction.

This finding has a **two-slate consecutive streak** and is present now.

### Calibration monitoring

Current WACE is **0.1661**. Bucket errors alternate between underconfidence and overconfidence, confirming instability rather than a simple universal overconfidence bias.

### High-raw cluster

Current high-raw cluster:

- 3 games
- 2 hits
- Threshold: 0.65
- Calibrated probabilities: 0.661, 0.677, 0.7435
- Empirical hit rates attached to those rows: 0.5567, 0.5766, 0.5519

The finding streak reports `high_raw_probability_cluster` at **0 consecutive slates**, present current slate **false**. It is therefore not a current persistent finding.

### Simulation control

Current slate:

- Observed games: 12
- Flip candidates: 0
- Published flips: 0
- Status: diagnostic only without independent support

Across slates, simulation inertness is established, not noise.

## Finding streaks

| Finding | Consecutive slates | Present now? | Interpretation |
|---|---:|---|---|
| `high_raw_probability_cluster` | 0 | No | Not persistent/current |
| `pipeline_winner_instability` | 2 | Yes | Recurrent intermediate winner-direction regression |
| `score_margin_compression` | 1 | Yes | Current issue, not yet a multi-slate streak |
| `simulation_inert_on_slate` | 4 | Yes | Established persistent failure |
| `single_slate_calibration_instability` | 1 | Yes; incidence 3 in window | Current calibration problem, but not a four-slate persistence pattern |
| `weak_run_model_signal` | 4 | Yes | Established persistent weak run-model signal |

## Escalated findings

### `simulation_inert_on_slate`

- Consecutive slates: **4**
- Present now: **Yes**
- Target lever listed: `simulation.allow_score`
- Parameter actionable: **No**
- Metric harmed: `team_run_mae`, `total_run_mae`
- Direction: confirm simulation module is running and not silently no-oping.
- Required interpretation: established code/diagnostic failure, not single-slate noise.

### `weak_run_model_signal`

- Consecutive slates: **4**
- Present now: **Yes**
- Listed training levers:
  - `training.xgb.n_estimators`
  - `training.xgb.max_depth`
  - `training.xgb.learning_rate`
- Parameter actionable: **No**
- Metrics harmed: `team_run_mae`, `total_run_mae`
- Direction: investigate features and target through an isolated training backtest.
- Required interpretation: established run-model weakness, not a reason to force a parameter move.

## Metric trends

- `margin_bias`: **Regressing**
  - Series: **−1.333, −1.882, −2.786, −3.5**
  - Mean: **−2.3752**
  - This is consistent with increasing margin underprediction.
- `mean_team_run_error_on_losses`: **Regressing**
  - Series: **5.0, 3.0, 7.0, 8.25**
  - Mean: **5.8125**
- `weighted_calibration_error`: **Improving**
  - Series: **0.2179, 0.3961, 0.0693, 0.1661**
  - Improvement is directionally favorable over the window, but the current value remains poor and bucket behavior is unstable.
- `winner_accuracy`: **Flat**
  - Series: **0.4667, 0.9412, 0.5, 0.6667**
  - Mean: **0.6437**
  - Large variation, no reliable directional improvement.

## Top-confidence-pick loss streak

- Loss streak: **0**
- Per-slate results:
  - 20260828: hit
  - 20260829: hit
  - 20260830: miss
  - 20260831: hit

There is no current top-confidence-pick loss streak.

---

# 8. Adjustments for today

Recommendations are ranked by persistence and evidence strength first, then scope and regression risk.

## 1. Diagnose and repair simulation execution — highest persistence

- Pattern: `simulation_inert_on_slate`
- Persistence: **4 consecutive slates**
- Exact registered lever: `simulation.allow_score`
- Parameter change: **None initially; do not force a parameter move because the finding is explicitly non-parameter-actionable.**
- Concrete action: run a code-level execution diagnostic confirming that `simulation.allow_score` is read, the simulation loop executes, score outcomes are generated, and flip candidates are recorded.
- Expected metric: team-run MAE and total-run MAE should become measurable at the simulation stage; direction should be improvement or at minimum non-identical behavior when score simulation is enabled.
- Helps: all games with score/run errors, particularly MIL@CHC, NYY@LAA, SEA@BOS, BAL@COL, and PHI@ARI.
- Hurts/regression risk: an improperly broad simulation could alter strong correct calls such as BAL@COL and SD@CIN.
- Gate: shadow execution with stage-by-stage before/after trace; rollback if winner accuracy or Brier worsens without run-error improvement.

## 2. Isolate the weak run model before tuning training parameters

- Pattern: `weak_run_model_signal`
- Persistence: **4 consecutive slates**
- Exact registered levers: `training.xgb.n_estimators`, `training.xgb.max_depth`, `training.xgb.learning_rate`
- Parameter change: **No immediate production move.** The finding is marked `param_actionable: false`.
- Concrete action: perform the registered isolated training backtest, testing the feature set and target definition before selecting a bounded hyperparameter shadow.
- Expected metric: improve away/home/total run-model holdout R² and reduce team-run MAE and total-run MAE.
- Helps: the entire slate, especially MIL@CHC, SEA@BOS, NYY@LAA, BAL@COL, and PHI@ARI.
- Hurts/regression risk: overfitting could damage close, well-calibrated games such as CHW@HOU and MIA@WAS.
- Gate: rolling out-of-sample improvement in MAE and tail coverage, not in-sample fit.

## 3. Run a bounded shadow increase to score-distribution width

- Pattern: `score_margin_compression`
- Persistence: **1 consecutive slate; present now**
- Exact parameter: `score.variance_multiplier`
- Proposed change: **increase by 5% in shadow only**. Do not simultaneously change `score.variance_floor`, so the effect is attributable.
- Expected metric: lower margin MAE and total-run MAE; reduce underconfidence/overconfidence distortion caused by compressed score distributions. Winner Brier should be monitored, not assumed to improve.
- Helps:
  - NYM@TB
  - NYY@LAA
  - MIL@CHC
  - SEA@BOS
  - BAL@COL
  - SD@CIN
- Hurts:
  - BAL@COL and SD@CIN are explicitly identified as good strong calls that may be softened.
  - More generally, widening can reduce exact-score sharpness in CHW@HOU and MIA@WAS, although those games are not listed in this lever’s direct tension set.
- Evidence strength: moderate for the current slate, weaker than the two four-slate escalations.
- Gate: retain only if rolling margin MAE or tail coverage improves without unacceptable Brier or winner-accuracy regression.

## 4. Do not move calibration caps today; use shadow monitoring

- Pattern: `single_slate_calibration_instability`
- Current persistence: **1 consecutive slate**, incidence 3 in the four-slate window
- Registered parameters: `confidence.empirical_max_weight`, `confidence.base_cap`, `confidence.moderate_cap`
- Proposed change: **no production parameter move** because the issue register explicitly says to monitor the same buckets over the registered rolling window and warns that seven games cannot establish a curve.
- Expected metric: future Brier and calibration error should be monitored by bucket.
- Helps if later supported: especially high-raw losses such as NYM@TB and NYY@LAA.
- Hurts if overcorrected: strong correct calls BAL@COL and SD@CIN.
- This is a bounded abstention based on the registered guardrail, not a deferral of diagnosis.

## 5. Starter model diagnostic, not an immediate global reweight

- Single-slate driver: starter projection was the primary driver in **3/4 losses**.
- Lever tension: `player.pitcher.v4 form weights / player.pitcher_prior_games`
- The supplied causal issue register has no registered target lever for starter projection, so no parameter should be invented or forcibly changed here.
- Concrete action: compare form-weight and prior-game variants in a shadow backtest, focusing on Harrison, Stock/Seymour, Rodríguez/Ureña, and Elder-type errors.
- Expected metric: lower starter ER MAE and starter outs MAE.
- Helps: 9 games in the lever-tension record.
- Hurts: BAL@COL, where starter projections were accurate.
- Regression control: do not promote unless rolling starter ER MAE improves while winner Brier and team-run MAE do not materially worsen.

---

# 9. Bottom line

## Known

- The system correctly picked **8 of 12 winners**.
- Six of those winner hits had materially wrong scores; winner accuracy therefore overstates prediction quality.
- Score margins were systematically compressed: predicted mean margin **1.42** versus actual **4.92**, with 11/12 predictions at two runs or fewer and 6/12 actual margins at four runs or more.
- Starter projection error was the primary labeled cause in three of four losses.
- The historical-to-variance transition caused a real intermediate winner-direction regression of two hits, even though enhanced prediction later recovered them.
- The run model has weak persistent holdout signal across four slates.
- Simulation has been inert across four consecutive slates and requires code/diagnostic verification.
- All 12 games were structurally covered; no critical, error, or warning findings are reported.
- The integrity revision artifact is missing, and per-game info findings are not embedded despite being referenced.
- Pick-side probability lineage is materially explained; no governor bypass is evidenced.

## Uncertain

- Whether widened score distributions would improve future Brier/calibration without harming strong calls.
- Whether pitcher-form weighting would improve out-of-sample starter accuracy rather than merely explain this slate.
- Whether season/recent run weighting should move in a particular direction.
- Whether the run-model weakness is caused by features, target construction, hyperparameters, or an upstream execution problem.
- Whether simulation is genuinely inert by design on these games or silently failing.

## Single safest next action

**Perform the four-slate code-and-lineage diagnostic for `simulation.allow_score` and the weak run-model execution path before changing model weights.** It addresses two established persistent findings, has a reversible shadow-gate path, and avoids making an unsupported one-slate calibration or score-distribution adjustment while also checking the most important artifact/process risk.
