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
## Summary
- Renames the wasm custom section `affinescript.ownership` →
`typedwasm.ownership` in `OWNERSHIP_SECTION_NAME`.
- Producer-neutral name: removes the brand coupling that embedded one of
typed-wasm's producers' names in the verifier's wire format.
- Updates all comments, docs, integration tests, and the aspect-test
assertion that checks the constant against doc claims.
## Sibling PRs (coordinated hard-flip)
- **typed-wasm** (this PR): source-of-truth constant +
comments/docs/tests.
- **affinescript**: codegen, `tw_verify`, `tw_interface`, `affine-js`
loader, tea bridges, CLI output.
- **ephapax**: bump the `typed-wasm-verify` rev pin to this PR's merge
SHA + 6 comment updates.
Producer PRs land after this one merges (they need the new constant
value).
## Test plan
- [x] `cargo test -p typed-wasm-verify` → 43 unit + 10 cross_compat
passing.
- [x] `node tests/aspect/claim-envelope.mjs` → 57 assertions passing.
- [ ] No `.wasm` fixtures tracked in this repo — nothing to regenerate.
Refs: estate disentangling — AffineScript and Ephapax must be
independent; typed-wasm must be removable from either with no impact.
Removing the producer brand from the wire format is the first concrete
step.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Copy file name to clipboardExpand all lines: crates/typed-wasm-verify/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ Post-codegen verifier for typed-wasm **L7 (aliasing safety)** and **L10 (lineari
5
5
6
6
## What it does
7
7
8
-
Given a wasm module that carries an `affinescript.ownership` custom section, this crate:
8
+
Given a wasm module that carries an `typedwasm.ownership` custom section, this crate:
9
9
10
10
1.**Intra-function check** — walks every function body and computes per-path `(min_uses, max_uses)` for each parameter. Linear params must be `(1, 1)` on every path; ExclBorrow params must have `max_uses ≤ 1`.
11
11
2.**Cross-module check** — given a callee's exported ownership interface plus a caller module that imports those functions, verifies that Linear-param imports are invoked exactly once per execution path.
0 commit comments