Read-Only B3 Inspect-Columns Shape Recheck (2026-06-18)
Read-Only B3 Inspect-Columns Shape Recheck
Date: 2026-06-18 · Workstream: LEGO-PILOT-SLICE-0-R2-B2-READONLY-EVIDENCE-OWNER-PATH-MACRO-2026-06-18 (Deliverable 5 of 30) · Editorial revision: rev1
Class: read-only compatibility evidence (B3 stud) · READ-ONLY · NON-ENACTING · NON-AUTHORIZING · NOT technical design · NO contract change · NO write performed.
Metadata convention. Editorial revision (rev1) only. AgentData storage revision/
content_lengthauthoritative at read time; not pinned here.
B3-recheck lock. This packet records the fresh read-only re-confirmation of the B3
inspect_*stud shape (GATE-2 read-only half). It changes no contract, proposes no B3 change, runs no producer. B3 is referenced, not redesigned.
0. Status and non-authorization
STATUS: PASS — engineering / read-only. The B3 stud shape is re-confirmed from information_schema this run; B3-1…B3-4 are now FRESH read-only verified. Engineering PASS ≠ authority PASS. Default disposition: HOLD. No DB write/DDL/DML; no contract change; no producer run; no TD; no blocker resolved; v0.1 not overwritten; v0.2 not authority.
Evidence basis — FRESH_READONLY_EVIDENCE (FQ-1, FQ-4, FQ-7, FQ-9 from Deliverable 1; query_pg READ ONLY). Reading discipline: main process, bounded/sequential, no reader-agents.
1. Purpose
Re-confirm, read-only, that the three inspect_* columns B2 would write into exist in the expected shape (GATE-2 / PO-5 read-only half). §4 records the fresh column readback; §5 maps it to B3-1…B3-4.
The one rule: B3 is the load-bearing stud; B2 TD must design to this exact shape. Confirming the shape read-only retires the read-only half of GATE-2; it does not change B3 or build B2.
2. Sources / evidence read
Deliverable 1 (FQ ledger); the Mega Gate B3/B4 Compatibility Readiness (B3-1…B3-4); the R2 readiness scope (carried schema); Đ0-G (architecture/birth-registry-law.md, the inspect_* design). Read directly, main process.
3. Accepted baseline (carried)
B3 = the three inspect_pen/inspect_stamp/inspect_gate timestamp columns + the PEN→STAMP→GATE meaning/order + one-column-per-inspector; shape carried (INHERITED) as present but unpopulated for the 1.21M backlog.
4. Read-only evidence observed (FRESH, 2026-06-18)
FQ-1 — information_schema.columns (birth_registry, 22 columns): the three stud columns are present with the expected type:
| Column | data_type | nullable |
|---|---|---|
inspect_pen |
timestamp with time zone |
YES |
inspect_stamp |
timestamp with time zone |
YES |
inspect_gate |
timestamp with time zone |
YES |
Co-resident non-B2 columns B2 must not touch (confirmed present): certified (boolean NOT NULL), certified_at (tstz), status (varchar), canonical_address (text), owner (text), jsonb_profile (jsonb NOT NULL), plus identity/system columns (entity_code, collection_name, species_code, composition_level, dot_origin, governance_role, born_at, Directus id/sort/user_*/date_*).
FQ-7 — pg_trigger: 0 inspect-named triggers (no behavior on the stud; a partial set drives nothing).
FQ-9 — pg_proc: the only function naming inspect_* is the consumer fn_birth_auto_certify (reads, never writes — Deliverable 6).
FQ-4 — population: uncertified rows carrying ANY inspect_* = 0 (the columns exist, are unset for the 1.21M backlog — the B2 gap, not a B3 defect).
5. Classification — B3-1…B3-4 (read-only verified)
| # | B3 read-only obligation | New status | Fresh evidence |
|---|---|---|---|
| B3-1 | 3 columns exist, type tstz | PARTIAL_READONLY_VERIFIED → met (read-only) | FQ-1 |
| B3-2 | PEN→STAMP→GATE meaning/order fixed | met for shape; order semantics carried from Đ0-G (the law text), not a runtime artifact | FQ-1 + Đ0-G |
| B3-3 | No "complete" signal on a partial set | met | FQ-7 (0 inspect-named triggers) |
| B3-4 | Extra columns present that B2 must not touch | met | FQ-1 (status/canonical_address/owner/jsonb_profile present) |
B3 verdict: the read-only half of GATE-2 (B3) is read-only verified (FRESH). No B3 change is proposed; B3 evolves only by a coordinated B2+B4 change.
6. Owner-gated future work
| Future work | Gate required | Forbidden now? |
|---|---|---|
| Change the B3 contract | Điều 32 + coordinated B2+B4 design | Yes |
| Build B2 to write into B3 | Điều 32 + S2 + channel + staging | Yes |
7. What remains unresolved
- B3 columns are unpopulated for 1,211,635 uncertified rows (the B2 producer gap; Deliverable 8).
- The PEN→STAMP→GATE ordering semantics are a design invariant (Đ0-G), authoritative only once Đ0-G is recovered (Deliverable 16).
- Blockers — all OPEN.
8. Ready for GPT/Codex review
Yes — as a read-only B3 shape recheck.
Core rule: the three inspect_* columns exist as timestamptz with no behavior on a partial set; B3's read-only obligations are FRESH-verified; no B3 change made, no producer run, GATE-2 not Owner-closed.
Default disposition: HOLD. Engineering PASS ≠ authority PASS. All blockers remain OPEN.