# Luna deep analysis — slate 20261001

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

# 1. Evidence receipt and gaps

## Source manifest

All six listed source artifacts marked `loaded` were received and represented in the evidence:

1. **Prediction review** — `/app/output/reports/prediction_review_20261001.json`, 101,990 bytes  
   Purpose: official outcomes and scoring errors.
2. **Forensic deep audit** — `/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20261001.json`, 75,617 bytes  
   Purpose: probability, provenance, starter, and decision contracts.
3. **Continuous learning** — `/app/output/learning/continuous_learning_daily_20261001.json`, 454,850 bytes  
   Purpose: pipeline-stage quality, calibration, probability lineage, score distribution, and starter comparisons.
4. **Detailed report** — `/app/output/reports/detailed_20261001.html`, 98,628 bytes  
   Purpose: full game and simulation rendering.
5. **Ultra-detailed player audit** — `/app/output/reports/20261001_ultra_detailed_player_audit.html`, 8,732,780 bytes  
   Purpose: player-level prediction trace.
6. **Structural audit** — `/app/output/reports/audit_report_20261001.html`, 520,200 bytes  
   Purpose: invariant findings.

One manifest entry is explicitly missing:

7. **Integrity revision audit** — `/app/output/reports/audit_report_20261001_integrity_revision.html`  
   Status: `missing`; byte count `null`  
   Purpose: post-Luna remediation proof for immutable revision artifacts.

The missing integrity-revision audit is an evidence gap and an artifact-contract limitation. It is not, by itself, evidence that the prediction artifact was corrupted.

## Games and coverage

The settled game reviewed in the detailed game section is:

- **PHI @ ATL**, predicted ATL 4–3, actual ATL 6–2.

The payload reports:

- `games_reviewed: 1`
- `hits: 1`
- `misses: 0`
- `summary.games: 4`
- `summary.hits: 1`
- `summary.misses: 0`
- `continuous_learning_games: 4`
- `canonical_artifacts_loaded: 4`
- `forensic_deep_audit_games: 4`
- `structural_audits_completed: 4`
- `expected_games: 1`

This is internally inconsistent. The game-level record and `expected_games` identify one settled game, but several coverage counters claim four games. The structural audit also reports `4/1 games structurally audited` in the causal issue register. Therefore:

- **One game is available for substantive prediction and outcome review.**
- **Four-game counts are present in artifact/coverage metadata but are not supported by four game records in the supplied payload.**
- The CHW@HOU transition appears in pipeline metadata, but no corresponding game record is supplied. It must not be treated as part of this slate’s game-by-game evaluation.

## Other gaps and contradictions

- No source-labelled market moneyline was available: `market_crosscheck.available: false`.
- Only one game had starter comparisons in the detailed game record, although coverage counters claim four structural audits.
- The away starter’s player-level settled feed is incomplete: Aaron Nola has no settled per-player pitching line in the player feed, despite a separate starter comparison showing his official game line.
- The calibration bucket has one game. Its observed hit rate is 1.000, while average published confidence is 0.5168. That is statistically unstable and should not be treated as a usable calibration curve.
- The calibration issue is labelled “poorly aligned,” while the one-game signed result is actually **underconfidence** under the declared definition: published confidence minus observed hit rate = `0.5168 - 1.0 = -0.4832`. The self-assessment’s `confidence_overconfident` action is therefore not supported by this slate alone, although rolling evidence may justify shrinkage.
- `probability_lineage` gives `raw_model_pick_probability: 0.5453`, but `confidence_path.raw_pick_probability` gives `0.53`. The lineage still records transformations and no unexplained material delta, but the two raw-probability fields should be reconciled.

---

# 2. Executive diagnosis

## Overall diagnosis

This was a **correct-winner, materially wrong-score** prediction with clean structural QA for the represented game, but with important cross-slate process risks.

The system:

- Picked the correct winner: ATL.
- Published only a modest home edge: `0.0336` home-minus-away, with published home probability `0.516818`.
- Predicted ATL 4–3; actual was ATL 6–2.
- Underpredicted the margin by three runs: predicted margin `+1`, actual margin `+4`.
- Had team-run absolute error `3.0`.
- Had total-run bias `-1.0`, meaning the predicted total of 7 was one run below the actual total of 8.
- Passed the supplied structural audit: zero critical, error, and warning findings; seven informational notes.
- Used a starter projection that was directionally poor for Aaron Nola but accurate for Ray Kerr; the player-level forensic verdict did not attribute the result to a materially broken starter or offense side and classified it closer to variance.

A correct winner is not equivalent to a good full prediction. The score forecast was compressed and missed the actual run distribution even though the side was correct.

