import json

results = [
    {
        "candidate_id": "candidate_2026-06-25T07-45-00Z_long_liquidity_sweep_reversal",
        "timestamp": "2026-06-25T07:45:00Z",
        "decision": "needs_more_context",
        "reason": "H4/H1 structure is a pullback phase. M30 swept support (3971-3973). M5 07:45 confirms aggressive reversal, but momentum needs confirmation. Keep in shadow as entry conditions unclear without real-time Fib/PD array visualization.",
        "htf_context": "H4 consolidation around 3990-4018 after up move. H1 shows pullback to 3971 area.",
        "m30_structure": "Sweep of local lows down to 3971 at 07:00-07:30.",
        "m15_m5_execution": "M5 strong bullish momentum at 07:45 (close 3977.675) after double bottom/sweep at 3971.695. No clear limit entry.",
        "entry": None,
        "stop": None,
        "target": None,
        "r": None,
        "promoted_to_journal": False
    },
    {
        "candidate_id": "candidate_2026-06-25T10-30-00Z_short_liquidity_sweep_reversal",
        "timestamp": "2026-06-25T10:30:00Z",
        "decision": "needs_more_context",
        "reason": "M30 swept 3989 highs up to 3997, but 10:30 is middle of a slow drop. No clean FVG/OB interaction visible in raw OHLCV for short. Wait for clearer setup.",
        "htf_context": "H1/H4 choppy inside day range.",
        "m30_structure": "Lower high forming at 3989.34 after 3997 high.",
        "m15_m5_execution": "M5 10:25 push to 3989.34 followed by immediate rejection at 10:30 (close 3986.81). Choppy.",
        "entry": None,
        "stop": None,
        "target": None,
        "r": None,
        "promoted_to_journal": False
    },
    {
        "candidate_id": "candidate_2026-06-25T11-30-00Z_long_liquidity_sweep_reversal",
        "timestamp": "2026-06-25T11:30:00Z",
        "decision": "needs_more_context",
        "reason": "Sharp drop at 11:15 down to 3976.27. 11:30 creates inside bar, then strong reversal at 11:35/11:40 back to 3986. Needs chart for precise OTE entry/stop.",
        "htf_context": "H1 chopping between 3970 and 4000.",
        "m30_structure": "Aggressive sweep of 11:00 low (3976), reaching 3973.",
        "m15_m5_execution": "M5 sweep at 11:35 down to 3973.64, immediately engulfed closing 3982.56. Volatile liquidity grab, but precise entry point not identifiable without chart.",
        "entry": None,
        "stop": None,
        "target": None,
        "r": None,
        "promoted_to_journal": False
    }
]

with open("hybrid/reviews/manual_replay_results/replay_result_00705_00708.json", "w") as f:
    json.dump(results, f, indent=2)

with open("hybrid/reviews/manual_replay_progress.json", "r") as f:
    prog = json.load(f)

prog["cursor"]["next_index"] = 708
prog["cursor"]["processed_count"] = 708
prog["cursor"]["needs_more_context_count"] += 3
prog["cursor"]["last_candidate_id"] = "candidate_2026-06-25T11-30-00Z_long_liquidity_sweep_reversal"
prog["runs"][0]["decision_counts"]["needs_more_context"] += 3
prog["runs"][0]["result_files"].append("hybrid/reviews/manual_replay_results/replay_result_00705_00708.json")

with open("hybrid/reviews/manual_replay_progress.json", "w") as f:
    json.dump(prog, f, indent=2)
