From 4d7082a1c991fb977297d56c0f901c9e93533ac8 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Wed, 28 Oct 2026 00:44:20 +0800 Subject: [PATCH] test: verify native checkpoint binding refusal at sealing boundary Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- tests/control_plane/test_research_checkpoint_capture.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/control_plane/test_research_checkpoint_capture.py b/tests/control_plane/test_research_checkpoint_capture.py index 0435610fe7..fe004dcaee 100644 --- a/tests/control_plane/test_research_checkpoint_capture.py +++ b/tests/control_plane/test_research_checkpoint_capture.py @@ -322,9 +322,10 @@ def between_read_and_probe(method, params, **kwargs): if source_moves: assert not receipt["checkpoint"]["captured"], receipt assert not destination.exists() - expected_error = ("checkpoint source moved" if mutation_stage == "capture" else - "profile changed" if source_moves == "binding" else "native") - assert expected_error in receipt["checkpoint"]["error"] + expected_clauses = (("checkpoint source moved",) if mutation_stage == "capture" else + ("source session", "binding or profile moved", "before sealing") + if source_moves == "binding" else ("native",)) + assert all(clause in receipt["checkpoint"]["error"] for clause in expected_clauses) else: assert receipt["checkpoint"]["captured"], receipt manifest = json.loads((destination / "checkpoint.json").read_text())