## Separate quality dimensions

### Winner accuracy

- Slate winner accuracy: `1.0`, one hit from one settled game.
- Published side: ATL.
- Actual side: ATL.
- Walk-forward baseline accuracy: `0.570149`.
- Historical validation winner accuracy: `0.600414`.

The one-game winner result was correct and beat the cited baseline, but the sample is too small to establish improved winner skill. Cross-slate winner accuracy is labelled improving, with mean `0.6479` in the trend block, but that conclusion remains subject to the metadata inconsistencies noted above.

### Calibration quality

Current-slate calibration is poor as an estimate, but not evidence of overconfidence:

- Average published confidence: `0.5168`.
- Observed hit rate: `1.0`.
- Signed calibration error under the declared definition: `-0.4832`, which is underconfidence.
- Weighted absolute calibration error: `0.4832`.
- Only one settled game was in the bucket.

The rolling trend labels weighted calibration error as **regressing**, with mean `0.2252`. The persistent finding has occurred on three consecutive slates and seven times in the 11-slate window. The appropriate diagnosis is unstable or poorly aligned confidence, not “this single game was overconfident.”

### Score accuracy

Score accuracy was the principal current-slate weakness:

- Predicted: PHI 3, ATL 4.
- Actual: PHI 2, ATL 6.
- Predicted margin: ATL by 1.
- Actual margin: ATL by 4.
- Signed margin error: `-3.0`.
- Team-run absolute error: `3.0`.
- Total prediction: 7.
- Actual total: 8.
- Total-run bias: `-1.0`.
- Margin MAE: `3.0`.

The causal register’s `score_margin_compression` finding is **high severity**, with evidence that one of one predictions had margin ≤2 while the actual margin was ≥4. It correctly includes the guardrail that one blowout does not justify widening every score prediction. Cross-slate evidence, however, escalates this from a single-slate observation to a three-consecutive-slate pattern.

The run model is also weak at validation level:

- Away-runs R²: `0.030936`.
- Home-runs R²: `0.002143`.
- Total-runs R²: `0.002415`.
- Training rows: `2415`.

This supports treating exact scores as low-confidence outputs, not merely adjusting one game’s variance.

### Starter accuracy

The starter picture is mixed:

- **Aaron Nola, PHI:** projected 2 ER, 16 outs, ERA 3.38; actual 3 ER, 5 outs, ERA 16.20. ER error `+1`; ERA error `+12.82`; outs error `-11`.
- **Ray Kerr, ATL:** projected 0 ER, 14 outs; actual 0 ER, 10 outs. ER error `0`; outs error `-4`.
- The player-level feed has no settled pitching line for Nola, although the separate starter comparison does.
- Kerr had only nine prior appearances in the season feed and was subject to confidence shrinkage because of thin history.
- The forensic verdict states neither side broke materially on pitching and characterizes the result as closer to variance.

Starter projection error contributed to score uncertainty, especially Nola’s short outing and three earned runs, but the evidence does not justify identifying starter weighting as the main causal defect. The lever-tension record says changing pitcher form/prior weights would have hurt this game because the starter projection was judged sufficiently accurate overall, especially for Kerr’s zero ER result.

### Artifact integrity

For the represented game:

- Structural audit status: `PASS`.
- Risk score: `0`.
- Critical findings: `0`.
- Error findings: `0`.
- Warnings: `0`.
- Good checks: `101`.
- Informational notes: `7`.
- Forecast-file integrity was explicitly described as clean and “not why the pick missed.”

Artifact integrity is therefore good for the supplied prediction artifact, subject to the missing integrity-revision audit and the inconsistent four-game coverage metadata. The missing audit is a contract/coverage gap, not evidence of a bad forecast.

## Causal issue register reconciliation

### `score_margin_compression` — **high**

- **Evidence:** `1/1` predicted margins were ≤2; `1/1` actual margins were ≥4; mean predicted margin `1.00` versus actual `4.00`.
- **Affected game:** PHI@ATL.
- **Action:** Check recent out-of-sample slates for tail coverage and margin MAE before widening score distributions.
- **Guardrail:** Do not widen every score prediction because of one blowout.
- **Assessment:** Current-game evidence supports compression. Cross-slate escalation supports a bounded shadow experiment, not an unrestricted production change.

### `single_slate_calibration_instability` — **high**

- **Evidence:** weighted absolute calibration error `0.4832` across one game.
- **Affected game:** PHI@ATL.
- **Action:** Monitor the same buckets over a rolling window before changing calibration weights.
- **Guardrail:** One slate is too small for a stable calibration curve.
- **Assessment:** The three-slate escalation means this is now an actionable persistent pattern, but the current one-game result itself was underconfident. Any change should be shrinkage/cap testing, not a claim that this game demonstrated overconfidence.

