test: name the cross-repo dependency instead of failing on it - #430
Merged
Merged
Conversation
wallscaler
requested changes
Aug 2, 2026
wallscaler
left a comment
Contributor
There was a problem hiding this comment.
The optional import makes a standalone checkout readable, but it also removes the only direct producer-consumer snapshot contract from required CI when Cathedral Compute is absent. The thin required job installs no Compute dependency. The provenance job installs Compute but does not run scaffold/publisher/tests/test_snapshot_candidates.py. Local results are 6 passed and 1 skipped without Compute, 7 passed with Compute. Please add this test to the required provenance workflow or add a dedicated required cross-repository contract job before merging.
`test_capture_produces_a_valid_sorted_snapshot` imports
`cathedral.score_class`. `cathedral` is the cathedral-compute package, not this
one, and nothing in this repository declares it -- so on a checkout of this
repository alone the import raises ModuleNotFoundError and this test is the
entire suite's only failure:
1501 passed, 22 skipped, 1 failed
ModuleNotFoundError: No module named 'cathedral'
To anyone reviewing the repo that reads as a product defect, which is exactly
what it is not. `pytest.importorskip` names the reason instead: the cross-repo
half of the assertion still runs wherever both packages are installed, and
explains itself where they are not.
The skip is taken partway through the test, so everything above it -- the
capture itself, the sorted hotkeys, the block hash, and that the hash is queried
for EXACTLY the captured block -- is asserted either way. Only the confidential
exporter's acceptance of the document needs the other package.
Verified: 1501 passed, 23 skipped, 0 failed on a checkout of this repository
alone.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Run the candidate snapshot contract in the hash-locked two-mode gate while preserving an explanatory standalone skip when cathedral-compute is not installed.
wallscaler
force-pushed
the
fix/cross-repo-test-dependency
branch
from
August 2, 2026 08:30
fe67e86 to
87aca89
Compare
wallscaler
approved these changes
Aug 2, 2026
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.
This PR makes the cross-repository snapshot contract explicit without weakening required CI.
A standalone Cathedral checkout still tests snapshot capture, ordering, block hash, and exact block lookup. The final consumer assertion names its Cathedral Compute dependency and skips only when that separate package is absent.
The required two-mode provenance workflow now:
Repair evidence at
87aca896:This is source and CI coverage only. It is not deployment, live miner, or on-chain proof.