diff --git a/tests/test_evidence.py b/tests/test_evidence.py index 08810a5f..871e65b0 100644 --- a/tests/test_evidence.py +++ b/tests/test_evidence.py @@ -512,6 +512,19 @@ class EvidenceTests(unittest.TestCase): lagging = self.validate(wt) self.assertEqual(lagging.returncode, 0, lagging.stderr) + def test_local_continuation_accepts_registered_task_without_remote_tracking_ref(self): + wt = self.local_task() + self.capture("make precheck", cwd=wt) + task_head = self.git("rev-parse", "HEAD", cwd=wt) + self.git("update-ref", "-d", "refs/remotes/origin/main") + # The R0 commit recorded in the task card must remain reachable locally + # even after the remote-tracking ref is removed. + self.git("cat-file", "-e", self.head) + result = self.validate(wt) + self.assertEqual(result.returncode, 0, result.stderr) + self.assertIn("local continuation validated", result.stdout) + self.assertEqual(self.git("rev-parse", "HEAD", cwd=wt), task_head) + def test_local_ready_never_authorizes_start_delivery_or_promoted_source(self): wt = self.local_task() self.capture("make precheck", cwd=wt)