### `weak_run_model_signal` — **high**

- **Evidence:** home/away/total R² `0.0021/0.0309/0.0024`.
- **Affected game:** PHI@ATL in the register; structurally this is a model-wide validation issue.
- **Action:** Improve features or target via isolated training/backtest.
- **Guardrail:** Positive R² does not make exact scores reliable.
- **Assessment:** Persistent for three consecutive slates and ten times in the 11-slate window. This is a model/data problem, not a nightly variance knob problem.

### `complete_slate_audit_coverage` — **info**

- **Evidence:** `4/1 games structurally audited`.
- **Affected game field:** PHI@ATL.
- **Action:** Keep per-game audit receipts.
- **Guardrail:** Full audit coverage does not cancel findings inside audited games.
- **Assessment:** The claim is internally inconsistent with `games_reviewed: 1` and should be treated as a coverage-accounting defect until reconciled.

### `simulation_inert_on_slate` — **info**, escalated cross-slate

- **Evidence:** zero flip candidates and zero published flips.
- **Affected game field:** PHI@ATL.
- **Action:** Measure simulation contribution over rolling slates, separating score realization from winner flipping.
- **Guardrail:** Zero winner flips is not itself a defect.
- **Assessment:** It is now an established 11-slate pattern. The evidence identifies a likely implementation/design problem: the simulation distribution is built from the same target-seeking draws and may terminate after approximately two selected draws, making its probability signal vacuous.

---

# 3. Every game

## PHI @ ATL

### Prediction and result

| Field | Prediction | Actual |
|---|---:|---:|
| PHI runs | 3 | 2 |
| ATL runs | 4 | 6 |
| Winner | ATL | ATL |
| Margin | ATL by 1 | ATL by 4 |
| Total | 7 | 8 |

This is explicitly a **correct-winner/wrong-score** game.

### Probability, confidence, and conviction

- Published ATL probability: `0.516818`.
- Published home-minus-away confidence edge: `0.0336`.
- Diagnostic rounded published edge: `0.03`.
- Conviction bucket: `toss_up`.
- Raw model probability in probability lineage: `0.5453`.
- Calibrated pick probability: `0.5278`.
- Governor input: `0.53`.
- Governor output: `0.5278`.
- Score-coherence probability: `0.527795`.
- Final publication after recency guardrail: `0.516818`.
- Starter-experience shrinkage moved probability from `0.527795` to `0.523278` and was stated not to change the winner.
- The system did not treat a `0.12` edge as a near coin flip; the actual published edge here was only `0.0336`, while the required guardrail remains that a `0.12` home-away edge is moderate, not near coin-flip territory.

### Errors

- Brier score: `0.233465`.
- Team-run absolute error: `3.0`.
- Total-run bias: `-1.0`.
- Margin error: `3.0`.
- Directional cover rate: `1.0`, but based on one game.
- Model margin signed bias: `-3.0`.

### Starter lines

#### PHI — Aaron Nola

- Projected: 2 ER, 16 outs, ERA 3.38.
- Actual: 3 ER, 5 outs, ERA 16.20.
- ER error: `+1.0`.
- ERA error: `+12.82`.
- Outs error: `-11.0`.
- Identity match: true.
- The player-level settled pitching feed separately reports Nola’s line as missing, so the data contract is incomplete even though the starter comparison object is populated.

#### ATL — Ray Kerr

- Projected: 0 ER, 14 outs, ERA 0.00.
- Actual: 0 ER, 10 outs, ERA 0.00.
- ER error: `0.0`.
- Outs error: `-4.0`.
- Identity match: true.
- Kerr had nine prior appearances in the seasonal feed and was treated as a thin-history starter for confidence purposes.

### Edge inputs

- Season edge, ATL: `+0.559`.
- Recent edge, ATL: `+0.406`.
- Pitcher edge, ATL: `+0.050`.
- Composite edge, ATL: `+0.699`.
- Season margin adjustment: `+0.2348`.
- Season quality edge: `+0.679`.
- Recent quality edge: `+0.336`.
- Pitcher run factors:
  - PHI runs versus ATL pitcher: `0.994`.
  - ATL runs versus PHI pitcher: `1.044`.

### Confidence and recency controls

- Governor applied.
- Recency guardrail applied.
- Recency discount factor field is null, so the exact numerical recency discount is not separately recorded.
- Starter-experience control applied because one starter had thin seasonal history.
- Probability reversion audit:
  - One artifact checked.
  - Zero blend flips.
  - One blend side survived to publication.
  - Zero overwritten predictions.

