Skip to content

test: name the cross-repo dependency instead of failing on it - #430

Merged
wallscaler merged 2 commits into
mainfrom
fix/cross-repo-test-dependency
Aug 2, 2026
Merged

wallscaler merged 2 commits into
mainfrom
fix/cross-repo-test-dependency

Conversation

@ai-hpc

@ai-hpc ai-hpc commented Aug 2, 2026

Copy link
Copy Markdown
Member

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:

  • installs the hash-locked Cathedral Compute archive,
  • verifies the locked environment,
  • collects this snapshot test as part of the required launch family,
  • runs the snapshot contract with Cathedral Compute present.

Repair evidence at 87aca896:

  • standalone checkout: 6 passed, 1 explicit dependency skip,
  • locked cross-repository environment: 7 passed, 0 skipped,
  • required collection gate: PASS,
  • affected Cathedral test family: 484 passed, 1 unrelated pre-existing skip,
  • Ruff check and format: PASS,
  • git diff check: PASS.

This is source and CI coverage only. It is not deployment, live miner, or on-chain proof.

@wallscaler wallscaler left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

ai-hpc and others added 2 commits August 2, 2026 04:22
`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
wallscaler force-pushed the fix/cross-repo-test-dependency branch from fe67e86 to 87aca89 Compare August 2, 2026 08:30
@wallscaler
wallscaler merged commit 76f59db into main Aug 2, 2026
8 checks passed
@wallscaler
wallscaler deleted the fix/cross-repo-test-dependency branch August 2, 2026 08:35
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.

2 participants