Skip to content

Commit 7520f00

Browse files
hyperpolymathclaude
andcommitted
docs(proposals): 0001 — add resolved Open Question #6 (access-site carrier)
Surfaces the access-site carrier gap discovered while pre-staging the L2 codec in PR #77: the typedwasm.regions section says *which regions exist* but doesn't say which (region_id, field_id) any individual wasm load/store targets. Sufficient for L2-the-spec; insufficient for L2-the-enforcement. Owner-resolved 2026-05-27 (see typed-wasm#78): adopt **option A** — a per-instruction access-site carrier (typedwasm.access-sites) mapping (func_idx, instruction_byte_offset) → (region_id, field_id). Wire-format design lands in docs/proposals/0002-...adoc as a follow-up; verify_region_binding (omitted from PR #77) is gated on that proposal's acceptance. Refs #78 (access-site carrier — option A) Refs #77 (codec pre-stage that discovered the gap) Refs #34 (parent issue) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 5d66f9d commit 7520f00

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

docs/proposals/0001-multi-producer-carrier-section.adoc

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,24 @@ verification, not debug info, and must not be optimised out.
289289
cross-module. Out of scope of v1 (single-module L2–L6 is the v1
290290
milestone); needs its own proposal.
291291

292+
. **Access-site carrier (RESOLVED — option A).** Discovered during
293+
the pre-stage codec in PR #77: this proposal's `typedwasm.regions`
294+
section says *which regions exist* but does **not** say which
295+
`(region_id, field_id)` any individual wasm load/store targets.
296+
The source-level checker sees `region.get $r .f`; post-codegen
297+
that's just `i32.load offset=N align=A`, with the `($r, .f)`
298+
annotation gone. So this proposal is sufficient for
299+
L2-the-spec (schema agreement) but insufficient for
300+
L2-the-enforcement (every typed access resolves to a declared
301+
region/field). Owner-resolved 2026-05-27 (see typed-wasm#78):
302+
**adopt option A — a per-instruction access-site carrier
303+
(`typedwasm.access-sites`) mapping
304+
`(func_idx, instruction_byte_offset) → (region_id, field_id)`**.
305+
Wire-format design for that section lands in a follow-up proposal
306+
(`docs/proposals/0002-...adoc`); the L2 verifier pass
307+
(`verify_region_binding`, omitted from PR #77) is gated on
308+
that proposal's acceptance.
309+
292310
== Acceptance criteria
293311

294312
. Reviewed and signed off by maintainers of `affinescript` and

0 commit comments

Comments
 (0)