diff --git a/agent/curator.py b/agent/curator.py index 7419f9ca0..36384b726 100644 --- a/agent/curator.py +++ b/agent/curator.py @@ -55,6 +55,7 @@ def _default_state() -> Dict[str, Any]: "last_run_at": None, "last_run_duration_seconds": None, "last_run_summary": None, + "last_report_path": None, "paused": False, "run_count": 0, } diff --git a/tests/agent/test_curator.py b/tests/agent/test_curator.py index 70040ec01..78971a74d 100644 --- a/tests/agent/test_curator.py +++ b/tests/agent/test_curator.py @@ -363,6 +363,19 @@ def test_state_atomic_write_no_tmp_leftovers(curator_env): assert not p.name.startswith(".curator_state_"), f"tmp leftover: {p.name}" +def test_state_preserves_last_report_path(curator_env): + c = curator_env["curator"] + c.save_state({ + "last_run_at": "2026-04-30T12:00:00+00:00", + "last_run_summary": "ok", + "last_report_path": "/tmp/curator-report", + "paused": False, + "run_count": 1, + }) + state = c.load_state() + assert state["last_report_path"] == "/tmp/curator-report" + + def test_curator_review_prompt_has_invariants(): """Core invariants must be in the review prompt text.""" from agent.curator import CURATOR_REVIEW_PROMPT