{
  "requirements": {
    "1_inspect_preserve": {
      "status": "complete",
      "evidence": [
        "../volatility_stop/prework_status.txt",
        "../volatility_stop/protected_hashes.json",
        "audit.json"
      ],
      "detail": "New opt-in files only; 922 protected files unchanged."
    },
    "2_prerequisites_freshness": {
      "status": "complete_with_documented_data_limitation",
      "evidence": [
        "prerequisites.json",
        "manifest.json",
        "../../../docs/mlp_volatility_stop_experiment_2026_09_21.md"
      ],
      "detail": "All required checks pass with warnings. TradingView UI showed Sign in; precise same-state refresh instructions provided. Historical completion explicitly permitted by objective."
    },
    "3_event_study_first": {
      "status": "complete",
      "evidence": [
        "../volatility_stop/training_events_before_design.csv",
        "../volatility_stop/event_stage.json",
        "events.csv",
        "event_summary.csv"
      ],
      "detail": "Training baseline events inspected before protocol/candidate replay. Later baseline and candidate outcomes include volatility, duration, recovery, losses avoided, censoring, overlapping horizons and separate exit reasons."
    },
    "4_predeclared_bounded_design": {
      "status": "complete",
      "evidence": [
        "../../../docs/mlp_volatility_stop_protocol_2026_09_21.md",
        "calibration.json",
        "selection.json"
      ],
      "detail": "Two causal ATR scales plus unchanged baseline and two training-width-matched fixed controls; no broad sweep."
    },
    "5_risk_execution": {
      "status": "complete",
      "evidence": [
        "../../../strategies/mlp_volatility_stop.py",
        "bar_traces.csv.gz",
        "audit.json"
      ],
      "detail": "5% maximum threshold loss, monotonic ratchet, canonical initialization/fill/high updates/score precedence; realized close overshoots disclosed and recorded."
    },
    "6_harness_tests": {
      "status": "complete",
      "evidence": [
        "../../../tests/test_mlp_volatility_stop.py",
        "audit.json"
      ],
      "detail": "12 focused cases passed; full suite 183 passed, 2 slow skips, 3 existing warnings. All 8 windows assert canonical disabled and fixed5 control equivalence."
    },
    "7_paired_evaluation_selection": {
      "status": "complete",
      "evidence": [
        "metrics.csv",
        "paired_metrics.csv",
        "bar_traces.csv.gz",
        "selection.json",
        "manifest.json"
      ],
      "detail": "Calendar Calmar, drawdown, exposure, trade counts, stop outcomes and paired bar returns saved. Nomination frozen before later replays; no candidate qualified. Promoted-entry conditional-screen caveat explicit."
    },
    "8_reproducibility_recommendation": {
      "status": "complete",
      "evidence": [
        "manifest.json",
        "audit.json",
        "reproduction.json",
        "../../../docs/mlp_volatility_stop_experiment_2026_09_21.md"
      ],
      "detail": "Hashes and configuration saved, clean rerun byte-identical. Report recommends shelving tested ATR variants, no further timeframes or TradingView trial."
    }
  },
  "report_sha256": "c2bdf502e4234cf3928b22f3c28fba18763eb47da022e0821b281c3cae03d014",
  "test_result": "183 passed, 2 skipped, 3 existing warnings",
  "git_diff_check": "passed"
}
