fix(agent): project no-write lifecycle prefixes

This commit is contained in:
ogt
2026-07-14 16:32:59 +08:00
parent 138432ecaa
commit 7625cb9b0c
2 changed files with 113 additions and 18 deletions

View File

@@ -2145,12 +2145,16 @@ def test_stdin_boundary_terminal_projection_closes_only_from_durable_receipts(
assert "replay_of_check_mode_op_id" in source
assert "retry_of_check_mode_op_id" in source
assert "TELEGRAM_RESULT_SENT" in verifier_source
assert "AUTO_REPAIR_TRIGGERED" in loader_source
assert "EXECUTION_STARTED" in loader_source
assert "AUTO_REPAIR_TRIGGERED" in verifier_source
assert "EXECUTION_STARTED" in verifier_source
assert "km_playbook_writeback" in verifier_source
assert "playbook_trust" in verifier_source
assert "runtime_apply_executed" in verifier_source
assert verifier_source.count(
"CAST(:terminal_op_id AS text)"
) == 4
) == 6
@pytest.mark.asyncio
@@ -2307,6 +2311,14 @@ async def test_stdin_boundary_terminal_projection_runs_no_write_pipeline(
assert result["runtime_apply_executed"] is False
assert result["blockers"] == []
assert ("telegram_send", "no_write_replay") in calls
assert (
"lifecycle",
("AUTO_REPAIR_TRIGGERED", terminal_op_id, True),
) in calls
assert (
"lifecycle",
("EXECUTION_STARTED", terminal_op_id, True),
) in calls
assert (
"lifecycle",
("EXECUTION_COMPLETED", terminal_op_id, False),
@@ -2315,6 +2327,13 @@ async def test_stdin_boundary_terminal_projection_runs_no_write_pipeline(
"lifecycle",
("TELEGRAM_RESULT_SENT", terminal_op_id, False),
) in calls
lifecycle_calls = [value for name, value in calls if name == "lifecycle"]
assert lifecycle_calls == [
("AUTO_REPAIR_TRIGGERED", terminal_op_id, True),
("EXECUTION_STARTED", terminal_op_id, True),
("EXECUTION_COMPLETED", terminal_op_id, False),
("TELEGRAM_RESULT_SENT", terminal_op_id, False),
]
append_calls = [value for name, value in calls if name == "append"]
assert len(append_calls) == 3
assert all(item[0] == terminal_op_id for item in append_calls)