### Score path

Pipeline stages, all compared with the actual final score:

| Stage | Winner | Team-run MAE | Total-run MAE | Margin MAE |
|---|---:|---:|---:|---:|
| historical_ml | 1.000 | 1.6753 | 1.0462 | 3.3506 |
| variance_applied | 1.000 | 1.5000 | 1.0000 | 3.0000 |
| enhanced_prediction | 1.000 | 1.5000 | 1.0000 | 3.0000 |
| embedded_savant_run_environment | 1.000 | 1.5000 | 1.0000 | 3.0000 |
| fundamental_edge_target_review | 1.000 | 1.5000 | 1.0000 | 3.0000 |
| capped_target | 1.000 | 1.5000 | 1.0000 | 3.0000 |
| simulation_result | 1.000 | 1.5000 | 1.0000 | 3.0000 |
| published_final | 1.000 | 1.5000 | 1.0000 | 3.0000 |

Variance application improved the score metrics relative to historical ML, but the resulting margin remained too narrow. No later stage changed the final score.

### Player-level adjustments and deviations

Material deviations included:

- Ozzie Albies: `+1.26` run impact versus projection; 1-for-3, one home run, two RBI.
- Drake Baldwin: `-0.80`; 0-for-4.
- Michael Harris II: `+0.62`; one home run, three RBI. This was the main learnable deviation because his season xwOBA was `0.342`, classified elite.
- Mauricio Dubón: `-0.47`.
- Dominic Smith: `+0.47`.
- Mike Yastrzemski: `-0.47`.
- Ronald Acuña Jr.: `-0.31`.
- Austin Riley: `+0.19`.
- Matt Olson: `0.00`.

Three player deviations were large enough to move the game; only one was supported by the hitter’s own season contact-quality profile. The audit therefore classifies:

- Learnable deviations: `1`.
- Variance deviations: `2`.
- Learnable share: `33.3%`.

Slate-level player metrics also show:

- Projected AB: 32 versus actual 29, +10.3%.
- Projected H: 9 versus actual 6, +50%.
- Projected BB: 3 versus actual 5, -40%.
- Projected SO: 8 versus actual 6, +33%.
- Projected RBI: 4 versus actual 6, -33%.
- Projected R: 5 versus actual 6, -16.7%.
- Projected HR: 1 versus actual 3, -66.7%.
- Projected 2B: 2 versus actual 0.
- Per-hitter projections underperformed flat means for AB, SO, and 2B.
- The hitter projection captured none of the actual hitter spread for hits: `spread_ratio: 0.0`.

These facts support weak player/run signal, but they do not establish that every individual hitter projection should be widened.

### Audit findings

- Structural audit: `PASS`.
- Critical: 0.
- Error: 0.
- Warning: 0.
- Good: 101.
- Info: 7.
- Forecast artifact integrity: clean.
- No market cross-check was possible.
- The saved artifact was not identified as the reason for the miss.

### Causes

- **Primary cause:** compressed run-margin and score distribution relative to the realized ATL four-run win; this is supported by the `-3.0` margin error and the escalated compression pattern.
- **Secondary cause:** weak run-model/player-level signal, including underestimation of a high-quality Michael Harris II profile and large unmodeled hitter deviations. Aaron Nola’s short, poor outing contributed to the score miss but was not judged a standalone broken-starter attribution.
- **Not a cause:** winner-direction error; the side was correct.
- **Not established:** bullpen failure. Recorded bullpen ER was zero for both sides.
- **Not established:** artifact corruption. Structural QA passed.

---

# 4. Miss reconstruction

There was no losing game: `misses: 0`. Therefore, no loss-specific winner reconstruction is applicable. The game was a score miss, not a winner miss.

## Earliest wrong-direction score evidence

For the score objective, the earliest measurable issue is the underlying score model’s narrow margin:

- Historical ML predicted a margin error of `3.3506`.
- Variance application reduced that error to `3.0`.
- All later stages preserved the same `3.0` margin MAE.
- The model therefore improved slightly at variance application but never recovered the missing tail/margin.

The score evidence moved toward the wrong result at the base score-generation stage through insufficient margin dispersion. This is best classified as:

