04 — Deferred Substrate Completion: Full Post-Build Verification (independent read-only; out-of-scope CLEAN; idle=0, 2026-06-02)
04 — Full Post-Build Verification (independent, read-only)
All values via independent
query_pg(read-only) after both COMMITs. 2026-06-02.
4.1 New objects exist + inert (all 0 rows)
| object | kind | present | rows | notes |
|---|---|---|---|---|
candidate_scan_run |
table | ✅ | 0 | 17 cols; trigger-less |
governance_candidate_object |
table | ✅ | 0 | 26 cols; 0 checked-forever cols; trigger-less |
v_object_effective_owner |
view | ✅ | 0 | 9 cols (recursive form; was 5) |
v_object_owner_gap |
view | ✅ | 0 | inventory seam empty ⇒ inert |
v_object_owner_conflict |
view | ✅ | 0 | reads committed store; no doubles |
v_governance_object_containment |
view (seam) | ✅ | 0 | inert/typed/empty |
v_governance_object_inventory |
view (seam) | ✅ | 0 | inert/typed/empty |
4.2 FK/constraint behavior (proven in rehearsal, isolated savepoints)
Orphan composite-group FK → rejected; duplicate PK → rejected; bad scan_mode / status / materialization_reason / candidate_verdict CHECKs → rejected; valid rows accepted. Views query successfully on the empty/live substrate (0 rows, no error).
4.3 Prior accepted substrate untouched
| surface | accepted | now | verdict |
|---|---|---|---|
governance_candidate_state rows |
0 | 0 | ✅ keystone empty |
governance_object_ownership rows |
0 | 0 | ✅ no owner population |
governance_responsibility_scope rows |
6 | 6 | ✅ |
governance_relations |
8 | 8 | ✅ untouched |
apr_action_types |
14 | 14 | ✅ |
4.4 Out-of-scope / forbidden-surface check (CLEAN)
| invariant | baseline | now | assessment |
|---|---|---|---|
os_proposal_approvals |
0 | 0 | ✅ no e-sign forge; gate intact |
approval_requests |
211 | 211 | ✅ |
apr_approvals |
42 | 42 | ✅ |
event_outbox (governance) |
0 | 0 | ✅ no governance emit |
event_type_registry governance active=true |
0 | 0 | ✅ no event activated |
dot_tools |
309 | 309 | ✅ no DOT registration/run |
trigger_guard_alerts |
129 | 129 | ✅ no spike (CREATE TABLE/VIEW did not trip the guard) |
| triggers on new tables | — | 0 | ✅ trigger-less inert |
idle_in_transaction |
0 | 0 | ✅ no dangling write txn |
4.5 No worker / scanner / population
No worker started; no scanner run; gov_worker_cursor unchanged (no cursor advance); no candidate row populated; no owner-assignment row populated; candidate_scan_run=0 (no run recorded). All four "populated unexpectedly" checks → negative.
4.6 Directus / Qdrant / Nuxt
No Directus MCP call, no Qdrant call, no Nuxt/route change were made; the only writes were the two psql DDL COMMITs on the named governance objects (not Directus-managed collections). No directus_* or vector mutation in this session ⇒ unchanged.
4.7 Verdict
POST-BUILD VERIFICATION = PASS. Every committed object exists, is empty/inert, and is verified; FK/CHECK/PK reject malformed rows; views query cleanly; no event/notification/DOT/handler/worker activation; approval/e-sign/law surfaces unchanged; idle_in_transaction=0.