[codex] add Bug Zoo v0#473
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (41)
WalkthroughThis PR implements Bug Zoo v0, an executable infrastructure for verifying that heterogeneous host-language contract representations canonicalize to identical boundary predicates. The changes include ProofIR documentation and lossy-compression rationale, a Java null-boundary specimen with two implementations, unified contract expression parsing across extractors, and a Rust CLI that orchestrates specimen verification via lift RPC and ProofIR CID comparison. ChangesBug Zoo v0: Specimen Infrastructure & Lossy Boundary Compression
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes The PR spans heterogeneous changes across documentation (high-level framing), Java architecture (extractor unification and new module), and Rust CLI implementation (manifest orchestration and RPC plumbing). While individual layers are coherent, the breadth of changes and the need to verify integration across Java/Rust/specimen requires careful attention to data flow, RPC contract, CID canonicalization, and test assertions. Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
TSavo
left a comment
There was a problem hiding this comment.
I found a build-blocking issue: the branch wires in a new proof subcommand but does not include the backing module, so provekit-cli fails to compile.
| mod cmd_link; | ||
| mod cmd_mint; | ||
| mod cmd_must; | ||
| mod cmd_proof; |
There was a problem hiding this comment.
This branch adds mod cmd_proof; and routes the proof subcommand through cmd_proof, but it does not add implementations/rust/provekit-cli/src/cmd_proof.rs. macOS CI is failing with error[E0583]: file not found for module cmd_proof, and any normal Rust build of provekit-cli will fail until the module is added or these references are removed.
What changed
This PR adds the first executable Bug Zoo slice:
Lossy Boundary Compression: Why ProofIR Is Universal Because It Forgets.bug-zoo/with the first live species,BZ-SHAPE-005-java-null-boundary-equivalence.provekit zoo, a Rust CLI runner that validates specimen manifests, runs host checks, invokes specimen-owned lifter RPC launchers, compares canonical ProofIR CIDs, checks the expected missing edge, and emits strict JSON output.provekit zoocommand against the Java specimen when Maven/JDK are available.Why
The zoo is meant to prove that bug species are executable objects, not static advisory prose. The first specimen demonstrates the core claim: ordinary code passes its host checks, two different contract surfaces lift to the same ProofIR boundary, and the missing edge becomes reproducible and content-addressed:
This is exposed, not patched. The historical fix is not the oracle; the protocol catches the missing obligation.
Validation
Passed locally:
mvn -f implementations/java/pom.xml -pl provekit-lift-java-integration-tests -am test -Dtest=CrossDomainContractEquivalenceTestmvn -f implementations/java/pom.xml -pl provekit-lift-java-core,provekit-lift-java-provekit-native,provekit-lift-java-spring-web,provekit-lift-java-integration-tests -am testcd implementations/rust && cargo test -p provekit-cli cmd_zoo::testscd implementations/rust && cargo test -p provekit-cli --test zoo_smokecd implementations/rust && cargo run -p provekit-cli -- zoo ../../bug-zoo/species/BZ-SHAPE-005-java-null-boundary-equivalence --jsonFinal JSON check returned
ok: true; theprovekit-nativeandspring-webProofIR CIDs were identical:Notes
The working tree still contains unrelated local changes outside this PR scope. This branch stages only the Bug Zoo/ProofIR slice.
Summary by CodeRabbit
Release Notes
New Features
provekit proofandprovekit zooCLI subcommands for contract verification and cross-framework boundary comparisonDocumentation
Tests