From c84504767ff8caa4c4c0c0a653a00b4207b1c523 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Wed, 28 Oct 2026 08:25:33 +0800 Subject: [PATCH] test(coordination): read managed claim receipts through their native owner Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../test_local_coordination_authority.py | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/tests/control_plane/test_local_coordination_authority.py b/tests/control_plane/test_local_coordination_authority.py index 87fd401e77..6836fbb152 100644 --- a/tests/control_plane/test_local_coordination_authority.py +++ b/tests/control_plane/test_local_coordination_authority.py @@ -2246,6 +2246,27 @@ def test_real_canonical_provider_preserves_complete_complex_todo_semantics( "--claim-operation-id", "initial-cli-claim", ] + + def recover_native_claim(operation_id): + # Ordinary CLI self-claims expose the execution reference, while the + # existing transaction owner retains the complete durable receipt. + recovered = claim_canonical_todo_if_promoted( + registry_path=registry_path, + runtime_root=runtime_root, + goal_id="goal-a", + todo_id="todo_claimable", + role=None, + claimed_by="agent-a", + actor_agent_id="agent-a", + operation_id=operation_id, + manage_execution=True, + dry_run=False, + ) + assert recovered["status"] == "replayed" + assert recovered["original_receipt"]["operation_id"] == operation_id + assert recovered["original_receipt"]["goal_id"] == "goal-a" + return recovered + # Duplicate callers race from separate processes, but one operation must # produce exactly one accepted claim and the same durable receipt. with ThreadPoolExecutor(max_workers=2) as pool: @@ -2265,7 +2286,13 @@ def test_real_canonical_provider_preserves_complete_complex_todo_semantics( assert all( item["status"] in {"applied", "recovered", "replayed"} for item in claims ) - assert claims[0]["original_receipt"] == claims[1]["original_receipt"] + for claim in claims: + assert claim["execution_managed"] is True + assert claim["claim_operation_id"] == "initial-cli-claim" + assert "original_receipt" not in claim + receipts = [recover_native_claim(claim["claim_operation_id"]) for claim in claims] + assert receipts[0]["original_receipt"] == receipts[1]["original_receipt"] + assert all(receipt["provider_revision"] == claims[0]["provider_revision"] for receipt in receipts) assert claims[0]["provider_revision"] == claims[1]["provider_revision"] claimed = next(item for item in claims if item["status"] == "applied") assert claimed["ok"] is True @@ -2309,7 +2336,13 @@ def test_real_canonical_provider_preserves_complete_complex_todo_semantics( ) assert original["status"] == "no_change" assert replay["status"] == "replayed" - assert replay["original_receipt"] == original["original_receipt"] + assert original["claim_operation_id"] == replay["claim_operation_id"] == "retryable-cli-claim" + assert "original_receipt" not in original and "original_receipt" not in replay + original_receipt = recover_native_claim(original["claim_operation_id"]) + replay_receipt = recover_native_claim(replay["claim_operation_id"]) + assert replay_receipt["original_receipt"] == original_receipt["original_receipt"] + assert original_receipt["original_receipt"]["result"]["changed"] is False + assert replay_receipt["provider_revision"] == replay["provider_revision"] assert replay["provider_revision"] == original["provider_revision"] changed_intent = [ "agent-b" if part == "agent-a" else part for part in claim_command