- **Bad input/model signal:** weak validated run signal and poor player-level spread.
- **Bad weighting:** not conclusively established for starter or recent/season weights.
- **Calibration:** unstable confidence evidence, but this was not a winner loss and the current game was underconfident.
- **Starter error:** Nola’s actual three ER and five outs versus two ER and 16 projected outs materially worsened the score forecast; however, the supplied attribution says neither side broke materially overall.
- **Offense miss:** ATL’s actual 6 runs exceeded its projected 4, with Harris and Albies contributing positively.
- **Bullpen miss:** not supported; both recorded bullpen ER values were zero.
- **Run-environment miss:** possible in the broader run model, but current total error was only one run and cross-slate lineup-run bias is held as non-persistent.
- **Irreducible variance:** substantial; only one of three material player deviations was supported by underlying quality.

A `0.12` home-away confidence edge would be moderate, not a near coin flip. This game’s published edge was much smaller, `0.0336`, and was appropriately bucketed as a toss-up.

## Pipeline-stage quality across all stages

Every listed stage must be retained in the audit:

1. `historical_ml`
2. `variance_applied`
3. `enhanced_prediction`
4. `embedded_savant_run_environment`
5. `fundamental_edge_target_review`
6. `capped_target`
7. `simulation_result`
8. `published_final`

The transition record shows:

- **historical_ml → variance_applied:** score improved; margin MAE fell `0.3506`, team-run MAE fell `0.1753`; winner unchanged.
- **variance_applied → enhanced_prediction:** no current-game score change. The transition metadata nevertheless records a winner-direction change for `CHW@HOU: HOU → CHW`. That is not this supplied game and must be retained as an intermediate winner-direction regression in the broader pipeline audit, even though no improvement/regression counts were assigned to it.
- **enhanced_prediction → embedded_savant_run_environment:** no change.
- **embedded_savant_run_environment → fundamental_edge_target_review:** no change.
- **fundamental_edge_target_review → capped_target:** no change.
- **capped_target → simulation_result:** no change.
- **simulation_result → published_final:** no change.

A later unchanged or successful final outcome does not erase the CHW@HOU intermediate direction change. Conversely, it should not be attributed to PHI@ATL without the missing game record.

The simulation’s lack of change is especially important because it has persisted for 11 slates and is diagnosed as potentially using target-seeking draws that terminate too early. Its apparent inertness is not proof that the simulation mathematically had no useful information; it is evidence that the current implementation may not be generating an independent probability distribution.

---

# 5. Cross-game counterfactuals

The `lever_tension` block contains three entries.

## 1. `score.variance_multiplier / score.variance_floor`

- **Helps:** none recorded.
- **Hurts:** none recorded.
- **Net evidence:** `0 helped vs 0 hurt`.
- **Current-game implication:** widening could plausibly address the ATL margin compression, but no game-level help/hurt evidence was logged in this slate.
- **Cross-slate implication:** the compression finding has persisted three consecutive slates, so a bounded shadow experiment is justified. It must not become an unrestricted widening of every score.

## 2. `player.pitcher.v4 form weights / player.pitcher_prior_games`

- **Helps:** none recorded.
- **Hurts:** PHI@ATL, where starter projection was described as accurate enough overall; changing the weighting risks disturbing the correct zero-ER ATL starter estimate.
- **Net evidence:** `0 helped vs 1 hurt`.
- **Decision:** do not change this lever for the next slate based on this evidence.

## 3. `recent.* / season.* run-mean weighting`

- **Helps:** none recorded.
- **Hurts:** none recorded.
- **Net evidence:** `0 helped vs 0 hurt`.
- **Decision:** hold. The season and recent edges both correctly supported ATL, and there is no counterfactual game evidence showing that reweighting would have improved this slate.

## Tempting one-game fixes that should not be made

1. **Do not widen every score prediction because ATL won by four.** The causal register explicitly prohibits that inference.
2. **Do not reweight pitcher form or prior games because Nola underperformed.** The same game’s ATL starter projection was accurate in ER terms, and the lever tension records one hurt game.
3. **Do not lower all published confidence solely because this game’s score was wrong.** The winner probability was modest and the realized winner was correct; the one-game calibration result is underconfident, not overconfident.
4. **Do not tune individual hitter projections to Albies or Harris alone.** Only one of three material player deviations was supported by underlying contact quality; the other two are likely noise.
5. **Do not treat zero simulation flips on one slate as proof that simulation is useless.** The persistent 11-slate diagnostic does justify code inspection, not a blind parameter adjustment.
6. **Do not tune the run model through nightly variance alone.** Holdout R² near zero indicates a feature/target problem that requires isolated training work.

---

# 6. Data and contract defects

## Critical, error, warning, and informational findings

The supplied structural audit reports:

- **Critical:** 0.
- **Error:** 0.
- **Warning:** 0.
- **Informational:** 7.
- **Good checks:** 101.

