# Luna deep analysis — slate 20261002 > Coverage receipt: **COMPLETE** · 9/8 sections; 0/0 games; 2/2 causes; 3/3 sources # 1. Evidence receipt and gaps ## Source manifest All manifest entries were checked against the supplied JSON: | Source | Status | Purpose | Assessment | |---|---:|---|---| | `/app/output/reports/prediction_review_20261002.json` | Loaded, 4,003 bytes | Official outcomes and scoring errors | Present in manifest, but no game records were propagated into this diagnosis | | `/app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20261002.json` | Loaded, 15,888 bytes | Probability, provenance, starter, and decision contracts | Present in manifest, but no per-game audit rows are present here | | `/app/output/learning/continuous_learning_daily_20261002.json` | Loaded, 6,809 bytes | Pipeline-stage quality, calibration, probability lineage, score distribution, and starter comparisons | Present, but all current-slate game-dependent structures are empty | | `/app/output/reports/detailed_20261002.html` | Missing | Full game and simulation rendering | Gap | | `/app/output/reports/20261002_ultra_detailed_player_audit.html` | Missing | Player-level prediction trace | Gap | | `/app/output/reports/audit_report_20261002.html` | Missing | All invariant findings | Gap | | `/app/output/reports/audit_report_20261002_integrity_revision.html` | Missing | Post-remediation immutable revision proof | Gap | ## Games reviewed - `date` is empty. - `games` is an empty array. - `games_reviewed: 0`. - `hits: 0`, `misses: 0`. - `continuous_learning_evidence.summary`: `settled: 0`, `games: 0`, `hits: 0`, `misses: 0`. - `coverage_matrix`: `expected_games: 0`, `canonical_artifacts_loaded: 0`, `forensic_deep_audit_games: 0`, `structural_audits_completed: 0`, `games_with_starter_comparisons: 0`, `continuous_learning_games: 0`. - Therefore, no individual game can be confirmed as reviewed, settled, a hit, or a miss. ## Material gaps and contradictions 1. **The slate is not auditable despite the learning eligibility flag.** `learning_eligibility.eligible` is `true` with the reason `"all game artifacts passed critical/error structural gates"`, but the causal register states `"0/0 games structurally audited"` and explicitly identifies `incomplete_slate_audit_coverage` as critical. 2. **The audit summary understates the registered critical issue.** `structural_audit_summary.critical` is `0`, while `causal_issue_register` contains a critical issue: `incomplete_slate_audit_coverage`. This is an internal reporting inconsistency. 3. **The expected slate size is zero, but the report is framed as a daily slate diagnosis.** This may reflect a missing or malformed date/game payload, but the evidence does not establish which. 4. **No probability lineage was supplied.** `probability_lineage: []`; `probability_reversions.available: false` because no game artifacts were supplied. 5. **No pipeline stages or transitions were supplied.** `pipeline_stage_quality.stages: []` and `transitions: []`, with status `not_measurable`. 6. **No current-slate calibration or score metrics are measurable.** Calibration buckets are empty; settled games are zero; weighted absolute calibration error is null. 7. **No player or matchup evidence is available.** `slate_player_metrics.available: false`; matchup patterns are unavailable because no game carried a matchup breakdown. 8. **Missing HTML artifacts prevent independent presentation and revision checks.** The detailed, player audit, structural audit, and integrity-revision reports are all missing. --- # 2. Executive diagnosis ## Winner accuracy Current-slate winner accuracy is **unknown**, not zero and not perfect: - The JSON reports `winner_accuracy: null`. - `summary.accuracy: null`. - No games were settled or reviewed. The historical cross-slate series reports a mean winner accuracy of `0.6828` and an improving direction, but that is not evidence of current-slate accuracy. ## Calibration quality Current-slate calibration is **not measurable**: - `calibration_monitoring.buckets: []`. - `settled_games: 0`. - `weighted_absolute_calibration_error: null`. - No published probabilities are attached to games. The cross-slate metric is nevertheless marked **regressing**, with mean weighted calibration error `0.2276`; the series includes `0.4792` and `0.4832`. That is a historical trend, not a current-slate result. ## Score accuracy Current-slate score accuracy is **not measurable**: - No actual scores, predicted scores, team-run errors, total-run errors, or run margins are present. - `margin_distribution` contains zero rows. - `pipeline_stage_quality` is `not_measurable`. The cross-slate `margin_bias` trend is marked **regressing**, with mean `-2.2683`. This indicates a persistent historical margin-direction concern, but no current game can be assigned that error. ## Starter accuracy Starter accuracy is **not measurable**: - No starter comparisons are present. - `games_with_starter_comparisons: 0`. - No projected or actual starter lines are supplied. - The cross-slate `starter_era_error` finding is explicitly held: mean `-0.142`, same-sign share `6/11`, z-score `-0.42`, and `persistent: false`. ## Artifact integrity Artifact integrity is the most serious current issue. The causal register contains: ### Critical: `incomplete_slate_audit_coverage` - **Evidence:** `"0/0 games structurally audited"`. - **Affected games:** none listed, because no canonical games were loaded. - **Severity:** critical. - **Action:** do not call the slate clean; perform per-game QA on every canonical artifact first. - **Do-not-infer guardrail:** a clean subset—or, here, an empty subset—cannot certify games that were never audited. This is a critical evidence/contract failure, not a model-quality finding. ### Informational: `simulation_inert_on_slate` - **Evidence:** `flip candidates 0; published flips 0`. - **Affected games:** none. - **Severity:** info. - **Action:** measure simulation contribution across rolling slates, separating score realization from winner flipping. - **Do-not-infer guardrail:** zero winner flips is not itself a defect and does not prove that no score-reconciliation work occurred. However, cross-slate evidence escalates this issue to an established operational pattern; see Sections 7 and 8. ## Overall diagnosis The current slate cannot support a winner, calibration, score, starter, or player-level diagnosis. The primary known failure is **missing or unpropagated evidence coverage**, not demonstrated predictive failure on particular games. Separately, the simulation-inert behavior is an established cross-slate code/diagnostic concern. A correct winner, if one had been reported, would not by itself establish a good prediction. No such current-slate winner result exists here. --- # 3. Every game There are **no game records to enumerate**. Accordingly, the requested per-game fields are unavailable for every game: - Predicted score: unavailable. - Actual score: unavailable. - Predicted winner: unavailable. - Actual winner: unavailable. - Published probability: unavailable. - System confidence edge: unavailable. - Conviction bucket: unavailable. - Brier score: unavailable. - Team-run error: unavailable. - Total-run error: unavailable. - Starter projected-versus-actual lines: unavailable. - Season, recent, pitcher, and composite edges: unavailable. - Confidence and recency controls: unavailable. - Score path: unavailable. - Player-level adjustments: unavailable. - Audit findings: unavailable at game level. - Primary and secondary causes: unavailable. There are therefore: - No identifiable hits. - No identifiable misses. - No correct-winner/wrong-score games. - No loss reconstruction candidates. - No evidence that any published prediction was made. The absence of game rows must not be interpreted as a perfect slate, a failed slate, or a slate with no games. It is an evidence-coverage failure. --- # 4. Miss reconstruction ## Per-loss reconstruction No loss can be reconstructed because `games` is empty and `misses: 0` reflects absence of reviewed misses, not verified predictive success. It is impossible to identify, for any game, whether the earliest wrong-direction movement came from: - Bad input. - Bad weighting. - Calibration. - Starter error. - Offense or bullpen error. - Run-environment error. - Irreducible variance. No current-slate primary or secondary loss drivers are recorded: `loss_primary_drivers: {}`. The confidence guardrail remains important: a `0.12` home-away confidence edge would be moderate, not a near-coin-flip or near-certainty signal. No such current-slate edge is supplied. ## Pipeline-stage quality audit All required stages and transitions are absent: - `pipeline_stage_quality.status: "not_measurable"`. - `stages: []`. - `transitions: []`. - `largest_team_run_regression_vs_base: null`. Therefore: - No stage can be credited with moving toward the correct winner. - No stage can be blamed for winner-direction regression. - No later recovery can be claimed. - No claim can be made that a later stage erased an intermediate error. The historical self-assessment identifies a specific simulation mechanism: selected draws were reportedly reused for win-probability estimation, with early exit after finding a target-realizing play-by-play. The diagnosis says this can leave `away_win_rate` based on roughly two selected draws, making the flip/agreement signal vacuous. That is a cross-slate implementation hypothesis supported by the stated 11-slate persistence, not a reconstructed event in a current game. --- # 5. Cross-game counterfactuals The current `lever_tension` object contains three entries. None has game assignments because there are no current games. ## `score.variance_multiplier / score.variance_floor` - **Helps:** none identified. - **Hurts:** none identified. - **Net evidence:** `0 helped vs 0 hurt`. - **Targets:** Brier score and calibration error. - **Conclusion:** no current-slate counterfactual evidence supports changing this lever. Historical context is mixed: `score_margin_compression` occurred in 5 of 11 window slates, but its current streak is zero and it is not currently escalated. ## `player.pitcher.v4 form weights / player.pitcher_prior_games` - **Helps:** none identified. - **Hurts:** none identified. - **Net evidence:** `0 helped vs 0 hurt`. - **Targets:** starter ERA MAE and starter outs MAE. - **Conclusion:** no current-slate evidence supports changing pitcher-form or prior-game weighting. The cross-slate starter ERA bias is held, not persistent: 6 of 11 slates share the sign, with z `-0.42`. ## `recent.* / season.* run-mean weighting` - **Helps:** none identified. - **Hurts:** none identified. - **Net evidence:** `0 helped vs 0 hurt`. - **Targets:** team-run MAE, total-run MAE, and accuracy. - **Conclusion:** no current-slate evidence supports changing recent-versus-season weighting. ## Tempting fixes that should not be made 1. **Do not lower confidence caps based on this slate.** No current probabilities, hits, misses, or Brier outcomes exist. 2. **Do not widen score variance based on a presumed current margin miss.** No current predicted or actual margins exist. 3. **Do not retune pitcher-form weights.** No starter comparisons exist, and the historical starter bias is explicitly nonpersistent. 4. **Do not alter recent/season run weighting.** The lever-tension matrix contains no affected games, and the historical lineup-run bias is held as noise. 5. **Do not infer simulation success or failure from zero published flips alone.** The causal register explicitly says zero winner flips is not itself proof of a defect, although the 11-slate persistence warrants code diagnosis. --- # 6. Data and contract defects ## Critical findings ### `incomplete_slate_audit_coverage` - **Type:** Evidence/coverage contract failure. - **Evidence:** 0 games structurally audited; all coverage counts are zero. - **Required action:** load the canonical game artifacts and run per-game QA before declaring the slate clean. - **Model defect or artifact defect:** artifact/coverage defect. - **Important inconsistency:** this critical finding is not reflected in `structural_audit_summary.critical`, which remains zero. ## Error findings No findings are listed with severity `error`. This does not mean the slate is error-free. It means no error-severity rows were supplied. ## Warning findings No findings are listed with severity `warning`. Again, this is not evidence of a clean slate because the canonical audit population is empty. ## Informational findings ### `simulation_inert_on_slate` - **Type:** Simulation diagnostic. - **Evidence:** zero flip candidates and zero published flips. - **Current severity:** info. - **Cross-slate status:** escalated to an established 11-slate pattern. - **Model versus artifact:** likely code/diagnostic behavior, not a demonstrated prediction miss on this slate. - **Guardrail:** zero winner flips alone cannot prove no score reconciliation occurred. ## Coverage matrix reconciliation The coverage matrix is not clean: - `all_games_structurally_audited: false`. - `expected_games: 0`. - `canonical_artifacts_loaded: 0`. - `forensic_deep_audit_games: 0`. - `structural_audits_completed: 0`. - `games_with_starter_comparisons: 0`. - `continuous_learning_games: 0`. The false value for `all_games_structurally_audited` is decisive. A zero-denominator audit cannot establish complete coverage. ## Probability-lineage audit The required lineage is: 1. Raw model probability. 2. Calibrated probability. 3. Governor/cap adjustment. 4. Score-coherence and recency adjustment. 5. Published probability. The supplied object contains no lineage rows: - `probability_lineage: []`. - `probability_reversions.available: false`. - No raw, calibrated, governed, coherent, recency-adjusted, or published values are available. Accordingly, no bypass can be formally declared. A bypass requires a material delta between stages with no recorded transformation; there are no stages to compare. The correct finding is **lineage absent**, not “lineage bypass proven.” --- # 7. Cross-slate persistence A single slate is absent here, but the supplied historical blocks provide persistence evidence. ## Escalated finding ### `simulation_inert_on_slate` - **Consecutive-slate count:** 11. - **Incidence:** 11 slates in the window. - **Present now:** yes. - **Target lever:** `simulation.allow_score`. - **Target metrics:** `team_run_mae`, `total_run_mae`. - **Parameter actionable:** false. - **Required direction:** confirm that the simulation runs and is not silently no-oping. - **Status:** established failure pattern, not single-slate noise. The registered self-assessment gives the proposed code-level remedy: - Separate target-realization search from win-probability estimation. - Use an independent unsteered batch, such as 200–500 draws, or a closed-form Poisson/Skellam difference. - Do not early-exit the probability batch. - Make batch size a registered parameter. - Feed the independent win rate into `final_prediction_policy._distribution_agreement`. - Relevant locations are identified as `routers/team_router.py`, including `_build_simulation_distribution`, the draw-loop early exit, and `NUM_SIMULATIONS` / `MIN_DRAWS_BEFORE_CLOSE_EXIT`. ## Finding streaks | Finding | Consecutive slates | Present now | Interpretation | |---|---:|---:|---| | `high_raw_probability_cluster` | 0 | No | Occurred once in the 11-slate window; not persistent | | `pipeline_winner_instability` | 0 | No | Incidence 4/11, but no current streak | | `score_margin_compression` | 0 | No | Incidence 5/11, not currently present | | `simulation_inert_on_slate` | 11 | Yes | Established persistent failure | | `single_slate_calibration_instability` | 0 | No | Incidence 6/11, not currently present | | `weak_run_model_signal` | 0 | No | Incidence 9/11, but no registered consecutive streak in this object | The `escalation_streak: 3` is also present, but the explicit finding-level persistence for simulation is 11 consecutive slates. ## Metric trends Each registered trend is: - **Margin bias:** `regressing`; mean `-2.2683`. - **Mean team-run error on losses:** `improving`; mean `4.8246`. - **Weighted calibration error:** `regressing`; mean `0.2276`. - **Winner accuracy:** `improving`; mean `0.6828`. These trends must not be conflated. Improving winner accuracy does not cancel regressing calibration or margin bias. ## Top-confidence pick loss streak - `loss_streak: 0`. - The per-slate record includes misses on `20260922` and `20260926`, hits on `20260923`, `20260924`, `20260925`, `20260927`, `20260929`, `20260930`, and `20261001`, plus two unknown-date entries. - Therefore, there is no current established top-confidence-pick loss streak. - The unknown-date rows are a data-quality concern but cannot be assigned to a date or treated as losses. ## Raw structural blocks - `margin_distribution`: zero games, zero actual margins, zero predicted margins. - `pipeline_stage_quality`: no stages or transitions; not measurable. - `calibration_monitoring`: zero settled games and null weighted calibration error. - `high_raw_cluster`: zero games and zero hits; threshold `0.65`. - `simulation_control`: observed games `0`, published flips `0`, candidates `0`, status `diagnostic_only_without_independent_support`. The cross-slate simulation persistence is therefore the only established actionable pattern in the supplied evidence. --- # 8. Adjustments for today Recommendations are ranked by evidence strength and operational safety. ## 1. Highest priority: repair and verify simulation execution - **Pattern:** `simulation_inert_on_slate`, persistent for 11 consecutive slates. - **Registered target lever:** `simulation.allow_score`. - **Parameter direction/magnitude:** no parameter move is justified because the finding is explicitly `param_actionable: false`; do not force `simulation.allow_score` upward or downward. - **Bounded change:** perform the registered code/diagnostic action: verify that `simulation.allow_score` reaches the simulation path, remove the probability-batch early exit, and create an independent fixed-size probability batch. - **Expected metrics:** reduce `team_run_mae` and `total_run_mae`; improve the validity of winner-probability and score-coherence diagnostics. - **Shadow/rollback gate:** run the independent batch in shadow mode first; compare simulation contribution, team-run MAE, total-run MAE, and probability stability against the existing path. Roll back if score MAE worsens materially or if runtime/variance becomes uncontrolled. - **Helps versus hurts:** no current games are available for assignment. The lever-tension record has zero helped and zero hurt games. - **Evidence strength:** highest, because persistence is 11/11 and the registered action is concrete. ## 2. Current-slate evidence coverage restoration - **Pattern:** critical `incomplete_slate_audit_coverage`. - **Registered parameter:** none. - **Parameter direction/magnitude:** not applicable; this is a contract and artifact problem. - **Bounded change:** load the canonical prediction and outcome artifacts, populate the expected game count and game rows, then run per-game structural QA before any model tuning. - **Expected metrics:** increase `canonical_artifacts_loaded`, `forensic_deep_audit_games`, `structural_audits_completed`, `continuous_learning_games`, and `games_with_starter_comparisons` from zero to the actual slate counts; resolve the eligibility/audit-summary contradiction. - **Helps versus hurts:** all games that are currently missing from analysis; no model lever tension can be assessed until games exist. - **Evidence strength:** critical operational necessity, although it is not a predictive parameter adjustment. ## 3. Single strongest single-slate driver No current-slate predictive driver can be established because there are no games, scores, probabilities, or losses. The strongest current-slate driver is therefore **evidence absence**, not offense, pitching, calibration, or variance. Do not make a confidence-cap, score-variance, pitcher-weight, or recent/season-weight change from this payload. No registered lever is supported by current-slate observations. --- # 9. Bottom line ## Known - Three principal source files were loaded; four supporting reports are missing. - No current game records were supplied. - No current winner, score, starter, player, calibration, or probability-lineage conclusions are measurable. - Coverage is not complete: all structural and canonical counts are zero. - The claim that all artifacts passed critical/error gates conflicts with the critical incomplete-coverage finding. - Simulation inertness is an established cross-slate pattern lasting 11 consecutive slates. - Cross-slate winner accuracy is improving, while margin bias and weighted calibration error are regressing. - The top-confidence-pick loss streak is zero, with two unknown-date records. ## Uncertain - Whether the slate truly contained zero games or whether game artifacts failed to load. - Whether any individual prediction was correct or incorrect. - Whether score, starter, offense, bullpen, calibration, or run-environment errors occurred. - Whether simulation inertness materially affected this absent current slate. - Whether any probability-lineage stage bypass occurred. ## Single safest next action **Restore and validate complete per-game artifact coverage before changing model parameters:** load the canonical game records, run structural QA for every game, and independently verify that the simulation probability path executes rather than early-exiting. Do not promote any confidence, variance, pitcher, or run-weight adjustment until that evidence exists.