Skip to content

Commit c406783

Browse files
avrabeclaude
andauthored
feat: full Verus pipeline — verify + strip with hermetic sysroot (#77)
rules_verus 8a2bbf6: hermetic Rust sysroot, no rustup needed. Both targets pass: - verus_library: SMT verification (6 proofs verified) - verus_strip: strips annotations → plain Rust for coq-of-rust Pipeline: Verus specs → Z3 verify → strip → plain Rust → coq-of-rust → Rocq Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent be333bc commit c406783

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

‎MODULE.bazel‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ bazel_dep(name = "rules_verus", version = "0.1.0")
112112

113113
git_override(
114114
module_name = "rules_verus",
115-
commit = "e2c1600",
115+
commit = "8a2bbf6",
116116
remote = "https://github.com/pulseengine/rules_verus.git",
117117
)
118118

‎src/lib/src/verus_proofs/BUILD.bazel‎

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
load("@rules_verus//verus:defs.bzl", "verus_library", "verus_test")
1+
load("@rules_verus//verus:defs.bzl", "verus_library", "verus_strip", "verus_test")
2+
3+
# ── Track 1: Verus SMT verification (CV-20, CV-21, CV-22) ──────────
4+
# Fully hermetic — bundled Rust sysroot, no rustup needed.
25

3-
# Merkle tree inclusion proof soundness (CV-20) and anti-rollback (CV-21)
46
verus_library(
57
name = "wsc_merkle_proofs",
68
srcs = [
@@ -23,3 +25,15 @@ verus_test(
2325
crate_root = "mod.rs",
2426
crate_name = "wsc_verus_proofs",
2527
)
28+
29+
# ── Track 2: Strip Verus → plain Rust for coq-of-rust pipeline ─────
30+
31+
verus_strip(
32+
name = "wsc_proofs_stripped",
33+
srcs = [
34+
"mod.rs",
35+
"merkle_proofs.rs",
36+
"dsse_proofs.rs",
37+
],
38+
visibility = ["//visibility:public"],
39+
)

0 commit comments

Comments
 (0)