The seven informational notes are counted but not individually enumerated in the payload. Therefore, the exact seven structural-audit information titles cannot be independently listed from the supplied evidence. The payload does provide several informational/diagnostic items:

1. Every represented settled game received structural QA.
2. Simulation produced no winner-direction intervention.
3. Forecast-file integrity was clean.
4. No source-labelled market cross-check was available.
5. The starter feed had a missing settled pitching line for Aaron Nola.
6. Ray Kerr had thin seasonal feed history and triggered confidence shrinkage.
7. Player-level deviations were mostly variance rather than supported learnable signal.

Items 1–3 are causal/diagnostic notes; items 4–7 are evidence limitations or game-level informational findings. They should not be assumed to be the exact seven HTML audit labels.

## Prediction-model defects versus artifact/presentation defects

### Prediction-model/process defects

- Run model has near-zero holdout signal:
  - total R² `0.002415`;
  - home R² `0.002143`;
  - away R² `0.030936`.
- Margin compression has persisted for three consecutive slates.
- Calibration instability has persisted for three consecutive slates, with seven occurrences in the 11-slate window.
- Simulation inertness has persisted for 11 consecutive slates and has an identified likely implementation cause.
- Player projections did not add value for several metrics on this slate:
  - AB MAE `0.556` versus flat `0.519`;
  - SO MAE `0.667` versus flat `0.593`;
  - 2B MAE `0.222` versus flat `0.000`.
- Player hits had zero projected spread ratio, indicating a feature/separation problem rather than merely a calibration problem.

### Artifact/presentation/contract defects

- Missing integrity revision audit artifact.
- Coverage counters claim four audited/continuous-learning games while only one game record is supplied and `expected_games` is one.
- The causal register reports `4/1 games structurally audited`.
- Nola’s settled player-level pitching line is missing while the separate starter comparison is populated.
- Raw pick probability differs between lineage (`0.5453`) and confidence path (`0.53`).
- Recency discount factor is null despite a recency guardrail being applied.
- The seven informational audit findings are not expanded in the supplied JSON, preventing exact independent enumeration.
- A CHW@HOU transition appears in current pipeline-transition metadata without a corresponding supplied game record.

These are not all prediction defects. Missing labels, inconsistent counts, and absent audit artifacts are contract/presentation defects; near-zero R², compressed margins, and inert simulation are model/process defects.

## Coverage reconciliation

The slate cannot be called fully clean because:

- `expected_games = 1`
- `games_reviewed = 1`
- but multiple coverage counters equal 4.

The correct conservative interpretation is:

- Substantive game-level coverage: one of one expected game.
- Structural/learning metadata: internally inconsistent and requires reconciliation.
- No evidence currently demonstrates that three additional games were omitted from the detailed payload or that four records were incorrectly attached to the slate.

## Complete probability lineage

For PHI@ATL, the recorded pick-side lineage is:

1. **Raw model:** `0.5453` in the lineage record; `0.53` in the confidence path.
2. **Calibration:** `0.5278`, based on sample size `815` and empirical hit rate `0.562`.
3. **Governor:** input `0.53`, output `0.5278`.
4. **Score coherence:** `0.527795`.
5. **Recency/starter controls:** starter-experience shrinkage to `0.523278`; recency guardrail applied.
6. **Published:** `0.516818`.

The lineage records:

- `published_minus_calibrated = -0.010982`.
- `unexplained_material_delta = false`.
- Transformation: “score coherence followed by matchup-recency guardrail.”
- No probability reversion overwrite.
- One blend side survived to publication.

There is no recorded material bypass. The raw-probability discrepancy (`0.5453` versus `0.53`) is a field-consistency defect, but not an unrecorded published bypass because the subsequent transformations are documented and the final delta is explained.

---

# 7. Cross-slate persistence

A single slate is noise; the following patterns have explicit multi-slate escalation and must be treated as established failures or actionable patterns.

## Finding streaks

| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---:|---:|---|
| `high_raw_probability_cluster` | 0 | No | Not currently present; one occurrence in the 11-slate window. |
| `pipeline_winner_instability` | 0 | No | Not currently present; five occurrences in the window but no current streak. |
| `score_margin_compression` | 3 | Yes | Established persistent compression pattern. |
| `simulation_inert_on_slate` | 11 | Yes | Established failure, not single-slate noise. |
| `single_slate_calibration_instability` | 3 | Yes | Established persistent calibration instability. |
| `weak_run_model_signal` | 3 | Yes | Established weak run-model signal. |

## Escalated findings

### Score-margin compression

