Commit f18d85f
committed
feat(s3): extract typed_wasm engine + route 39 disciplines through TypeInfo
The TypedWasm prover oracle is now a standalone crate at crates/typed_wasm
with zero echidna-core dependencies. The pure parse/analyse engine is
parametrised by a TypeInfo value, so the 39 *TypeChecker variants all
route through one backend with discipline-specific active-level sets,
replacing the catch-all HPEcosystemBackend route.
- crates/typed_wasm/src/lib.rs: pure engine (parse + obligation generation
+ TypeInfo + analyse). 9 crate-level tests covering the level-filter
semantics and the discipline-aware analysis flow.
- Cargo.toml: crates/typed_wasm added to [workspace].members; typed-wasm
added as a path dependency.
- src/rust/provers/typed_wasm.rs: rewritten as a thin adapter that maps
typed_wasm::Analysis onto echidna's core ProofState/Goal types. Adds
TypedWasmBackend::with_type_info and ::for_kind constructors, plus a
type_info_for(kind) helper that maps each *TypeChecker variant to its
discipline's active safety-level set (linear, affine, modal, temporal,
refinement, session, …). TypedWasmBackend::new preserved for the legacy
full-oracle callers.
- src/rust/provers/mod.rs: ProverFactory::create now routes the 39
*TypeChecker variants through TypedWasmBackend::for_kind. TypeLL and
KatagoriaVerifier continue to dispatch through HPEcosystemBackend as
genuine HP upstream binaries.
Tests: 9/9 crate + 10/10 adapter + 625/625 echidna lib pass.
https://claude.ai/code/session_01NaC5RXjTyr5xg9XXUa2FCC1 parent 1b3a0e9 commit f18d85f
5 files changed
Lines changed: 1296 additions & 1089 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
79 | 85 | | |
80 | 86 | | |
81 | 87 | | |
| |||
106 | 112 | | |
107 | 113 | | |
108 | 114 | | |
| 115 | + | |
109 | 116 | | |
110 | 117 | | |
111 | 118 | | |
| |||
0 commit comments