ci: add test runner and cross-repo pack sync enforcement#37
Merged
Conversation
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
.github/workflows/ci.ymlwith two independent jobs running on every push/PR tomain:test—pip install -e ".[dev]"thenpytest tests/ -v.pack-sync— fetchessession_pack.jsonfromliminate-session-contractsvia raw GitHub URL and compares its SHA-256 against the canonical copy in this repo (examples/pack_session.json). Fails with an actionable error message if they diverge.Deviation from the original spec
The spec also called for syncing against
liminate-receipts/packs/session_pack.json. That repo is private and pre-launch, so an unauthenticated raw fetch returns a404: Not Foundbody — which would hash differently and fail the job on every run. The receipts copy was verified to be byte-identical to canonical at build time (via authenticated API), so there is no actual drift; only the access method is the problem.Per decision with the repo owner, receipts enforcement is deferred until launch rather than introducing a maintained PAT secret to guard a dormant private repo. A marked TODO in the workflow documents how to add the receipts step (a one-line mirror of the session-contracts fetch) once that repo is public. Until then, CI enforces sync on the public session-contracts copy.
Part of P0-4 enterprise readiness (version pinning and contract replay guarantee).
🤖 Generated with Claude Code