{
  "all_pre_pnl_acceptance_gates": true,
  "candidate_changed_scoreable_signal_count": 4278,
  "candidate_reasons": {
    "xsmom_bottom4": 2128,
    "xsmom_not_bottom4": 4278,
    "xsmom_unscored_passthrough": 111
  },
  "cohorts": {
    "edge_power_cold_start": 111,
    "edge_power_mature": 554,
    "other_mature": 5852
  },
  "cold_start_by_pair": {
    "EDGE/USDT:USDT": {
      "first_signal_eligible_time": "2026-03-20T12:30:00+00:00",
      "last_signal_eligible_time": "2026-04-17T11:30:00+00:00",
      "row_set_sha256": "ba0f2b32127f2b835b3253e72ea6d191a3edee33bb42f26f7ce28fc60aa64da3",
      "signals": 94
    },
    "POWER/USDT:USDT": {
      "first_signal_eligible_time": "2026-01-01T13:40:00+00:00",
      "last_signal_eligible_time": "2026-01-04T16:15:00+00:00",
      "row_set_sha256": "6fd3ea3d069b34debbd99497cd99a93775e3a8540c3891157828083fcb0283b2",
      "signals": 17
    }
  },
  "cold_start_count_matches_expected": true,
  "cold_start_row_set_sha256": "79a18f51933b6a2fafe9da5c5314292db17738dcc1f8d962be7b167aa368c2a2",
  "cold_start_signal_count": 111,
  "common_support_count": 6406,
  "common_support_gate_95pct": true,
  "common_support_ratio": 0.9829676231394814,
  "coverage_by_pair": [
    {
      "common_support_ratio": 1.0,
      "pair": "ADA/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 549,
      "post_maturity_signals": 549,
      "scoreable_signals": 549,
      "signals": 549
    },
    {
      "common_support_ratio": 1.0,
      "pair": "BNB/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 679,
      "post_maturity_signals": 679,
      "scoreable_signals": 679,
      "signals": 679
    },
    {
      "common_support_ratio": 1.0,
      "pair": "BTC/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 708,
      "post_maturity_signals": 708,
      "scoreable_signals": 708,
      "signals": 708
    },
    {
      "common_support_ratio": 1.0,
      "pair": "DOGE/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 519,
      "post_maturity_signals": 519,
      "scoreable_signals": 519,
      "signals": 519
    },
    {
      "common_support_ratio": 0.6556776556776557,
      "pair": "EDGE/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 179,
      "post_maturity_signals": 179,
      "scoreable_signals": 179,
      "signals": 273
    },
    {
      "common_support_ratio": 1.0,
      "pair": "ETH/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 598,
      "post_maturity_signals": 598,
      "scoreable_signals": 598,
      "signals": 598
    },
    {
      "common_support_ratio": 0.9566326530612245,
      "pair": "POWER/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 375,
      "post_maturity_signals": 375,
      "scoreable_signals": 375,
      "signals": 392
    },
    {
      "common_support_ratio": 1.0,
      "pair": "SOL/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 602,
      "post_maturity_signals": 602,
      "scoreable_signals": 602,
      "signals": 602
    },
    {
      "common_support_ratio": 1.0,
      "pair": "UNI/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 553,
      "post_maturity_signals": 553,
      "scoreable_signals": 553,
      "signals": 553
    },
    {
      "common_support_ratio": 1.0,
      "pair": "VANRY/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 528,
      "post_maturity_signals": 528,
      "scoreable_signals": 528,
      "signals": 528
    },
    {
      "common_support_ratio": 1.0,
      "pair": "XRP/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 619,
      "post_maturity_signals": 619,
      "scoreable_signals": 619,
      "signals": 619
    },
    {
      "common_support_ratio": 1.0,
      "pair": "ZEC/USDT:USDT",
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable": 497,
      "post_maturity_signals": 497,
      "scoreable_signals": 497,
      "signals": 497
    }
  ],
  "coverage_by_window": {
    "retrospective": {
      "candidate_changed_scoreable_signal_count": 1652,
      "candidate_reasons": {
        "xsmom_bottom4": 790,
        "xsmom_not_bottom4": 1652
      },
      "cohorts": {
        "edge_power_mature": 273,
        "other_mature": 2169
      },
      "cold_start_by_pair": {},
      "cold_start_count_matches_expected": true,
      "cold_start_row_set_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "cold_start_signal_count": 0,
      "common_support_count": 2442,
      "common_support_gate_95pct": true,
      "common_support_ratio": 1.0,
      "coverage_by_pair": [
        {
          "common_support_ratio": 1.0,
          "pair": "ADA/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 226,
          "post_maturity_signals": 226,
          "scoreable_signals": 226,
          "signals": 226
        },
        {
          "common_support_ratio": 1.0,
          "pair": "BNB/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 201,
          "post_maturity_signals": 201,
          "scoreable_signals": 201,
          "signals": 201
        },
        {
          "common_support_ratio": 1.0,
          "pair": "BTC/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 290,
          "post_maturity_signals": 290,
          "scoreable_signals": 290,
          "signals": 290
        },
        {
          "common_support_ratio": 1.0,
          "pair": "DOGE/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 228,
          "post_maturity_signals": 228,
          "scoreable_signals": 228,
          "signals": 228
        },
        {
          "common_support_ratio": 1.0,
          "pair": "EDGE/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 131,
          "post_maturity_signals": 131,
          "scoreable_signals": 131,
          "signals": 131
        },
        {
          "common_support_ratio": 1.0,
          "pair": "ETH/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 218,
          "post_maturity_signals": 218,
          "scoreable_signals": 218,
          "signals": 218
        },
        {
          "common_support_ratio": 1.0,
          "pair": "POWER/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 142,
          "post_maturity_signals": 142,
          "scoreable_signals": 142,
          "signals": 142
        },
        {
          "common_support_ratio": 1.0,
          "pair": "SOL/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 220,
          "post_maturity_signals": 220,
          "scoreable_signals": 220,
          "signals": 220
        },
        {
          "common_support_ratio": 1.0,
          "pair": "UNI/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 195,
          "post_maturity_signals": 195,
          "scoreable_signals": 195,
          "signals": 195
        },
        {
          "common_support_ratio": 1.0,
          "pair": "VANRY/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 198,
          "post_maturity_signals": 198,
          "scoreable_signals": 198,
          "signals": 198
        },
        {
          "common_support_ratio": 1.0,
          "pair": "XRP/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 234,
          "post_maturity_signals": 234,
          "scoreable_signals": 234,
          "signals": 234
        },
        {
          "common_support_ratio": 1.0,
          "pair": "ZEC/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 159,
          "post_maturity_signals": 159,
          "scoreable_signals": 159,
          "signals": 159
        }
      ],
      "expected_cold_start_signal_count": 0,
      "passthrough_xsmom_changed_count": 0,
      "passthrough_zero_xsmom_change_gate": true,
      "post_maturity_every_pair_gate": true,
      "post_maturity_scoreability_gate": true,
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable_count": 2442,
      "post_maturity_signal_count": 2442,
      "raw_decision_passthrough_fidelity_count": 0,
      "raw_decision_passthrough_fidelity_gate_100pct": true,
      "raw_decision_passthrough_fidelity_ratio": null,
      "raw_signal_count": 2442,
      "raw_signal_row_set_sha256": "6adb3eda08930172741071e8026a1fe542bd3fccde2719b1b23b842c9e0b5739",
      "scoreable_v1_decision_match_count": 2442,
      "scoreable_v1_decision_match_gate_100pct": true,
      "snapshot_unavailable_unscored_count": 0,
      "snapshot_valid_count": 2442,
      "snapshot_valid_gate_98pct": true,
      "snapshot_valid_ratio": 1.0,
      "unscored_signal_count": 0
    },
    "training": {
      "candidate_changed_scoreable_signal_count": 2626,
      "candidate_reasons": {
        "xsmom_bottom4": 1338,
        "xsmom_not_bottom4": 2626,
        "xsmom_unscored_passthrough": 111
      },
      "cohorts": {
        "edge_power_cold_start": 111,
        "edge_power_mature": 281,
        "other_mature": 3683
      },
      "cold_start_by_pair": {
        "EDGE/USDT:USDT": {
          "first_signal_eligible_time": "2026-03-20T12:30:00+00:00",
          "last_signal_eligible_time": "2026-04-17T11:30:00+00:00",
          "row_set_sha256": "ba0f2b32127f2b835b3253e72ea6d191a3edee33bb42f26f7ce28fc60aa64da3",
          "signals": 94
        },
        "POWER/USDT:USDT": {
          "first_signal_eligible_time": "2026-01-01T13:40:00+00:00",
          "last_signal_eligible_time": "2026-01-04T16:15:00+00:00",
          "row_set_sha256": "6fd3ea3d069b34debbd99497cd99a93775e3a8540c3891157828083fcb0283b2",
          "signals": 17
        }
      },
      "cold_start_count_matches_expected": true,
      "cold_start_row_set_sha256": "79a18f51933b6a2fafe9da5c5314292db17738dcc1f8d962be7b167aa368c2a2",
      "cold_start_signal_count": 111,
      "common_support_count": 3964,
      "common_support_gate_95pct": true,
      "common_support_ratio": 0.972760736196319,
      "coverage_by_pair": [
        {
          "common_support_ratio": 1.0,
          "pair": "ADA/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 323,
          "post_maturity_signals": 323,
          "scoreable_signals": 323,
          "signals": 323
        },
        {
          "common_support_ratio": 1.0,
          "pair": "BNB/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 478,
          "post_maturity_signals": 478,
          "scoreable_signals": 478,
          "signals": 478
        },
        {
          "common_support_ratio": 1.0,
          "pair": "BTC/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 418,
          "post_maturity_signals": 418,
          "scoreable_signals": 418,
          "signals": 418
        },
        {
          "common_support_ratio": 1.0,
          "pair": "DOGE/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 291,
          "post_maturity_signals": 291,
          "scoreable_signals": 291,
          "signals": 291
        },
        {
          "common_support_ratio": 0.3380281690140845,
          "pair": "EDGE/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 48,
          "post_maturity_signals": 48,
          "scoreable_signals": 48,
          "signals": 142
        },
        {
          "common_support_ratio": 1.0,
          "pair": "ETH/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 380,
          "post_maturity_signals": 380,
          "scoreable_signals": 380,
          "signals": 380
        },
        {
          "common_support_ratio": 0.932,
          "pair": "POWER/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 233,
          "post_maturity_signals": 233,
          "scoreable_signals": 233,
          "signals": 250
        },
        {
          "common_support_ratio": 1.0,
          "pair": "SOL/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 382,
          "post_maturity_signals": 382,
          "scoreable_signals": 382,
          "signals": 382
        },
        {
          "common_support_ratio": 1.0,
          "pair": "UNI/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 358,
          "post_maturity_signals": 358,
          "scoreable_signals": 358,
          "signals": 358
        },
        {
          "common_support_ratio": 1.0,
          "pair": "VANRY/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 330,
          "post_maturity_signals": 330,
          "scoreable_signals": 330,
          "signals": 330
        },
        {
          "common_support_ratio": 1.0,
          "pair": "XRP/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 385,
          "post_maturity_signals": 385,
          "scoreable_signals": 385,
          "signals": 385
        },
        {
          "common_support_ratio": 1.0,
          "pair": "ZEC/USDT:USDT",
          "post_maturity_scoreability_ratio": 1.0,
          "post_maturity_scoreable": 338,
          "post_maturity_signals": 338,
          "scoreable_signals": 338,
          "signals": 338
        }
      ],
      "expected_cold_start_signal_count": 111,
      "passthrough_xsmom_changed_count": 0,
      "passthrough_zero_xsmom_change_gate": true,
      "post_maturity_every_pair_gate": true,
      "post_maturity_scoreability_gate": true,
      "post_maturity_scoreability_ratio": 1.0,
      "post_maturity_scoreable_count": 3964,
      "post_maturity_signal_count": 3964,
      "raw_decision_passthrough_fidelity_count": 111,
      "raw_decision_passthrough_fidelity_gate_100pct": true,
      "raw_decision_passthrough_fidelity_ratio": 1.0,
      "raw_signal_count": 4075,
      "raw_signal_row_set_sha256": "2e7a15a92ea223e246275bc7c651af0bc1772ec3b8878717c909dbe9fa3c4759",
      "scoreable_v1_decision_match_count": 3964,
      "scoreable_v1_decision_match_gate_100pct": true,
      "snapshot_unavailable_unscored_count": 0,
      "snapshot_valid_count": 4075,
      "snapshot_valid_gate_98pct": true,
      "snapshot_valid_ratio": 1.0,
      "unscored_signal_count": 111
    }
  },
  "expected_cold_start_signal_count": 111,
  "generated_at": "2026-07-29T11:34:10.635250+00:00",
  "inputs": {
    "retrospective": {
      "path": "artifacts/systematic-trading-validation-2026-07-29/raw-signal-coverage-retrospective/raw_signal_coverage.csv",
      "raw_signal_count": 2442,
      "sha256": "b8298e3b46b3f80833070e468d10383bd48a50d8f61ff9c9b2d3520c170c2eee"
    },
    "training": {
      "path": "artifacts/systematic-trading-validation-2026-07-29/raw-signal-coverage-training/raw_signal_coverage.csv",
      "raw_signal_count": 4075,
      "sha256": "95698bdc5dad4af5c1a8f1756a3fd9f8e1cbddff618bbf7cb9bdb36fdef25ead"
    }
  },
  "mode": "historical",
  "passthrough_xsmom_changed_count": 0,
  "passthrough_zero_xsmom_change_gate": true,
  "post_maturity_every_pair_gate": true,
  "post_maturity_scoreability_gate": true,
  "post_maturity_scoreability_ratio": 1.0,
  "post_maturity_scoreable_count": 6406,
  "post_maturity_signal_count": 6406,
  "raw_decision_passthrough_fidelity_count": 111,
  "raw_decision_passthrough_fidelity_gate_100pct": true,
  "raw_decision_passthrough_fidelity_ratio": 1.0,
  "raw_signal_count": 6517,
  "raw_signal_row_set_sha256": "59281a5e481475367967b31812ea580da29ee70748dd2749b68762ec5d0b1626",
  "scoreable_v1_decision_match_count": 6406,
  "scoreable_v1_decision_match_gate_100pct": true,
  "script_version": "1.0",
  "snapshot_unavailable_unscored_count": 0,
  "snapshot_valid_count": 6517,
  "snapshot_valid_gate_98pct": true,
  "snapshot_valid_ratio": 1.0,
  "strategy_source_sha256": {
    "freqtrade/strategies/research/xsmom_28d_v2.py": "5d727480fcb603704ea254a5dd56c9ac143d8476f74197fc65ce7b617fb18367",
    "freqtrade/strategies/research/xsmom_28d_v2_math.py": "f405265e1eac519a34a26a3e99f31f34dabecb907721471205f731ce12993ff1"
  },
  "unscored_signal_count": 111
}
