from __future__ import annotations

import json
from pathlib import Path

from refactor_master_helpers import ROOT, load_json


def main() -> int:
    bridge = load_json(ROOT / "Temp" / "performance_readiness_replay_bridge_v1.json")
    dashboard = load_json(ROOT / "Temp" / "continuous_evaluation_dashboard_v1.json")
    live_t20 = int(bridge.get("live", {}).get("t20_count") or 0)
    replay_t20 = int(bridge.get("replay_informational", {}).get("t20_count") or 0)
    replay_live_mix = 0 if live_t20 == 0 or replay_t20 == 0 else 1
    live_metrics_null_when_insufficient = live_t20 < 30 and bridge.get("live", {}).get("t20_avg_return_pct") is None
    result = {
        "formula_id": "REPLAY_LIVE_SEPARATION_V1",
        "replay_live_mix_count": replay_live_mix,
        "live_metrics_null_when_insufficient": live_metrics_null_when_insufficient,
        "gate": "PASS" if replay_live_mix == 0 and live_metrics_null_when_insufficient else "FAIL",
        "metrics": {
            "live_t20_count": live_t20,
            "replay_t20_count": replay_t20,
            "dashboard_gate": dashboard.get("gate"),
        },
    }
    out = ROOT / "Temp" / "replay_live_separation_v1.json"
    out.write_text(json.dumps(result, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(result, ensure_ascii=True, indent=2))
    return 0 if result["gate"] == "PASS" else 1


if __name__ == "__main__":
    raise SystemExit(main())
