Macro-4 Standard IO Contract Minimal Template — R2-B2 (2026-06-19)
Macro-4 Standard IO Contract Minimal Template — R2-B2 (2026-06-19)
Date: 2026-06-19 · Workstream: R2-B2-MACRO-4-STAGING-WORKBENCH-IO-CONTRACT-TD-ENTRY-GATE-2026-06-19 (Deliverable 28 of 90) · Editorial revision: rev1
Class: IO contract minimal template · READ-ONLY · NON-ENACTING · NON-AUTHORIZING · NO write performed.
Metadata convention. Editorial revision (rev1) only. Storage revision/
content_lengthauthoritative at read time.
0. Status and non-authorization
STATUS: PASS — engineering / design-only. The smallest complete instantiation of the envelope, as a fill-in template (no values bound). Engineering PASS ≠ authority PASS. Default: HOLD.
1. Purpose
Give reviewers and a future TD a copy-ready, minimal contract envelope to instantiate per block.
2. Sources / evidence read
Standard IO contract envelope (19); the sections (20–27); inspect-producer §4 (13-field template). Main process, no reader-agents.
3. Accepted baseline (carried)
A contract envelope is local, versioned, and explicit; it is not a registry.
4. Evidence / analysis — minimal template (conceptual; placeholders only)
contract_id: <block-contract-id>
contract_version: <immutable version>
block_id / block_role: <block> / <role>
input_surface: <declared reads; depends-on; must-not-depend>
output_surface: <declared writes; own-column-only; idempotent>
error_surface: <fail-closed reject; reason code; audit-on-fail>
evidence_surface: <append-only; records-not-decides; AP-CLOSE content>
rollback_surface: <one-run unit; downstream effects surfaced; no script>
owner_surface: <governance owner role; Điều 32 quorum; no self-approve>
promotion_surface: <explicit Owner gate; never automatic>
forbidden_surfaces: <what the block must never touch>
delete_fast_unit: <the one disposal unit>
no_production_touch_proof: <before/after snapshot obligation>
bad_input_reject_rule: <invalid input ⇒ fail-closed reject>
authority_gate: <Điều 37→32 before any write>
5. Contract / requirement / matrix / result
This template is text-only with placeholders; no field is bound to a runtime block, value, schema, or query. It standardizes shape, not content.
6. Owner-gated future work
Filling and binding the template for a real block is Owner-gated future TD; forbidden now.
7. What remains unresolved
No block's envelope is instantiated with real values here.
8. Ready for GPT/Codex review
Yes — Codex should confirm the template carries placeholders only and no bound schema/values.