import json
import datetime
from pathlib import Path
import shutil

progress_file = Path("hybrid/reviews/manual_replay_progress.json")

# Backup
timestamp = datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%dT%H%M%SZ")
shutil.copy(progress_file, progress_file.with_name(f"manual_replay_progress.json.bak_{timestamp}"))

with open(progress_file, "r") as f:
    progress = json.load(f)

# Update cursor
progress["cursor"]["next_index"] = 517
progress["cursor"]["processed_count"] = 517
progress["cursor"]["rejected_count"] += 1
progress["cursor"]["shadow_count"] += 1
progress["cursor"]["needs_more_context_count"] += 1
progress["cursor"]["last_candidate_id"] = "candidate_2026-04-16T12-00-00Z_short_liquidity_sweep_reversal"
progress["cursor"]["last_updated"] = datetime.datetime.now(datetime.timezone.utc).isoformat() + "Z"

# Update run
progress["runs"][0]["result_files"].append("hybrid/reviews/manual_replay_results/replay_result_00514_00517.json")
progress["runs"][0]["decision_counts"]["rejected"] += 1
progress["runs"][0]["decision_counts"]["shadow"] += 1
progress["runs"][0]["decision_counts"]["needs_more_context"] += 1

with open(progress_file, "w") as f:
    json.dump(progress, f, indent=2)

print("Progress updated.")
