Merge pull request #1199 from AdaWorldAPI/claude/great-curie-d2ufyl #1178
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
| name: JC Substrate Proof | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| paths: | |
| - crates/jc/** | |
| - crates/lance-graph-contract/src/cam.rs | |
| - .github/workflows/jc-proof.yml | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| prove: | |
| name: Five-Pillar Substrate Proof | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Clone AdaWorldAPI/OGAR as parent-level sibling (NO-PIN path deps) | |
| run: git clone --depth 1 https://github.com/AdaWorldAPI/OGAR ../OGAR | |
| - name: Clone AdaWorldAPI/ndarray as parent-level sibling (NO-PIN path deps) | |
| # The `substrate_compare` example dev-deps `p64` (ndarray/crates/p64) for | |
| # the real compute arm; production JC stays zero-dep. Sibling-clone so the | |
| # path resolves in CI, matching the OGAR pattern above. | |
| run: git clone --depth 1 https://github.com/AdaWorldAPI/ndarray ../ndarray | |
| - name: Setup Rust | |
| run: | | |
| # Pinned by rust-toolchain.toml — never a version restated here. | |
| rustup show | |
| - name: Run JC tests (6 unit tests) | |
| run: cargo test --manifest-path crates/jc/Cargo.toml | |
| # jc is workspace-excluded, so the root clippy job never reaches it; it | |
| # went red unnoticed until TD-JC-CLIPPY-RED-ON-BASE-1 (2026-09-05). Same | |
| # arming as sigker in rust-test.yml: fix once, then gate it here. | |
| - name: Lint JC (workspace-excluded, so root clippy never reaches it) | |
| run: | | |
| cargo clippy --manifest-path crates/jc/Cargo.toml \ | |
| --all-targets -- -D warnings | |
| - name: Run prove_it (substrate proof binary) | |
| run: | | |
| cargo run --manifest-path crates/jc/Cargo.toml --release --example prove_it | |
| echo "Exit code: $?" | |
| - name: Run substrate_compare (on-demand P64-vs-V3 gap analysis; KILL gates) | |
| # `cargo test` compiles examples but never RUNS their runtime gates, so | |
| # execute the comparison here — it exits non-zero if the asymmetry (V3 | |
| # absorbs P64 at 0 new bytes vs P64 replicates V3 at 32) fails to certify. | |
| run: cargo run --manifest-path crates/jc/Cargo.toml --example substrate_compare |