KB-3DC8

Macro-4 B2 Input Contract — R2-B2 (2026-06-19)

3 min read Revision 1
laws-newR2-B2macro-4b2input-contractnon-authorizing2026-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_length authoritative 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.