test(release): bind lifecycle evidence to attested runs - #61
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
| if ( | ||
| !/^https:\/\/github\.com\/ahrav\/magic-context\/actions\/runs\/\d+$/.test(runUrl) || | ||
| repository !== "ahrav/magic-context" || |
There was a problem hiding this comment.
Minor nit: "ahrav/magic-context" is now hardcoded twice here (the runUrl regex and this repository check), in addition to the existing `https://github.com/${source.repository}` templating used elsewhere in attestationCertificateMatches. Consider hoisting it into a single EXPECTED_REPOSITORY constant next to QUALIFICATION_WORKFLOW_PATH so a future repo rename/fork can't leave one occurrence stale.
ReviewScope: Overall: this is a solid, well-scoped hardening of the release-evidence gate. Highlights:
Nits (posted inline where applicable):
Things I couldn't fully verify from this diff alone (not blocking, just flagging for awareness):
No correctness or security bugs found in the changed logic itself. |
Summary
Release checks now bind proof bytes, target reports, the installed evidence record, checkout commit, signer workflow, and workflow run into one attested chain. Cross-harness smoke exercises two owners, stop plus demand-start, real request completion, replay, and cleanup.
Verification
bun run test:release: 135 tests passedRemaining Qualification
The gate stays fail-closed until the protected qualification workflow, exact Linux/macOS campaigns, installed registry flows, and production Synapse evidence exist. npm publication remains intentionally out of scope.
Stack