- Streak: three consecutive slates.
- Incidence: five times in the 11-slate window.
- Target levers: `score.variance_multiplier`, `score.variance_floor`.
- Metric harmed: team-run MAE and total-run MAE, with associated margin-tail coverage concern.
- Fix direction: widen run distributions.
- Guardrail: bounded shadow experiment; do not globally widen based on one blowout.

### Simulation inertness

- Streak: 11 consecutive slates.
- Incidence: 11.
- Target metric: team-run MAE and total-run MAE.
- Registered nominal lever: `simulation.allow_score`, but the finding is explicitly `param_actionable: false`.
- Fix direction: confirm the simulation runs independently and is not silently no-oping.
- Required action: code/diagnostic investigation, not parameter tuning.

The self-assessment identifies the likely root cause: the same draws are used both for target realization and win-probability estimation, with early exit at a default draw count of approximately two. The recommended code target is `_build_simulation_distribution` and the draw-loop early exits in `routers/team_router.py`, with an independent 200–500 draw batch or a closed-form run-difference distribution.

### Calibration instability

- Streak: three consecutive slates.
- Incidence: seven times in the 11-slate window.
- Target levers: `confidence.empirical_max_weight`, `confidence.base_cap`, `confidence.moderate_cap`.
- Metric harmed: Brier score and calibration error.
- Fix direction: increase empirical shrinkage.
- Important current-slate qualification: this game was underconfident by the declared signed metric. The persistent fix is therefore a bounded rolling-window calibration experiment, not a claim that the current ATL probability was too high.

### Weak run-model signal

- Streak: three consecutive slates.
- Incidence: ten times in the 11-slate window.
- Nominal listed training levers: `training.xgb.n_estimators`, `training.xgb.max_depth`, `training.xgb.learning_rate`.
- But `param_actionable: false`.
- Metric harmed: team-run MAE and total-run MAE.
- Fix direction: investigate features and target through isolated training backtest.
- Required action: add or improve feature contract—market no-vig probability where genuinely sourced, park/weather, bullpen fatigue, platoon-adjusted lineup quality—and retrain with schema versioning. Do not force nightly XGBoost knob changes.

## Metric trends

The required directions are:

- `margin_bias`: **regressing**; mean `-2.3082`.
- `mean_team_run_error_on_losses`: **improving**; mean `4.5965`. There are no current losses, so this is a historical loss metric.
- `weighted_calibration_error`: **regressing**; mean `0.2252`.
- `winner_accuracy`: **improving**; mean `0.6479`.

These directions must be read together: winner selection is improving, while score-margin and calibration quality are regressing.

## Top-confidence-pick loss streak

- `loss_streak: 0`.
- The most recent top pick, including 20261001, was a hit.
- The raw per-slate sequence contains misses on 20260921, 20260922, and 20260926, followed by hits on 20260923–25, 20260927, 20260929, 20260930, and 20261001.
- One window entry has a blank date and `unknown` result; this is a data-quality gap, not a loss.

## Other cross-slate evidence

The two explicitly held cross-slate biases should remain held:

- Starter ERA error: six of 11 slates share the sign, mean `-0.018`, z `-0.05`; not separable from noise.
- Lineup-run delta: eight of 11 share the sign, mean `-0.32`, z `-1.84`; not yet separated from noise.

Thus, persistent escalated findings should be acted on; the two `cross_slate_bias` items remain no-change findings.

---

# 8. Adjustments for today

Recommendations are ranked by persistence, scope, expected metric impact, affected games, and regression risk.

## 1. Run a bounded shadow experiment for persistent margin compression

- **Registered parameters:** `score.variance_multiplier` and `score.variance_floor`.
- **Direction:** increase both modestly in the shadow branch.
- **Suggested magnitude:** test approximately `+5%` on `score.variance_multiplier` and `+0.10` on `score.variance_floor`, with exact production values unchanged until the gate passes.
- **Expected metrics:** improve margin-tail coverage and reduce team-run MAE / total-run MAE on out-of-sample games; margin bias should move toward zero.
- **Helps:** games with compressed predicted margins and realized larger margins, including PHI@ATL.
- **Hurts/risk:** games where the narrow distribution is accurate; the current lever-tension table records no observed helps or hurts, so regression risk is real but unquantified.
- **Gate:** compare against the unchanged control on rolling out-of-sample margin MAE, team-run MAE, total-run MAE, and tail coverage. Roll back if central-score MAE worsens materially without tail benefit.

This is the strongest actionable change for the current slate because the score-margin problem is both directly observed and persistent.

## 2. Apply a bounded calibration-shrinkage shadow test

- **Registered parameters:** `confidence.empirical_max_weight`, `confidence.base_cap`, or `confidence.moderate_cap`.
- **Direction:** increase empirical shrinkage; equivalently, lower the applicable confidence cap modestly.
- **Suggested magnitude:** reduce `confidence.moderate_cap` by `0.02`, or reduce the relevant empirical-weight contribution by approximately 5% in the shadow branch. Do not change all caps simultaneously.
- **Expected metrics:** improve rolling Brier score and reduce absolute calibration error.
- **Helps:** high or moderately confident games in the persistent calibration-instability bucket.
- **Hurts/risk:** low-edge correct picks like PHI@ATL could be pushed too close to 0.5; the current game was underconfident, so a blind production reduction would be unjustified.
- **Gate:** evaluate rolling calibration error and Brier score by confidence bucket; rollback if calibration worsens in the moderate bucket or winner accuracy declines without Brier improvement.

## 3. Do not make a nightly parameter move for simulation inertness; perform the registered code diagnostic

- **Target:** `simulation.allow_score` is listed, but the finding is not parameter-actionable.
- **Direction:** no parameter move.
- **Action:** implement or inspect the independent simulation distribution path identified in the self-assessment:
  - separate target-realization draws from win-probability draws;
  - avoid early exit before a registered independent batch is complete;
  - use a registered draw count, such as 200–500, or a closed-form run-difference distribution;
  - feed the independent win rate into `_distribution_agreement`.
- **Expected metrics:** nonzero and meaningful simulation contribution, improved score-distribution diagnostics, and potentially improved team-run/total-run MAE.
- **Helps:** all games where simulation currently contributes no independent evidence.
- **Hurts/risk:** compute cost and possible instability if the independent distribution is poorly specified; require a shadow comparison before publication.
- **Reason for abstention:** this is a code/diagnostic finding, not a safe scalar-parameter adjustment.

## 4. Investigate the weak run model through an isolated training backtest

- **Registered nightly levers:** `training.xgb.n_estimators`, `training.xgb.max_depth`, `training.xgb.learning_rate`.
- **Direction:** no direct nightly knob change.
- **Action:** modify the shared feature/target contract through an operator-controlled experiment, adding only source-valid features such as park/weather, bullpen rest, platoon-adjusted lineup quality, and genuinely source-labelled market probability; retrain and compare same-fingerprint holdouts.
- **Expected metrics:** increase home/away/total holdout R² and reduce team-run/total-run MAE.
- **Helps:** broad slate-wide run prediction.
- **Hurts/risk:** feature leakage, schema drift, or overfitting if not isolated.
- **Reason for abstention:** the finding explicitly says no bounded nightly knob can solve near-zero signal.

## 5. Hold pitcher-form and recent/season run-mean weights

- **Pitcher lever:** no move; one current game is recorded as hurt by changing it.
- **Recent/season lever:** no move; zero helps and zero hurts are recorded.
- **Expected metrics:** no immediate change; preserves currently acceptable starter/side evidence.
- **Risk:** changing them now would be a one-game reaction and could damage correct side/starter behavior.

---

# 9. Bottom line

## Known

- ATL was correctly selected, but the forecast score was materially too narrow: 4–3 predicted versus 6–2 actual.
- Published confidence was modest, not high conviction: ATL `0.516818`, edge `0.0336`, bucket `toss_up`.
- Score-margin compression is the clearest current weakness and has persisted across three slates.
- The run model has near-zero validated explanatory power.
- Simulation has been inert for 11 consecutive slates and has a plausible implementation-level explanation.
- Winner accuracy is trending upward, while margin bias and weighted calibration error are trending worse.
- The represented prediction artifact passed structural QA with zero critical, error, or warning findings.
- The player-level audit identifies Michael Harris II as the strongest supported learnable deviation, while most other material deviations look like variance.

## Uncertain

- The exact seven informational structural-audit findings are not expanded in the supplied JSON.
- Four-game coverage counters cannot be reconciled with the one supplied game record.
- The missing integrity-revision audit leaves immutable-revision proof incomplete.
- Starter attribution is limited by the missing settled Nola player-feed line.
- The current one-game calibration result cannot establish a calibration curve and is directionally underconfident despite the self-assessment’s overconfidence action.
- No market comparison is available.

## Single safest next action

**Run a control-versus-shadow experiment that modestly widens `score.variance_multiplier` and/or `score.variance_floor`, while keeping the current production path unchanged and monitoring margin tail coverage, team-run MAE, total-run MAE, and calibration.**

This is the safest immediate improvement because it addresses the directly observed and cross-slate-persistent margin-compression problem without reacting to the one game by changing starter weights, hitter projections, or winner probabilities.
