diff --git a/README.adoc b/README.adoc index 7bee9df..aebebb8 100644 --- a/README.adoc +++ b/README.adoc @@ -240,6 +240,15 @@ locating typed-wasm against neighbouring wasm-safety projects at each maturity level. `ROADMAP.adoc` tracks the version-by-version delivery against that plan. +== Forward-Looking Work + +Design proposals for Phase 2+ features are tracked in link:docs/proposals/[`docs/proposals/`]: + +* **Proposal 0001** — link:docs/proposals/0001-multi-producer-carrier-section.adoc[Multi-producer carrier sections] for L2–L6 (`typedwasm.regions`) and L15 (`typedwasm.capabilities`). Status: `[draft]`, cross-repo review under way (affinescript#402, ephapax#165). +* **Proposal 0002** — link:docs/proposals/0002-access-site-carrier.adoc[Access-site carrier section] (`typedwasm.access-sites`) closing the "L2-the-enforcement" gap via per-instruction `(func_idx, byte_offset) → (region_id, field_id)` mapping. Encoding B (LEB128 per field, ~5B/access) per issue #78 size measurement. Status: `[draft]`, gated on proposal 0001 acceptance. + +The post-codegen verifier's `verify_region_binding` pass is gated on proposal 0002's acceptance; until then, L2-the-enforcement on emitted wasm bytes is producer-side only. + == Related Projects - https://github.com/hyperpolymath/typell[TypeLL] — Type theory foundation (open-ended progressive kernel; typed-wasm is one application) diff --git a/docs/PRODUCTION-PATH.adoc b/docs/PRODUCTION-PATH.adoc index 3cae7e7..8329ca9 100644 --- a/docs/PRODUCTION-PATH.adoc +++ b/docs/PRODUCTION-PATH.adoc @@ -172,11 +172,17 @@ Active design work: * **Codec pre-stage** (PR #77) — `cargo feature = "unstable-l2"` enables the `typedwasm.regions` codec ahead of `[accepted]` so the wire format gets stress-tested through round-trip tests. -* **Access-site carrier** — issue #78 (resolved option A; - proposal 0002 to be authored once 0001 settles). Closes the - "L2-the-enforcement" gap (region/field carriers say *what - exists*; access-site carrier says *which load/store hits which - field*). +* **Proposal 0002** — + link:proposals/0002-access-site-carrier.adoc[Access-site carrier + section] (PR #86, `[draft]` 2026-05-28). Authors the + `typedwasm.access-sites` wire format using **Encoding B (LEB128 + per field, ~5B/access)** per the issue #78 prototype size + measurement. Closes the "L2-the-enforcement" gap (region/field + carriers say *what exists*; access-site carrier says *which + load/store hits which field*). Gated on proposal 0001 + acceptance; verifier's `verify_region_binding` pass (deliberately + omitted from PR #77) lands behind `unstable-l2-access-sites` + cargo feature once 0002 is `[accepted]`. Deliverables: