Skip to content

chore: cut compile-IR-to-machine + lift-binary crates (out of scope)#1542

Merged
TSavo merged 1 commit into
mainfrom
chore/cut-machine-compilers-and-binary-lifters
May 26, 2026
Merged

chore: cut compile-IR-to-machine + lift-binary crates (out of scope)#1542
TSavo merged 1 commit into
mainfrom
chore/cut-machine-compilers-and-binary-lifters

Conversation

@TSavo
Copy link
Copy Markdown
Owner

@TSavo TSavo commented May 26, 2026

Per the honest-spike scope census (CODE-VS-DICTIONARY.md), the A (compile-ProofIR-to-machine-target) and B (lift-a-binary) experiment families. The product lifts sugar→contract and discharges against solvers — it does not compile IR to machine code or lift assembly/bytecode.

Confirmed orphans: depended on by nothing but the workspace member list. The verifier/cli/linker use the ir-compiler parent abstraction and the smt-lib/coq/lean/maude solver backends — all kept.

Delete (10 crates):

  • A: provekit-ir-compiler-{x86-64,wasm,c,stub,jvm-bytecode}, provekit-ir-codegen
  • B: provekit-lift-{asm-aarch64,asm-x86-64,evm-bytecode,jvm-bytecode}

Keep: provekit-ir-compiler (parent) + -smt-lib/-coq/-lean/-maude (discharge backends, in scope).

