01 — Live Substrate Readiness (Hard Gate 0 PASS; 8 tables + 6 views all inert; read-only census; 2026-06-02)
01 — Live Substrate Readiness (Hard Gate 0)
All values via read-only
query_pg@directus, rolecontext_pack_readonly, 2026-06-02. No mutation.
1.1 Hard Gate 0 result — PASS
| Check | Result |
|---|---|
| All Phase-1 substrate objects exist | ✅ 8 tables + 6 views present (§1.2) |
| Candidate/owner table row counts | ✅ all 0 except scope=6 (§1.2) |
Governance event types active=false |
✅ 5 governance types, 0 active |
event_outbox governance emit |
✅ 0 |
| Worker cursor state | ✅ gov_worker_cursor=0 rows (no tail position) |
| Approval / e-sign counts | ✅ approval_requests=211, apr_approvals=42, os_proposal_approvals=0 |
dot_tools count |
✅ 309 (no DOT registered) |
| Idle transactions | ✅ idle_in_transaction=0 |
| Ownership seam objects/views | ✅ all present; both integration seams WHERE false (0 rows) |
| Source inventories available | ✅ all present (§1.4) |
1.2 Substrate object/row census
Tables (8):
governance_build_authorization=0 · governance_ruleset=0 · gov_worker_cursor=0 · governance_candidate_state=0 · governance_responsibility_scope=6 · governance_object_ownership=0 · candidate_scan_run=0 · governance_candidate_object=0.
Views (6), all 0 rows:
v_build_auth_valid · v_object_effective_owner (9 columns — recursive form) · v_object_owner_gap · v_object_owner_conflict · v_governance_object_containment (inert seam) · v_governance_object_inventory (inert seam).
The 6 responsibility scopes are reference data, not coverage state: {approval, audit, execution, health, policy, render}.
1.3 What is empty / seeded / inactive / unsafe
| Category | Items | Note |
|---|---|---|
| Empty (by design) | gba, ruleset, cursor, candidate_state, ownership, candidate_scan_run, candidate_object | nothing to scan/own/grant yet |
| Seeded (reference data only) | governance_responsibility_scope=6; apr_action_types=14 (8 gov unimplemented) |
vocabulary, not activation |
| Inactive | 5 governance event types active=false; 8 gov action-types handler_ref='unimplemented' |
register-before-emit + no handler |
| Inert seams | v_governance_object_containment, v_governance_object_inventory |
resolve WHERE false |
| Unsafe to touch | os_proposal_approvals (sovereign e-sign), approval_requests/apr_approvals (live L2 spine), birth_registry (1.08M, organic), event_outbox, governance_relations, dot_tools |
production surfaces; any write = activation/forgery |
1.4 Source inventories (read-only census — the dry-run universe)
| Source | Rows | Coverage relevance |
|---|---|---|
birth_registry |
1,079,549 | born-object tail; key collection:entity_code; cursor source for SB-13 |
collection_registry |
168 | per-collection coverage verdict ledger (coverage_status, governance_role) |
meta_catalog |
169 | object/class drift (orphan_count, actual_count vs baseline_count) |
information_unit |
219 | IU container/content refs (containment source) |
iu_relation |
60 | IU edges (containment / relation source) |
taxonomy |
58 | topic nodes (status, facet_id) |
taxonomy_facets |
10 | axis/facet surfaces (incl. FAC-08 topic facet) |
entity_labels |
795,841 | label projections (axis assignment reconcile) |
pivot_definitions |
37 | pivot hierarchy (parent_code containment) |
system_issues |
198,442 | existing issue buckets (issue ride-along target) |
evolution_snapshots |
1 | snapshot ref for candidate_scan_run.source_snapshot_ref |
event_type_registry |
45 total | 5 governance, 0 active |
1.5 collection_registry coverage profile (sizes the dry-run)
| coverage_status | governance_role | collections |
|---|---|---|
| BIRTH_REQUIRED | governed | 35 |
| BIRTH_REQUIRED | observed | 36 |
| BIRTH_REQUIRED | locked | 3 |
| BIRTH_DEFERRED_NEEDS_REVIEW | excluded | 51 |
| BIRTH_DEFERRED_NEEDS_REVIEW | observed | 7 |
| BIRTH_EXEMPT_* (junction/log/cache) | observed/excluded/law_artifact/governed | 35 |
The 35 governed + BIRTH_REQUIRED collections are the natural maximal in-scope universe; the smallest useful dry-run (doc 03) carves a 1–3 collection subset from these.
meta_catalog: 164 active (Σ orphan_count = 161), 3 published (0 orphans), 2 log (0 orphans). Orphan drift is real and non-zero — exactly the signal a coverage scan would surface, and the reason the dry-run must be tightly bounded.
1.6 Readiness verdict
READY for dry-run design; NOT ready for dry-run execution. The substrate is present and inert; the source universe is enumerable and bounded; but the two SB-2 seams resolve WHERE false and the axis layer is unbuilt — so a scan today would see nothing. Wiring (doc 02) + seeds (doc 04) are prerequisites, and each is a ratified follow-up, not pure engineering.