{
  "version": 1,
  "measured_on": "2026-09-16",
  "method": "scripts/platformkit/check_ingame_join_integrity.py",
  "definitions": {
    "mixed_file": "A stored file containing ticks from more than one real game.",
    "mismatched_tick": "A tick whose joined outcome label belongs to another game segment.",
    "stateless_tick": "A tick without an assessable game state.",
    "truncated_game": "A stored game ending before its recorded final state."
  },
  "per_sport": {
    "mlb": {
      "files": 227,
      "ticks": 78986,
      "mixed_files": 126,
      "mismatched_ticks": 27076,
      "stateless_ticks": 26340,
      "truncated_games": 61,
      "label_disagreements": 0,
      "leader_wins_last_tick": {
        "games": 166,
        "frequency": 1
      },
      "late_inning_leader_agreement": {
        "all_ticks": {
          "n": 12588,
          "frequency": 0.7284
        },
        "final_segment": {
          "n": 6623,
          "frequency": 0.92
        }
      }
    },
    "soccer_intl": {
      "files": 51,
      "ticks": 9003,
      "mixed_files": 1,
      "stateless_ticks": 4649,
      "truncated_games": 2,
      "label_disagreements": 2,
      "label_disagreement_note": "Draws truncated at minute 60 and 42."
    }
  },
  "exposed_artifacts": [
    "state_conditioned_calibration",
    "calibration_stability",
    "murphy_decomposition",
    "brier_skill_scores",
    "residual_anatomy",
    "calibration_by_market_type",
    "residual_autocorrelation",
    "calibration_over_time",
    "calibration_atlas",
    "market_disagreement_profile",
    "info_arrival_curve",
    "market_overreaction",
    "soccer_calibration_pack"
  ],
  "timing_artifacts_under_review": [],
  "timing_artifacts_regenerated": [
    "blowout_dynamics",
    "novel_live_clock_fraction",
    "market_convergence",
    "why_attribution",
    "comeback_atlas",
    "novel_market_foresight_premium"
  ],
  "timing_artifacts_note": "Mixed-game tick paths also distort timing measurements even where no outcome label is used, so these six were held back from the first pass. They were regenerated on 2026-09-17 from the same segment-clean corpus and published as revision 2; the before and after figures are in the mlb-ingame-timing-regeneration receipt. novel_market_foresight_premium no longer mixes revisions: it now reads the rebuilt info_arrival_curve and the rebuilt market_convergence. comeback_atlas was cleared on a different ground -- its corpus is the NBA reliability map, not this in-game join, so re-running it on the segmented roots reproduced every published cell. No timing artifact remains under review.",
  "derived_artifacts_under_review": [
    {
      "artifact": "novel_overreaction_harvest_gap",
      "stale_inputs": "market_overreaction, market_disagreement_profile",
      "note": "Composed on 2026-07-25 from market_overreaction and market_disagreement_profile. Both inputs were rebuilt at revision 2 on the segment-clean corpus, so every figure here is still the revision 1 composition and is under review until it is recomposed."
    },
    {
      "artifact": "ess_ledger",
      "stale_inputs": "residual_autocorrelation",
      "note": "Composed on 2026-07-25 from residual_autocorrelation. That input was rebuilt at revision 2, so this ledger still describes the joined MLB and international soccer corpus of 78,986 and 9,003 rows and is under review until it is recomposed."
    }
  ],
  "status": "regenerated",
  "resolved_by": "mlb-ingame-regeneration",
  "resolution_note": "The exposed artifacts were rebuilt from the segment-clean corpus on 2026-09-16; the values measured here are revision 1 and are withdrawn.",
  "timing_resolved_by": "mlb-ingame-timing-regeneration"
}
