feat(ack): refine intake and validation workflow

This commit is contained in:
2026-08-04 10:52:37 +08:00
parent b9c82b5520
commit 5018a1801d
32 changed files with 1602 additions and 302 deletions
+26
View File
@@ -602,6 +602,32 @@ class ReceiptValidationTests(unittest.TestCase):
)
)
def test_receipt_accepts_project_and_board_bound_launch_fingerprint(self) -> None:
routing = valid_orchestration()
receipt = valid_receipt(routing)
receipt["projectRoot"] = "/repo/demo"
receipt["boardHash"] = worker_profiles.canonical_sha256({"tasks": []})
receipt["launchFingerprint"] = worker_profiles.canonical_sha256({
"protocolVersion": 1,
"backend": "orca",
"projectRoot": receipt["projectRoot"],
"boardHash": receipt["boardHash"],
"profileId": receipt["profileId"],
"profileHash": receipt["profileHash"],
"createdFor": receipt["createdFor"],
"worktree": receipt["worktree"],
"requested": receipt["requested"],
"slot": receipt["slot"],
})
receipt["receiptHash"] = worker_profiles.receipt_hash(receipt)
self.assertEqual(
worker_profiles.validate_worker_receipt(
receipt, orchestration=routing, task_ids={"TASK-001"},
),
[],
)
def test_receipt_slot_is_bounded_and_bound_into_launch_fingerprint(self) -> None:
routing = valid_orchestration()
invalid = valid_receipt(routing)