Macro-4 B2 Input Contract — R2-B2 (2026-06-19)
Macro-4 B2 Input Contract — 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 29 of 90) · Editorial revision: rev1
Class: B2 input contract · READ-ONLY · NON-ENACTING · NON-AUTHORIZING · B2-ONLY · 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. B2's input_surface, instantiating the envelope for the inspect producer. Engineering PASS ≠ authority PASS. Default: HOLD.
1. Purpose
Answer macro question 2 (input half) — what does B2 read? — as a draft/workbench input contract.
2. Sources / evidence read
Inspect-producer §6 (B2 input contract); Điều 0-G §2.4 (PEN scope governed); FRESH birth_registry columns. Main process, no reader-agents.
3. Accepted baseline (carried)
B2 reads uncertified rows (certified=false; PEN scope governance_role='governed') + the Điều 0-G rule-set + the B3 contract + the stage-ordering precondition; must not depend on B4 internals, the channel, KG reasoning, canonical/S4, identity-mint/S3, or a certified=true precondition.
4. Evidence / analysis — B2 input (workbench draft)
| Element | Value |
|---|---|
| Reads (shape) | entity_code, collection_name, species_code, dot_origin, governance_role, born_at; metadata name/description/status (STAMP); the three inspect_* slots |
| Scope | uncertified; PEN narrowed to governed |
| Depends-on (external) | B1 rows, B3 contract, S2 owner, S6 (Điều 0-G source if recovery needed) |
| Must-not-depend-on | B4 internals; the channel; KG; canonical/identity; a certified precondition |
| In the workbench | a disposable projection of this shape, never live production rows |
| Fail-closed | malformed input → reject, never fabricate a passing row |
5. Contract / requirement / matrix / result
FRESH confirms the shape: birth_registry carries inspect_pen/stamp/gate (tstz), certified (bool), and the metadata/identity columns above. The input contract reads this shape; in the workbench it reads a disposable copy. No live row is read or written here.
6. Owner-gated future work
Binding the input to live rows / a built workbench is Owner-gated; forbidden now.
7. What remains unresolved
observed-role scope and ambiguous partial stamps are BAD_INPUT_BEHAVIOR_UNCLEAR (carried).
8. Ready for GPT/Codex review
Yes — Codex should confirm the input declares reads only, scoped to uncertified/governed, with no forbidden dependency.