Macro-5 IO-Contract-Not-Registry Lock — R2-B2 (2026-06-19)
Macro-5 IO-Contract-Not-Registry Lock — R2-B2 (2026-06-19)
Date: 2026-06-19 · Workstream: R2-B2-MACRO-5-STAGING-BUILD-AUTHORIZATION-PACKAGE-2026-06-19 (Deliverable 91 of 110) · Editorial revision: rev1
Class: io-contract-not-registry lock · READ-ONLY · NON-ENACTING · NON-AUTHORIZING · IO_CONTRACT_OVERREACH guard · NO write performed.
Metadata convention. Editorial revision (rev1) only. AgentData storage revision/
content_lengthauthoritative at read time.
0. Status and non-authorization
STATUS: PASS — engineering / design-only. Confirms the IO contract stays a contract, never a shared mutable surface. Engineering PASS ≠ authority PASS. Default: HOLD.
1. Purpose
Hold the prompt's explicit guard: if the IO contract becomes a registry or shared mutable surface → IO_CONTRACT_OVERREACH → HOLD.
2. Sources / evidence read
Macro-4 standard IO envelope (D19) + cross-system note (D86); contract map (15); no-mega-registry lock (88). Main process, no reader-agents.
3. Accepted baseline (carried)
The envelope is per-block and local; composition is by reference; the Codex split (B1/S3, B6/S4, K3/S6 separate) is preserved.
4. Evidence / analysis — contract-not-registry check
| Property | Macro-5 |
|---|---|
| per-block envelope | yes |
| versioned, explicit, pointer-linked | yes |
| shared mutable surface | none |
| central store of all objects | none |
| implicit cross-block mutation | none |
5. Candidate / requirement / gate / result — drift trigger (→ HOLD)
Any deliverable making the IO contract a registry or shared mutable surface = IO_CONTRACT_OVERREACH → HOLD. Status this run: NOT triggered.
6. Owner-gated future work
Binding any contract to runtime is Owner-gated; forbidden now.
7. What remains unresolved
The contract stays a contract; runtime binding is future TD.
8. Ready for GPT/Codex review
Yes — Codex should confirm the IO contract centralizes nothing.