Skip to content

ci: accept the Capobara 40-hex toolDigest in projection receipts - #9

Merged
haasonsaas merged 1 commit into
mainfrom
ci/accept-capobara-tool-digest
Sep 20, 2026
Merged

haasonsaas merged 1 commit into
mainfrom
ci/accept-capobara-tool-digest

Conversation

@haasonsaas

Copy link
Copy Markdown
Contributor

Why

Every sync/mono-projection pull request fails verifyVerify projection state with AssertionError: toolDigest. Since dx-corp/mono#9935 (the Capobara cutover) the receipt's toolDigest is the 40-hex git tree id of rust/tools/capobara, a sanctioned difference in the Capobara design spec; the Node projector recorded a 64-hex sha256, and this workflow asserted 64 hex for all three digests.

What

Accept 40 or 64 hex for toolDigest only. definitionDigest and contentDigest keep the 64-hex assertion. Workflow only; this file is destination-owned, so it is not projected from Mono.

Validation

The change is one regex on a destination-owned check; this PR's own verify run exercises the step against the current receipt on main (64 hex) and must pass. The next refreshed sync PR from Mono (40 hex) is the positive control for the new branch of the regex.

🤖 Generated with Claude Code

Since dx-corp/mono#9935 the projection is published by Capobara, whose receipt
records toolDigest as the 40-hex git tree id of rust/tools/capobara instead of
the Node projector's 64-hex sha256. "Verify projection state" asserted 64 hex
for every digest, so each sync PR from Mono fails with "AssertionError:
toolDigest". Accept either length for toolDigest only; definitionDigest and
contentDigest stay 64 hex.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@haasonsaas
haasonsaas merged commit 2106d21 into main Sep 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant