You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: record typed-wasm-verify Rust port (C1-C5) in repo-level docs
The Rust verifier crate at `crates/typed-wasm-verify/` landed across
PRs #19 (C1) → #23 (C5) on 2026-05-15 but the repo-level documentation
didn't catch up. This commit fixes that.
Changes
-------
* CHANGELOG.md `[Unreleased] → Added`: one entry summarising the
crate, plus a sub-bullet per phase (C1-C5) with PR refs.
* CHANGELOG.md `[Unreleased] → Changed`: note that the repo is now
polyglot Idris2 + Zig + Rust (root Cargo workspace).
* LEVEL-STATUS.md: new "Post-codegen verifier (Rust)" section after
the Idris2 proof inventory, explaining the verifier's place in the
three-layer story (spec proofs / source checker / post-codegen) and
documenting coverage (L7 + L10 only for now). Lists current
consumers (ephapax-wasm + ephapax-cli).
* ROADMAP.adoc: v0.4 (ecosystem) gets a [x] bullet for the Rust crate;
v1.0 gets two new entries — [x] for the post-codegen verifier
itself (partial v1.0 deliverable, separate from `.twasm` parsing),
[ ] for the cross-compat parity proof against affinescript's OCaml
reference (deferred as "C5.1").
* 0-AI-MANIFEST.a2ml: new `verify_rust` entry in `[canonical_locations]`
so AI agents reading the manifest can find the crate.
No code changes — this is pure-docs cleanup. The crate itself, its
tests, and consumer integrations are already on `main`.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
## [Unreleased]
12
12
13
13
### Added
14
+
-**typed-wasm-verify** Rust crate (`crates/typed-wasm-verify/`) — post-codegen verifier for L7 (aliasing) + L10 (linearity) on emitted wasm modules. Rust port of `hyperpolymath/affinescript:lib/{tw_verify,tw_interface}.ml`. 50/50 tests pass (40 unit + 10 cross-compat integration). Replaces the ReScript verifier path which is on its way out.
- C5 (#23) — Cross-compat integration suite (`tests/cross_compat.rs`), 10 fixtures modelling realistic affinescript-shaped modules. Each fixture documents the conceptual AffineScript source and the expected OCaml verdict — divergence on either side is a parity bug.
- TypedQLiser plugin exists at typedqliser/src/plugins/wasm.rs (541 lines, 9 tests)
24
+
25
+
### Changed
26
+
- Repo is now polyglot Idris2 + Zig + Rust (added a Cargo workspace at the root, `crates/typed-wasm-verify/` is its first member). ReScript files in `src/parser/*.res` remain in tree as the v1.1 surface parser, but the post-codegen verifier no longer depends on them.
Copy file name to clipboardExpand all lines: ROADMAP.adoc
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,6 +62,7 @@ Known audit constraints:
62
62
* [x] TypedQLiser plugin (WASM as a "query target") — typedqliser/src/plugins/wasm.rs (541 lines)
63
63
* [ ] VCL-total sibling integration (same levels, different domain)
64
64
* [ ] GraalVM/Truffle target (multi-language shared state type safety)
65
+
* [x] `typed-wasm-verify` Rust crate (`crates/typed-wasm-verify/`) — post-codegen L7+L10 verifier. Consumed by `hyperpolymath/ephapax` as of 2026-05-15 (`compile --verify-ownership`); `hyperpolymath/affinescript` migration from its in-tree OCaml verifier deferred to v1.0.
* [x] Post-codegen verifier in Rust (`crates/typed-wasm-verify/`) — partial v1.0 deliverable, the verifier side of the pipeline. Parser/checker for `.twasm` source remains the open work.
76
+
* [ ] Cross-compat parity proof against `hyperpolymath/affinescript:lib/{tw_verify,tw_interface}.ml` — real OCaml-emitted .wasm fixtures alongside the existing synthetic ones (deferred to "C5.1").
0 commit comments