cargo check --workspace clean; ~17.8K lines removed. Independent of the .invariant PR (#1541).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Removals
    • Removed EVM bytecode support and related test coverage.
    • Removed multiple IR compiler implementations.
    • Removed multiple lifter/adapter tools.
    • Removed IR code generation utility and associated build targets.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 26, 2026

Warning

Review limit reached

@TSavo, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 37 minutes and 2 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 202e94af-a01c-4246-a12a-67d3d9ef410c

📥 Commits

Reviewing files that changed from the base of the PR and between cc239cd and fd01307.

⛔ Files ignored due to path filters (1)
  • implementations/rust/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (95)
  • .github/workflows/ci.yml
  • Makefile
  • implementations/rust/.provekit/lift/evm-bytecode/manifest.toml
  • implementations/rust/.provekit/lift/jvm-bytecode/manifest.toml
  • implementations/rust/Cargo.toml
  • implementations/rust/provekit-cli/src/cmd_mint.rs
  • implementations/rust/provekit-cli/src/cmd_prove.rs
  • implementations/rust/provekit-cli/src/project_config.rs
  • implementations/rust/provekit-cli/tests/mint_kit_integration.rs
  • implementations/rust/provekit-ir-codegen/Cargo.toml
  • implementations/rust/provekit-ir-codegen/src/cddl_parser.rs
  • implementations/rust/provekit-ir-codegen/src/compile.rs
  • implementations/rust/provekit-ir-codegen/src/coq.rs
  • implementations/rust/provekit-ir-codegen/src/emit_formula_coq.rs
  • implementations/rust/provekit-ir-codegen/src/emit_formula_smt.rs
  • implementations/rust/provekit-ir-codegen/src/emit_term.rs
  • implementations/rust/provekit-ir-codegen/src/emit_term_coq.rs
  • implementations/rust/provekit-ir-codegen/src/free_vars.rs
  • implementations/rust/provekit-ir-codegen/src/h.rs
  • implementations/rust/provekit-ir-codegen/src/lib.rs
  • implementations/rust/provekit-ir-codegen/src/main.rs
  • implementations/rust/provekit-ir-codegen/src/rust_gen.rs
  • implementations/rust/provekit-ir-codegen/src/smt.rs
  • implementations/rust/provekit-ir-codegen/tests/cddl_valid.rs
  • implementations/rust/provekit-ir-compiler-c/Cargo.toml
  • implementations/rust/provekit-ir-compiler-c/README.md
  • implementations/rust/provekit-ir-compiler-c/specs/algebra_to_c.spec.json
  • implementations/rust/provekit-ir-compiler-c/src/generated.rs
  • implementations/rust/provekit-ir-compiler-c/src/lib.rs
  • implementations/rust/provekit-ir-compiler-c/src/main.rs
  • implementations/rust/provekit-ir-compiler-c/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-c/tests/fixtures/foo.expected.c
  • implementations/rust/provekit-ir-compiler-c/tests/fixtures/foo.term.json
  • implementations/rust/provekit-ir-compiler-c/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/Cargo.toml
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/README.md
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/specs/algebra_to_jvm.spec.json
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/generated.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/lib.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/main.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/fixtures/foo.expected.j
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/fixtures/foo.term.json
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-stub/Cargo.toml
  • implementations/rust/provekit-ir-compiler-stub/src/lib.rs
  • implementations/rust/provekit-ir-compiler-stub/tests/stub.rs
  • implementations/rust/provekit-ir-compiler-wasm/Cargo.toml
  • implementations/rust/provekit-ir-compiler-wasm/README.md
  • implementations/rust/provekit-ir-compiler-wasm/fixtures/foo.wat
  • implementations/rust/provekit-ir-compiler-wasm/specs/algebra_to_wasm.spec.json
  • implementations/rust/provekit-ir-compiler-wasm/src/generated.rs
  • implementations/rust/provekit-ir-compiler-wasm/src/lib.rs
  • implementations/rust/provekit-ir-compiler-wasm/src/main.rs
  • implementations/rust/provekit-ir-compiler-wasm/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-wasm/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-x86-64/Cargo.toml
  • implementations/rust/provekit-ir-compiler-x86-64/README.md
  • implementations/rust/provekit-ir-compiler-x86-64/specs/algebra_to_x86_64.spec.json
  • implementations/rust/provekit-ir-compiler-x86-64/src/generated.rs
  • implementations/rust/provekit-ir-compiler-x86-64/src/lib.rs
  • implementations/rust/provekit-ir-compiler-x86-64/src/main.rs
  • implementations/rust/provekit-ir-compiler-x86-64/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-x86-64/tests/fixtures/foo.expected.s
  • implementations/rust/provekit-ir-compiler-x86-64/tests/fixtures/foo.term.json
  • implementations/rust/provekit-ir-compiler-x86-64/tests/smoke.rs
  • implementations/rust/provekit-lift-asm-aarch64/Cargo.toml
  • implementations/rust/provekit-lift-asm-aarch64/README.md
  • implementations/rust/provekit-lift-asm-aarch64/src/lib.rs
  • implementations/rust/provekit-lift-asm-aarch64/src/main.rs
  • implementations/rust/provekit-lift-asm-aarch64/tests/fixtures/foo.s
  • implementations/rust/provekit-lift-asm-aarch64/tests/smoke.rs
  • implementations/rust/provekit-lift-asm-x86-64/Cargo.toml
  • implementations/rust/provekit-lift-asm-x86-64/README.md
  • implementations/rust/provekit-lift-asm-x86-64/manifest.toml
  • implementations/rust/provekit-lift-asm-x86-64/specs/x86_64_sysv_signature.spec.json
  • implementations/rust/provekit-lift-asm-x86-64/src/lib.rs
  • implementations/rust/provekit-lift-asm-x86-64/src/main.rs
  • implementations/rust/provekit-lift-asm-x86-64/tests/fixtures/foo.gnu-objdump.txt
  • implementations/rust/provekit-lift-asm-x86-64/tests/fixtures/foo.s
  • implementations/rust/provekit-lift-asm-x86-64/tests/smoke.rs
  • implementations/rust/provekit-lift-evm-bytecode/Cargo.toml
  • implementations/rust/provekit-lift-evm-bytecode/src/lib.rs
  • implementations/rust/provekit-lift-evm-bytecode/src/main.rs
  • implementations/rust/provekit-lift-evm-bytecode/tests/fixtures/add.evm
  • implementations/rust/provekit-lift-evm-bytecode/tests/smoke.rs
  • implementations/rust/provekit-lift-jvm-bytecode/Cargo.toml
  • implementations/rust/provekit-lift-jvm-bytecode/README.md
  • implementations/rust/provekit-lift-jvm-bytecode/src/lib.rs
  • implementations/rust/provekit-lift-jvm-bytecode/src/main.rs
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/foo.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/instance_method.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/static_read_after_write.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/static_read_only.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/smoke.rs

Walkthrough

This PR removes EVM bytecode kit support from the Provekit infrastructure by deleting the evm-bytecode conformance target from CI/Makefile build gates, removing it from the CLI kit dispatch, and cleaning up related tests. It also updates the Cargo workspace to include new IR compiler crates (Coq, Maude, Lean) while removing target-specific compilers and code generation infrastructure.

Changes

EVM bytecode kit removal

Layer / File(s) Summary
CI/Makefile conformance gate removal
.github/workflows/ci.yml, Makefile
The prove-linux CI matrix removes evm-bytecode; the standalone prove-evm-bytecode target is deleted from the Makefile; make help and the prove-all aggregate target are updated to exclude evm-bytecode from the Linux/CI prove gate list.
Workspace and CLI dispatch updates
implementations/rust/Cargo.toml, implementations/rust/provekit-cli/src/cmd_mint.rs
Cargo workspace adds provekit-ir-compiler-coq, provekit-ir-compiler-maude, provekit-ir-compiler-lean and repositions provekit-lift-openapi; CLI KIT_TABLE mapping and help text remove evm-bytecode entry, and the inline "Known kits" comment is updated.
CLI and integration test updates
implementations/rust/provekit-cli/tests/mint_kit_integration.rs, implementations/rust/provekit-ir-compiler-c/tests/fixtures/foo.expected.c
CLI unit test removes evm-bytecode from resolvable kits; EVM stack-smoke helper functions are deleted; the evm_bytecode_kit_round_trips_stack_program_through_cli_mint integration test is removed; test fixtures are cleaned up.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • TSavo/provekit#591: Introduces EVM bytecode kit infrastructure and provekit-lift-evm-bytecode lifter; this PR removes those same components.
  • TSavo/provekit#588: Adds JVM bytecode lifter and manifest registration; this PR removes the JVM lifter and manifest.
  • TSavo/provekit#165: Modifies per-kit "prove" conformance gate wiring in CI/Makefile; this PR applies similar gating changes to remove the evm-bytecode kit.

🐰 A hop and a skip, the EVM kit's gone,
New compilers arrive as the old ones move on,
Coq, Maude, and Lean now join the brigade,
While bytecode and lifters fade away in the shade.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the primary change: removing compile-IR-to-machine and lift-binary crates identified as out-of-scope.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/cut-machine-compilers-and-binary-lifters

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 84125a3795

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 34 to 37
"provekit-lift-quickcheck",
"provekit-lift-verus",
"provekit-lift-rust-tests",
"provekit-lift-asm-x86-64",
"provekit-lift-jvm-bytecode",
"provekit-lift-evm-bytecode",
"provekit-lift-openapi",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep active bytecode lifter crates in workspace

Removing the provekit-lift-jvm-bytecode and provekit-lift-evm-bytecode members here leaves currently exposed lift surfaces without buildable binaries: provekit-cli still advertises jvm-bytecode and evm-bytecode in KNOWN_SURFACES (implementations/rust/provekit-cli/src/project_config.rs), and the shipped manifests still invoke ./target/release/provekit-lift-jvm-bytecode / ...-evm-bytecode (implementations/rust/.provekit/lift/*/manifest.toml, line 5). After this commit, cargo pkgid -p provekit-lift-jvm-bytecode and -p provekit-lift-evm-bytecode fail with “did not match any packages,” so these surfaces regress to runtime failure unless the surfaces/manifests are removed in the same change.

Useful? React with 👍 / 👎.

@TSavo TSavo force-pushed the chore/cut-machine-compilers-and-binary-lifters branch from 84125a3 to cc239cd Compare May 26, 2026 22:21
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
implementations/rust/provekit-cli/src/cmd_mint.rs (1)

2315-2315: ⚡ Quick win

Update the test function name to reflect the actual kit count.

The function name resolve_kit_all_13_ci_kits is now inaccurate:

  • The test array contains 12 kits (not 13) after removing evm-bytecode.
  • The test includes swift, which is macOS-only and not part of the Linux CI matrix.
  • The test excludes php, which is in KIT_TABLE.

Consider renaming to resolve_kit_all_12_kits or similar to match the actual test coverage.

♻️ Proposed fix
-    fn resolve_kit_all_13_ci_kits() {
+    fn resolve_kit_all_12_kits() {
         let kits = [
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@implementations/rust/provekit-cli/src/cmd_mint.rs` at line 2315, Rename the
test function resolve_kit_all_13_ci_kits to reflect the actual kit count and
contents (e.g., resolve_kit_all_12_kits or resolve_kit_all_ci_kits), and update
any references to that function; ensure the new name matches the test array
(which no longer contains "evm-bytecode", includes "swift" which is macOS-only
and not in the Linux CI matrix, and currently omits "php" from KIT_TABLE) so the
function name accurately describes the kits being tested.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Makefile`:
- Line 107: Update the help text in the Makefile echo that currently reads "make
prove-all      all 12 Linux kits (swift excluded: macOS-only)" to reflect the
correct kit count after removing evm-bytecode; change the string to "all 11
Linux kits (swift excluded: macOS-only)" so the printed message matches the
listed kits (the echo line containing "make prove-all      all 12 Linux kits
(swift excluded: macOS-only)").

---

Nitpick comments:
In `@implementations/rust/provekit-cli/src/cmd_mint.rs`:
- Line 2315: Rename the test function resolve_kit_all_13_ci_kits to reflect the
actual kit count and contents (e.g., resolve_kit_all_12_kits or
resolve_kit_all_ci_kits), and update any references to that function; ensure the
new name matches the test array (which no longer contains "evm-bytecode",
includes "swift" which is macOS-only and not in the Linux CI matrix, and
currently omits "php" from KIT_TABLE) so the function name accurately describes
the kits being tested.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4ebdb138-3311-4dd5-af24-ef0ceec49d52

📥 Commits

Reviewing files that changed from the base of the PR and between 335c2db and cc239cd.

⛔ Files ignored due to path filters (1)
  • implementations/rust/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (93)
  • .github/workflows/ci.yml
  • Makefile
  • implementations/rust/.provekit/lift/evm-bytecode/manifest.toml
  • implementations/rust/.provekit/lift/jvm-bytecode/manifest.toml
  • implementations/rust/Cargo.toml
  • implementations/rust/provekit-cli/src/cmd_mint.rs
  • implementations/rust/provekit-cli/tests/mint_kit_integration.rs
  • implementations/rust/provekit-ir-codegen/Cargo.toml
  • implementations/rust/provekit-ir-codegen/src/cddl_parser.rs
  • implementations/rust/provekit-ir-codegen/src/compile.rs
  • implementations/rust/provekit-ir-codegen/src/coq.rs
  • implementations/rust/provekit-ir-codegen/src/emit_formula_coq.rs
  • implementations/rust/provekit-ir-codegen/src/emit_formula_smt.rs
  • implementations/rust/provekit-ir-codegen/src/emit_term.rs
  • implementations/rust/provekit-ir-codegen/src/emit_term_coq.rs
  • implementations/rust/provekit-ir-codegen/src/free_vars.rs
  • implementations/rust/provekit-ir-codegen/src/h.rs
  • implementations/rust/provekit-ir-codegen/src/lib.rs
  • implementations/rust/provekit-ir-codegen/src/main.rs
  • implementations/rust/provekit-ir-codegen/src/rust_gen.rs
  • implementations/rust/provekit-ir-codegen/src/smt.rs
  • implementations/rust/provekit-ir-codegen/tests/cddl_valid.rs
  • implementations/rust/provekit-ir-compiler-c/Cargo.toml
  • implementations/rust/provekit-ir-compiler-c/README.md
  • implementations/rust/provekit-ir-compiler-c/specs/algebra_to_c.spec.json
  • implementations/rust/provekit-ir-compiler-c/src/generated.rs
  • implementations/rust/provekit-ir-compiler-c/src/lib.rs
  • implementations/rust/provekit-ir-compiler-c/src/main.rs
  • implementations/rust/provekit-ir-compiler-c/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-c/tests/fixtures/foo.expected.c
  • implementations/rust/provekit-ir-compiler-c/tests/fixtures/foo.term.json
  • implementations/rust/provekit-ir-compiler-c/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/Cargo.toml
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/README.md
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/specs/algebra_to_jvm.spec.json
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/generated.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/lib.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/main.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/fixtures/foo.expected.j
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/fixtures/foo.term.json
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-stub/Cargo.toml
  • implementations/rust/provekit-ir-compiler-stub/src/lib.rs
  • implementations/rust/provekit-ir-compiler-stub/tests/stub.rs
  • implementations/rust/provekit-ir-compiler-wasm/Cargo.toml
  • implementations/rust/provekit-ir-compiler-wasm/README.md
  • implementations/rust/provekit-ir-compiler-wasm/fixtures/foo.wat
  • implementations/rust/provekit-ir-compiler-wasm/specs/algebra_to_wasm.spec.json
  • implementations/rust/provekit-ir-compiler-wasm/src/generated.rs
  • implementations/rust/provekit-ir-compiler-wasm/src/lib.rs
  • implementations/rust/provekit-ir-compiler-wasm/src/main.rs
  • implementations/rust/provekit-ir-compiler-wasm/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-wasm/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-x86-64/Cargo.toml
  • implementations/rust/provekit-ir-compiler-x86-64/README.md
  • implementations/rust/provekit-ir-compiler-x86-64/specs/algebra_to_x86_64.spec.json
  • implementations/rust/provekit-ir-compiler-x86-64/src/generated.rs
  • implementations/rust/provekit-ir-compiler-x86-64/src/lib.rs
  • implementations/rust/provekit-ir-compiler-x86-64/src/main.rs
  • implementations/rust/provekit-ir-compiler-x86-64/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-x86-64/tests/fixtures/foo.expected.s
  • implementations/rust/provekit-ir-compiler-x86-64/tests/fixtures/foo.term.json
  • implementations/rust/provekit-ir-compiler-x86-64/tests/smoke.rs
  • implementations/rust/provekit-lift-asm-aarch64/Cargo.toml
  • implementations/rust/provekit-lift-asm-aarch64/README.md
  • implementations/rust/provekit-lift-asm-aarch64/src/lib.rs
  • implementations/rust/provekit-lift-asm-aarch64/src/main.rs
  • implementations/rust/provekit-lift-asm-aarch64/tests/fixtures/foo.s
  • implementations/rust/provekit-lift-asm-aarch64/tests/smoke.rs
  • implementations/rust/provekit-lift-asm-x86-64/Cargo.toml
  • implementations/rust/provekit-lift-asm-x86-64/README.md
  • implementations/rust/provekit-lift-asm-x86-64/manifest.toml
  • implementations/rust/provekit-lift-asm-x86-64/specs/x86_64_sysv_signature.spec.json
  • implementations/rust/provekit-lift-asm-x86-64/src/lib.rs
  • implementations/rust/provekit-lift-asm-x86-64/src/main.rs
  • implementations/rust/provekit-lift-asm-x86-64/tests/fixtures/foo.gnu-objdump.txt
  • implementations/rust/provekit-lift-asm-x86-64/tests/fixtures/foo.s
  • implementations/rust/provekit-lift-asm-x86-64/tests/smoke.rs
  • implementations/rust/provekit-lift-evm-bytecode/Cargo.toml
  • implementations/rust/provekit-lift-evm-bytecode/src/lib.rs
  • implementations/rust/provekit-lift-evm-bytecode/src/main.rs
  • implementations/rust/provekit-lift-evm-bytecode/tests/fixtures/add.evm
  • implementations/rust/provekit-lift-evm-bytecode/tests/smoke.rs
  • implementations/rust/provekit-lift-jvm-bytecode/Cargo.toml
  • implementations/rust/provekit-lift-jvm-bytecode/README.md
  • implementations/rust/provekit-lift-jvm-bytecode/src/lib.rs
  • implementations/rust/provekit-lift-jvm-bytecode/src/main.rs
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/foo.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/instance_method.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/static_read_after_write.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/static_read_only.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/smoke.rs
💤 Files with no reviewable changes (91)
  • implementations/rust/provekit-ir-compiler-x86-64/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-x86-64/tests/fixtures/foo.term.json
  • implementations/rust/provekit-ir-compiler-c/tests/fixtures/foo.term.json
  • implementations/rust/provekit-lift-asm-x86-64/tests/fixtures/foo.gnu-objdump.txt
  • implementations/rust/provekit-ir-codegen/src/emit_formula_smt.rs
  • implementations/rust/provekit-lift-asm-aarch64/src/main.rs
  • implementations/rust/provekit-lift-evm-bytecode/Cargo.toml
  • implementations/rust/provekit-ir-compiler-wasm/fixtures/foo.wat
  • implementations/rust/provekit-ir-compiler-wasm/README.md
  • implementations/rust/provekit-ir-codegen/src/emit_term.rs
  • implementations/rust/provekit-ir-compiler-c/src/lib.rs
  • implementations/rust/provekit-ir-compiler-wasm/specs/algebra_to_wasm.spec.json
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/foo.j
  • implementations/rust/provekit-ir-compiler-c/tests/fixtures/foo.expected.c
  • implementations/rust/provekit-ir-compiler-x86-64/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-codegen/src/main.rs
  • implementations/rust/provekit-lift-asm-aarch64/README.md
  • implementations/rust/provekit-ir-compiler-c/README.md
  • implementations/rust/provekit-ir-codegen/Cargo.toml
  • implementations/rust/provekit-ir-compiler-x86-64/tests/fixtures/foo.expected.s
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/generated.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/main.rs
  • implementations/rust/provekit-ir-codegen/src/free_vars.rs
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/static_read_after_write.j
  • implementations/rust/provekit-ir-compiler-wasm/Cargo.toml
  • implementations/rust/provekit-ir-compiler-wasm/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/fixtures/foo.expected.j
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/instance_method.j
  • implementations/rust/provekit-ir-codegen/src/lib.rs
  • implementations/rust/provekit-ir-compiler-x86-64/README.md
  • implementations/rust/provekit-lift-asm-aarch64/tests/fixtures/foo.s
  • implementations/rust/provekit-lift-evm-bytecode/src/main.rs
  • implementations/rust/provekit-lift-asm-x86-64/tests/fixtures/foo.s
  • implementations/rust/provekit-ir-compiler-wasm/src/main.rs
  • implementations/rust/provekit-ir-compiler-c/tests/smoke.rs
  • implementations/rust/provekit-lift-asm-aarch64/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-x86-64/Cargo.toml
  • implementations/rust/provekit-lift-asm-x86-64/Cargo.toml
  • implementations/rust/provekit-ir-codegen/src/cddl_parser.rs
  • implementations/rust/provekit-lift-jvm-bytecode/README.md
  • implementations/rust/.provekit/lift/evm-bytecode/manifest.toml
  • implementations/rust/provekit-ir-codegen/tests/cddl_valid.rs
  • implementations/rust/provekit-ir-codegen/src/emit_term_coq.rs
  • implementations/rust/provekit-ir-codegen/src/coq.rs
  • implementations/rust/provekit-ir-compiler-c/src/generated.rs
  • implementations/rust/.provekit/lift/jvm-bytecode/manifest.toml
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/specs/algebra_to_jvm.spec.json
  • .github/workflows/ci.yml
  • implementations/rust/provekit-ir-compiler-wasm/src/generated.rs
  • implementations/rust/provekit-lift-asm-aarch64/src/lib.rs
  • implementations/rust/provekit-lift-jvm-bytecode/src/main.rs
  • implementations/rust/provekit-ir-codegen/src/emit_formula_coq.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/Cargo.toml
  • implementations/rust/provekit-lift-asm-x86-64/src/lib.rs
  • implementations/rust/provekit-ir-compiler-c/Cargo.toml
  • implementations/rust/provekit-ir-compiler-wasm/tests/smoke.rs
  • implementations/rust/provekit-ir-compiler-stub/tests/stub.rs
  • implementations/rust/provekit-ir-compiler-wasm/src/lib.rs
  • implementations/rust/provekit-ir-compiler-c/specs/algebra_to_c.spec.json
  • implementations/rust/provekit-lift-jvm-bytecode/tests/fixtures/static_read_only.j
  • implementations/rust/provekit-ir-compiler-c/src/main.rs
  • implementations/rust/provekit-ir-compiler-stub/Cargo.toml
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/smoke.rs
  • implementations/rust/provekit-lift-asm-x86-64/src/main.rs
  • implementations/rust/provekit-lift-asm-aarch64/Cargo.toml
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/byte_for_byte.rs
  • implementations/rust/provekit-lift-asm-x86-64/specs/x86_64_sysv_signature.spec.json
  • implementations/rust/provekit-lift-asm-x86-64/manifest.toml
  • implementations/rust/provekit-lift-jvm-bytecode/Cargo.toml
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/tests/fixtures/foo.term.json
  • implementations/rust/provekit-lift-asm-x86-64/README.md
  • implementations/rust/provekit-ir-compiler-x86-64/src/lib.rs
  • implementations/rust/provekit-ir-codegen/src/smt.rs
  • implementations/rust/provekit-ir-codegen/src/h.rs
  • implementations/rust/provekit-ir-compiler-c/tests/byte_for_byte.rs
  • implementations/rust/provekit-ir-compiler-x86-64/specs/algebra_to_x86_64.spec.json
  • implementations/rust/provekit-ir-compiler-stub/src/lib.rs
  • implementations/rust/provekit-ir-compiler-x86-64/src/generated.rs
  • implementations/rust/provekit-lift-jvm-bytecode/tests/smoke.rs
  • implementations/rust/provekit-lift-jvm-bytecode/src/lib.rs
  • implementations/rust/Cargo.toml
  • implementations/rust/provekit-lift-evm-bytecode/tests/fixtures/add.evm
  • implementations/rust/provekit-lift-evm-bytecode/tests/smoke.rs
  • implementations/rust/provekit-ir-codegen/src/compile.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/src/lib.rs
  • implementations/rust/provekit-lift-evm-bytecode/src/lib.rs
  • implementations/rust/provekit-ir-compiler-jvm-bytecode/README.md
  • implementations/rust/provekit-lift-asm-x86-64/tests/smoke.rs
  • implementations/rust/provekit-ir-codegen/src/rust_gen.rs
  • implementations/rust/provekit-ir-compiler-x86-64/src/main.rs
  • implementations/rust/provekit-cli/tests/mint_kit_integration.rs

Comment thread Makefile
@@ -105,7 +105,7 @@ help:
@echo ""
@echo "Per-kit conformance gate (C1-C8 lift-plugin-protocol verifiers):"
@echo " make prove-all all 12 Linux kits (swift excluded: macOS-only)"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update the kit count to match the actual number.

The help text states "all 12 Linux kits" but lines 108-109 enumerate only 11 kits (rust, go, cpp, ts, csharp, clr-bytecode, java, python, ruby, zig, c). After removing evm-bytecode, the count should be 11.

📝 Proposed fix
-	`@echo` "  make prove-all      all 12 Linux kits (swift excluded: macOS-only)"
+	`@echo` "  make prove-all      all 11 Linux kits (swift excluded: macOS-only)"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
@echo " make prove-all all 12 Linux kits (swift excluded: macOS-only)"
`@echo` " make prove-all all 11 Linux kits (swift excluded: macOS-only)"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Makefile` at line 107, Update the help text in the Makefile echo that
currently reads "make prove-all      all 12 Linux kits (swift excluded:
macOS-only)" to reflect the correct kit count after removing evm-bytecode;
change the string to "all 11 Linux kits (swift excluded: macOS-only)" so the
printed message matches the listed kits (the echo line containing "make
prove-all      all 12 Linux kits (swift excluded: macOS-only)").

…tecode kit

Out-of-scope per the honest-spike census (A: compile ProofIR to a machine target; B:
lift a compiled binary, not library sugar). Deletes 10 crates (ir-compiler-x86-64/wasm/c/
stub/jvm-bytecode + ir-codegen; lift-asm-aarch64/x86-64 + lift-evm-bytecode/jvm-bytecode)
and unwires the evm-bytecode KIT that rode the deleted lifter: KIT_TABLE entry, the
round-trip test, the CI conformance-matrix slot, the prove-evm-bytecode Makefile target,
and the orphan evm/jvm lift manifests. Keeps the ir-compiler parent + the smt-lib/coq/
lean/maude solver backends.

Verification: cargo build --workspace clean; cargo test --workspace --no-run clean (no
dangling refs in any test target). Full `make test-rust` could not complete on this host
(PEP 668 externally-managed pip for build-python; pnpm no-TTY) — env, not this change; CI
is the authoritative runtime gate.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@TSavo TSavo force-pushed the chore/cut-machine-compilers-and-binary-lifters branch from cc239cd to fd01307 Compare May 26, 2026 22:44
@TSavo TSavo merged commit 5af7ea1 into main May 26, 2026
18 checks passed
@TSavo TSavo deleted the chore/cut-machine-compilers-and-binary-lifters branch May 26, 2026 23:18
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.

1 participant