Collections Usage Handbook
Collections Usage Handbook
Living operations manual — Macro-9A1. First practical, human-usable map of every collection / table / view on the Incomex substrate (DB
directus). Companion to the DOT Usage Handbook. Engineering artifact, read-only evidence. Engineering PASS ≠ Owner authority PASS. Default posture = HOLD.
0. Status / scope / update rule
| Field | Value |
|---|---|
| Mission | R2-B2-MACRO-9A1-COLLECTIONS-USAGE-HANDBOOK-2026-06-19 |
| Type | Read-only collection/table inventory + operator handbook (follows Macro-9A0 DOT handbook; before Codex reviews dot-manage + collections-manage) |
| Evidence date | 2026-06-19 (fresh query_pg READ ONLY + list_docker + KB; 0 mutating calls) |
| Substrate | DB directus. Schemas: public (1033 objs: 346 tables, 685 views, 1 matview, 1 foreign), iu_core (2t/2v), cutter_governance (24t/12v, read-denied), sandbox_tac (8t, read-denied). Other DBs: directus_gov_test_20260602, incomex_metadata, workflow, postgres |
| Denominator | 382 base objects fully row-listed in §5 (380 tables + 1 matview + 1 foreign across the 4 schemas). 685 public views summarized by family (§4). |
| Status | PASS_WITH_CAVEATS — inventory is useful immediately; per-object Nhóm / Read-Write / Authority / Status are inferred from pg_class + collection_registry.governance_role + name heuristics + runtime gates (nothing executed). |
| Authority | This file records evidence and recommendations only. It grants nothing, enacts nothing, creates no collection/table, and selects no channel/owner. |
Update rule. Living manual; may be hand-edited. To refresh, re-run the read-only queries in §18 against directus and bump the Update Log. pg_class.reltuples are planner estimates (e.g. dot_tools=288 est vs 309 registry SSOT) — re-query before acting. -1 rows = never-analyzed, not empty.
Hard scope locks honored when authoring: no DB write · no DDL/DML · no schema/table/corpus creation · no Directus create/update/delete · no DOT execution · no psql/manual SQL · no SQL staged for human run · no runtime-config flip · no channel wiring · no owner row · no KG write · no birth/certify/promote/backlog · no bad-input test · no B2 logic. Only output = this file + README + execution report.
1. How to use this handbook quickly
- You want to change Directus/Postgres/schema (create/alter/drop a table or column)? → Read §3 first: it is a DOT-only zone. Manual SQL /
psql/ Directus generic collection-create are forbidden. There is no authorized run-scoped staging-schema DOT yet (§16). - Find a collection by job? → §4 summary by schema + group, then the group sections §7–§14.
- Every object, one row? → §5 main inventory (382 rows, grouped A–L).
- Is it production-critical / do-not-touch? → §7. Is it a safe staging/draft store? → §8.
- Is it dangerous? → §14 (birth gateway + the 3 frozen/monitored DOTs from the DOT handbook). Can't classify? → §15 UNKNOWN / NEED TRIAGE.
Access/call path is concise: Directus+PG (Directus collection backed by a PG table), PG only (PG table, not a Directus collection), PG view/matview/foreign (RO), or PG <schema>* (read-denied schema). For every object, DDL is DOT-only (not repeated per row). No secrets appear here.
2. Collection/table taxonomy
A "collection" is not one thing. Four surfaces matter:
- Directus collection — a row in
directus_collections(164 registered), usually backed by apublictable; managed through the Directus app/API. Some are folder-only (no table). - Postgres table — a real
publictable (346). Some are Directus collections; many are pure governance/runtime tables with no Directus UI. - Postgres view / matview — 685 views + 1 matview in
public(mostlyv_*observability); read-only derived surfaces (§4). - Restricted-schema table —
cutter_governance(24) andsandbox_tac(8) tables: visible in catalog metadata but read-denied to the operator role.
Groups A–L (mission taxonomy) used in §5:
A Directus system metadata · B Production business data · C Birth/certification/inspect · D KG/universal_edges/provenance · E IU/cell/context/editing · F DOT/governance/registry · G Workflow/cron/monitor · H Staging/draft/candidate/workbench · I Audit/log/evidence · J Backup/snapshot/migration · K Dangerous/forbidden/frozen · L Unknown/need-triage.
3. Critical rule: Directus / Postgres / schema changes are DOT-only
Directus, Postgres, and schema are a DOT-only zone. If a DOT cannot do it, it must not be done.
- ❌ No manual SQL. ❌ No
psql. ❌ Nodocker exec -i postgres psql. ❌ No hand-written DDL/DML againstdirectus. - ❌ No Directus generic collection/table create for schema/table work (the Directus write API is not an authorized schema-creation path here).
- ✅ The only authorized way to change Directus/Postgres/schema is an authorized DOT, through its governed channel, with the runtime gate opened by the Owner.
- Today every mutating path is gated shut (verified 2026-06-19):
process_dot_runtime.dry_run_only=true,execute_enabled=false,real_run_enabled=false;iu_core.operator_runtime_enabled=false; IU-create gatewaymode=enforced,direct_insert_policy=block_after_guard.
This is why this handbook exists: before building any staging table/schema, know which collections already exist, which are production-critical, and whether an authorized path exists. See §16 and the DOT handbook §15.
4. Summary by schema and group
By schema (DB directus):
| Schema | Tables | Views | Matview | Foreign | Operator read? | Note |
|---|---|---|---|---|---|---|
public |
346 | 685 | 1 | 1 | yes | The DOT-only production zone. 681 v_* + 3 kg_* + 1 law_registry views. |
iu_core |
2 | 2 | 0 | 0 | yes | IU content staging (iu_staging_record=15 rows, iu_staging_payload); runtime gate OFF. |
cutter_governance |
24 | 12 | 0 | 0 | NO (denied) | TAC "cutter" governance system; operator role lacks USAGE → metadata-only. |
sandbox_tac |
8 | 0 | 0 | 0 | NO (denied) | TAC sandbox schema; persistent (not run-scoped/disposable); read-denied. |
By group (A–L) — all 382 base objects, sums to 382:
| Grp | Group | Count | Production-critical | Staging/draft | Need-triage |
|---|---|---|---|---|---|
| A | Directus system metadata | 27 | 15 | 0 | 0 |
| B | Production business data | 93 | 5 | 0 | 0 |
| C | Birth/certification/inspect | 11 | 5 | 0 | 0 |
| D | KG/universal_edges/provenance | 13 | 1 | 0 | 0 |
| E | IU/cell/context/editing | 82 | 0 | 0 | 0 |
| F | DOT/governance/registry | 76 | 23 | 0 | 19 |
| G | Workflow/cron/monitor | 42 | 5 | 0 | 0 |
| H | Staging/draft/candidate/workbench | 17 | 0 | 17 | 0 |
| I | Audit/log/evidence | 14 | 3 | 0 | 1 |
| J | Backup/snapshot/migration | 3 | 0 | 0 | 0 |
| K | Dangerous/forbidden/frozen | 0 | 0 | 0 | 0 |
| L | Unknown/need-triage | 4 | 0 | 0 | 4 |
A DOT/collection can serve more than one purpose; group is best-fit, not a strict partition. Inference signals:
collection_registry.governance_role(governed/observed/excluded/locked),storage_role, name family, andpg_classsize.
Status distribution (382): production-critical 57 · usable-read 252 · staging-existing 12 · draft-existing 5 · monitored 29 · frozen 3 · needs-triage 24. Read/Write (inferred): Mixed 315 · Write/append 38 · Read 5 · Unknown 24.
Views in public (685) by family — read-only observability (not row-listed in §5):
| Family | Count |
|---|---|
v_qt001* |
183 |
v_rp* |
169 |
v_birth* |
94 |
v_process* |
61 |
v_iu* |
26 |
v_authority* |
15 |
v_ax* |
12 |
v_workflow* |
12 |
v_trigger* |
10 |
v_axis* |
9 |
v_registries* |
8 |
v_dot* |
7 |
v_rule* |
7 |
v_universal* |
5 |
v_control* |
4 |
v_cut* |
4 |
v_h11a* |
4 |
v_scanner* |
4 |
v_apply* |
3 |
v_function* |
3 |
v_object* |
3 |
v_pivot* |
3 |
v_pxt* |
3 |
v_system* |
3 |
v_apr* |
2 |
v_count* |
2 |
v_entity* |
2 |
v_governance* |
2 |
v_job* |
2 |
v_registry* |
2 |
v_ui* |
2 |
v_wf* |
2 |
kg_quality* |
2 |
Remaining
v_*families have 1 each. Allv_*/kg_*/law_registryviews are read-only; treat as reporting surfaces.cutter_governancehas 12 views,iu_corehas 2 (read-only).mv_measurement_dashboardis the one matview (row-listed §5/§15).
5. Main collection/table inventory
All 382 base objects (380 tables + 1 matview + 1 foreign) across
public,iu_core,cutter_governance,sandbox_tac. STT contiguous 1–382, grouped A–L then schema then name. Read/Write/Authority/Status are inferred (PASS_WITH_CAVEATS). DDL on every object is DOT-only (§3).Schema-name correction (2026-06-19): the restricted TAC governance schema's verified catalog name is
cutter_governance(confirmed read-only viapg_namespace/pg_class: 24 tables + 12 views). Earlier drafts of the §5 rows (STT 203–226) abbreviated it ascutter_gov; that token was a transcription typo, not a real alias — no schema namedcutter_govexists. All §5 schema cells andAccess/call pathentries now usecutter_governanceconsistently.
| STT | Schema | Collection/Table/View | Nhóm | Sử dụng khi | Access/call path | Read/Write | Authority | Status | Ghi chú |
|---|---|---|---|---|---|---|---|---|---|
| 1 | public | directus_access | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 7 rows |
| 2 | public | directus_activity | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 318k rows; 69 MB |
| 3 | public | directus_collections | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 143 rows |
| 4 | public | directus_comments | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; rows n/a |
| 5 | public | directus_dashboards | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; 1 rows |
| 6 | public | directus_extensions | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; rows n/a |
| 7 | public | directus_fields | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 1k rows; observed/system |
| 8 | public | directus_files | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 7 rows |
| 9 | public | directus_flows | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 112 rows |
| 10 | public | directus_folders | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; rows n/a |
| 11 | public | directus_migrations | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; 95 rows |
| 12 | public | directus_notifications | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; rows n/a |
| 13 | public | directus_operations | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 284 rows |
| 14 | public | directus_panels | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; 6 rows |
| 15 | public | directus_permissions | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 1k rows |
| 16 | public | directus_policies | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; rows n/a |
| 17 | public | directus_presets | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; 1 rows |
| 18 | public | directus_relations | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 204 rows |
| 19 | public | directus_revisions | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 311k rows; 552 MB |
| 20 | public | directus_roles | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 7 rows |
| 21 | public | directus_sessions | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 59 rows |
| 22 | public | directus_settings | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 1 rows |
| 23 | public | directus_shares | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; rows n/a |
| 24 | public | directus_translations | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; rows n/a |
| 25 | public | directus_users | A | Directus core/metadata | PG only | Mixed | Directus/DOT | production-critical | table; 13 rows |
| 26 | public | directus_versions | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; rows n/a |
| 27 | public | directus_webhooks | A | Directus core/metadata | PG only | Mixed | Directus/DOT | usable-read | table; rows n/a |
| 28 | public | agent_views | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 26 rows; observed |
| 29 | public | agents | B | Production business/content | Directus+PG | Mixed | Owner/app | production-critical | table; 6 rows; governed |
| 30 | public | ai_discussion_comments | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 31 | public | ai_discussions | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 32 | public | ai_tasks | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 33 | public | block_button | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 34 | public | block_button_group | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 35 | public | block_button_groups | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 36 | public | block_buttons | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 37 | public | block_columns | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 38 | public | block_columns_rows | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 39 | public | block_cta | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 40 | public | block_divider | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 41 | public | block_faqs | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 42 | public | block_form | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 43 | public | block_gallery | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 44 | public | block_gallery_files | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 45 | public | block_hero | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 1 rows; excluded |
| 46 | public | block_html | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 47 | public | block_library | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 5 rows; excluded |
| 48 | public | block_logocloud | B | Production business/content | Directus+PG | Write | Owner/app | usable-read | table; rows n/a; excluded |
| 49 | public | block_logocloud_logos | B | Production business/content | Directus+PG | Write | Owner/app | usable-read | table; rows n/a; observed |
| 50 | public | block_quote | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 51 | public | block_richtext | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 52 | public | block_step_items | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 53 | public | block_steps | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 54 | public | block_team | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 55 | public | block_testimonial_slider_items | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 56 | public | block_testimonials | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 57 | public | block_video | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 58 | public | categories | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 1 rows; excluded |
| 59 | public | comments | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 60 | public | contacts | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 61 | public | content_requests | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 62 | public | conversations | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 63 | public | design_templates | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a |
| 64 | public | doc_reviews | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 65 | public | feedbacks | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 9 rows; observed |
| 66 | public | forms | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 67 | public | globals | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 1 rows; excluded |
| 68 | public | help_articles | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 3 rows; observed |
| 69 | public | help_collections | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 70 | public | help_feedback | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 71 | public | inbox | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 72 | public | knowledge_documents | B | Production business/content | Directus+PG | Mixed | Owner/app | production-critical | table; 8k rows; 45 MB; observed |
| 73 | public | languages | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 74 | public | messages | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 75 | public | modules | B | Production business/content | Directus+PG | Mixed | Owner/app | production-critical | table; 4 rows; governed |
| 76 | public | navigation | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 2 rows; excluded |
| 77 | public | navigation_items | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 5 rows; observed |
| 78 | public | navigation_navigation_items | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 2 rows; observed |
| 79 | public | organization_addresses | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 80 | public | organizations | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 81 | public | organizations_contacts | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 82 | public | os_activities | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 83 | public | os_activity_contacts | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 84 | public | os_deal_contacts | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 85 | public | os_deal_stages | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 86 | public | os_deals | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 87 | public | os_email_templates | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 88 | public | os_expenses | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 89 | public | os_invoice_items | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 90 | public | os_invoices | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 91 | public | os_items | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 92 | public | os_payment_terms | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 93 | public | os_payments | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 94 | public | os_project_contacts | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 95 | public | os_project_templates | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 96 | public | os_project_updates | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 97 | public | os_projects | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 98 | public | os_proposal_blocks | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 99 | public | os_proposal_contacts | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 100 | public | os_proposals | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 101 | public | os_settings | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 102 | public | os_task_files | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 103 | public | os_tasks | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 104 | public | os_tax_rates | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 105 | public | page_blocks | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 2 rows; excluded |
| 106 | public | pages | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 3 rows; excluded |
| 107 | public | pages_blocks | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 108 | public | pages_blog | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 1 rows; excluded |
| 109 | public | pages_projects | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 110 | public | pages_translations | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 111 | public | post_gallery_items | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; observed |
| 112 | public | posts | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 2 rows; excluded |
| 113 | public | redirects | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 114 | public | seo | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 115 | public | task_checkpoints | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 9 rows; observed |
| 116 | public | task_comments | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; 75 rows; observed |
| 117 | public | tasks | B | Production business/content | Directus+PG | Mixed | Owner/app | production-critical | table; 6 rows; governed |
| 118 | public | team | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 119 | public | testimonials | B | Production business/content | Directus+PG | Mixed | Owner/app | usable-read | table; rows n/a; excluded |
| 120 | public | ui_pages | B | Production business/content | Directus+PG | Mixed | Owner/app | production-critical | table; 37 rows; governed |
| 121 | public | birth_admission_permit | C | Birth/cert/inspect | PG only | Mixed | DOT-only | monitored | table; rows n/a; birth-gateway aux; monitored |
| 122 | public | birth_admission_permit_v2 | C | Birth/cert/inspect | PG only | Mixed | DOT-only | monitored | table; rows n/a; birth-gateway aux; monitored |
| 123 | public | birth_backfill_ledger | C | Birth/cert/inspect | PG only | Mixed | DOT-only | monitored | table; rows n/a; birth-gateway aux; monitored |
| 124 | public | birth_backfill_ledger_v2 | C | Birth/cert/inspect | PG only | Mixed | DOT-only | monitored | table; rows n/a; birth-gateway aux; monitored |
| 125 | public | birth_gateway_release_registry | C | Birth/cert/inspect | PG only | Mixed | DOT-only | monitored | table; rows n/a; birth-gateway aux; monitored |
| 126 | public | birth_registry | C | Birth/cert/inspect | Directus+PG | Mixed | Forbidden/DOT | production-critical | table; 1.19M rows; 309 MB; governed/primary; BIRTH GATEWAY — direct write/trigger redefine FROZEN |
| 127 | public | entity_audit_queue | C | Birth/cert/inspect | Directus+PG | Write | DOT-only | usable-read | table; rows n/a; observed |
| 128 | public | entity_dependencies | C | Birth/cert/inspect | Directus+PG | Mixed | DOT-only | production-critical | table; 142 rows; governed |
| 129 | public | entity_labels | C | Birth/cert/inspect | Directus+PG | Mixed | DOT-only | production-critical | table; 853k rows; 163 MB; excluded/junction |
| 130 | public | entity_species | C | Birth/cert/inspect | Directus+PG | Mixed | DOT-only | production-critical | table; 40 rows; governed |
| 131 | public | species_collection_map | C | Birth/cert/inspect | Directus+PG | Mixed | DOT-only | production-critical | table; 125 rows; excluded |
| 132 | public | kg_acl_config | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 133 | public | kg_auto_approve_rules | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 134 | public | kg_constraint_config | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 135 | public | kg_priority_templates | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 136 | public | kg_quality_log | D | KG/edges/provenance | PG only | Write | DOT-only | usable-read | table; rows n/a |
| 137 | public | kg_signal_config | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 138 | public | kg_source_authority | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 139 | public | kg_thresholds | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 140 | public | universal_edges | D | KG/edges/provenance | PG only | Mixed | DOT-only | production-critical | table; 2k rows; 2 MB; observed |
| 141 | public | universal_rule_registry | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; rows n/a; observed |
| 142 | public | universal_rule_run_results | D | KG/edges/provenance | PG only | Write | DOT-only | usable-read | table; 130 rows; observed |
| 143 | public | universal_rule_runs | D | KG/edges/provenance | PG only | Write | DOT-only | usable-read | table; rows n/a; observed |
| 144 | public | universal_rule_violations | D | KG/edges/provenance | PG only | Mixed | DOT-only | usable-read | table; 2k rows; 1 MB; observed |
| 145 | public | axis_assignment | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 146 | public | axis_registry | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 147 | public | context_pack_health_checks | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 148 | public | context_pack_manifest | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 131 rows |
| 149 | public | context_pack_requests | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 355 rows |
| 150 | public | context_pack_section_definitions | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 9 rows |
| 151 | public | context_pack_sections | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 1k rows |
| 152 | public | context_trigger_sources | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 153 | public | cut_request | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 4 rows |
| 154 | public | cut_request_transition | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 155 | public | information_unit | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 216 rows; observed/primary |
| 156 | public | iu_auto_instantiate_event_log | E | IU/unit/context/TAC | PG only | Write | IU-gateway | usable-read | table; rows n/a |
| 157 | public | iu_collection_template_instance_lineage | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 158 | public | iu_collection_template_registry | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 159 | public | iu_collection_template_version | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 160 | public | iu_core_retention_policy | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 161 | public | iu_gate_transition | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 162 | public | iu_lifecycle_log | E | IU/unit/context/TAC | PG only | Write | IU-gateway | usable-read | table; 146 rows |
| 163 | public | iu_lifecycle_vocab | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 164 | public | iu_merge_set | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 165 | public | iu_metadata_tag | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 445 rows |
| 166 | public | iu_metadata_tag_registry | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 167 | public | iu_notification_event | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 168 | public | iu_notification_read | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 169 | public | iu_outbound_route | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 170 | public | iu_piece_collection | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 44 rows |
| 171 | public | iu_piece_membership | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 227 rows |
| 172 | public | iu_qdrant_collection_registry | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 173 | public | iu_relation | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 60 rows |
| 174 | public | iu_route_attempt | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 56 rows |
| 175 | public | iu_route_dead_letter | E | IU/unit/context/TAC | PG only | Write | IU-gateway | usable-read | table; rows n/a |
| 176 | public | iu_route_worker_cursor | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 177 | public | iu_split_set | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 178 | public | iu_sql_event_route | E | IU/unit/context/TAC | PG only | Write | IU-gateway | usable-read | table; rows n/a |
| 179 | public | iu_sql_link | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 180 | public | iu_structure_operation | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 57 rows |
| 181 | public | iu_three_axis_envelope | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 216 rows |
| 182 | public | iu_three_axis_envelope_refresh_log | E | IU/unit/context/TAC | PG only | Write | IU-gateway | usable-read | table; rows n/a |
| 183 | public | iu_three_axis_envelope_trigger_error_log | E | IU/unit/context/TAC | PG only | Write | IU-gateway | usable-read | table; rows n/a |
| 184 | public | iu_tree_change_log | E | IU/unit/context/TAC | PG only | Write | IU-gateway | usable-read | table; 56 rows |
| 185 | public | iu_tree_path | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 199 rows |
| 186 | public | iu_vector_sync_point | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 152 rows |
| 187 | public | tac_birth_gate_config | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 188 | public | tac_change_set | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 189 | public | tac_change_set_member | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 190 | public | tac_cs_lifecycle_vocab | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 191 | public | tac_logical_unit | E | IU/unit/context/TAC | Directus+PG | Write | IU-gateway | usable-read | table; 86 rows |
| 192 | public | tac_lu_lifecycle_vocab | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 193 | public | tac_pub_lifecycle_vocab | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 194 | public | tac_publication | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 195 | public | tac_publication_member | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; 59 rows |
| 196 | public | tac_publication_type_vocab | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 197 | public | tac_review_state_vocab | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 198 | public | tac_section_type_vocab | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 199 | public | tac_unit_version | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; 59 rows |
| 200 | public | tac_uv_lifecycle_vocab | E | IU/unit/context/TAC | Directus+PG | Mixed | IU-gateway | usable-read | table; rows n/a |
| 201 | public | unit_edit_comment | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; rows n/a |
| 202 | public | unit_version | E | IU/unit/context/TAC | PG only | Mixed | IU-gateway | usable-read | table; 182 rows; observed/primary |
| 203 | cutter_governance | address_template_registry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 204 | cutter_governance | authority_override | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 205 | cutter_governance | canonical_address_alias | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 206 | cutter_governance | cut_change_set | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 207 | cutter_governance | cut_change_set_affected_row | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; 61 rows; read-denied (operator lacks USAGE); metadata-only |
| 208 | cutter_governance | decision_backlog_dependency | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 209 | cutter_governance | decision_backlog_entry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 210 | cutter_governance | decision_backlog_history | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 211 | cutter_governance | decision_backlog_sweep_log | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 212 | cutter_governance | dot_pair_signature | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 213 | cutter_governance | entity_kind_registry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 214 | cutter_governance | entity_reference_registry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 215 | cutter_governance | grammar_profile | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 216 | cutter_governance | grammar_profile_level | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 217 | cutter_governance | grammar_profile_status_marker | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 218 | cutter_governance | manifest_envelope | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 219 | cutter_governance | manifest_unit_block | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; 147 rows; read-denied (operator lacks USAGE); metadata-only |
| 220 | cutter_governance | matcher_config_registry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 221 | cutter_governance | metadata_key_registry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 222 | cutter_governance | review_decision | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 223 | cutter_governance | source_document_registry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 224 | cutter_governance | source_document_version_registry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 225 | cutter_governance | source_family_registry | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 226 | cutter_governance | verify_result | E | IU/unit/context/TAC | PG cutter_governance* | Unknown | Unknown(denied) | monitored | table; rows n/a; read-denied (operator lacks USAGE); metadata-only |
| 227 | public | approval_requests | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 211 rows; governed/primary |
| 228 | public | apr_action_types | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; rows n/a; governed/primary |
| 229 | public | apr_approvals | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; rows n/a; governed/primary |
| 230 | public | apr_request_types | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; rows n/a; governed/primary |
| 231 | public | binding_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a; locked |
| 232 | public | checkpoint_instances | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; 99 rows; observed |
| 233 | public | checkpoint_rules | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; rows n/a; observed |
| 234 | public | checkpoint_set_items | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; 6 rows; observed |
| 235 | public | checkpoint_sets | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 2 rows; governed |
| 236 | public | checkpoint_type_overrides | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; rows n/a; observed |
| 237 | public | checkpoint_types | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 31 rows; governed |
| 238 | public | collection_field_standards | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; rows n/a |
| 239 | public | collection_groups | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; rows n/a |
| 240 | public | collection_registry | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 166 rows; governed |
| 241 | public | collection_registry_vector_policy | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 242 | public | derived_objects_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a; observed |
| 243 | public | dot_agent_api_contract | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 244 | public | dot_config | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; 119 rows |
| 245 | public | dot_coverage_required | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; rows n/a |
| 246 | public | dot_domain_rules | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 67 rows; governed/primary |
| 247 | public | dot_domains | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; rows n/a |
| 248 | public | dot_iu_command_catalog | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; 47 rows |
| 249 | public | dot_iu_command_run | F | DOT/gov/registry/law | PG only | Write | DOT-only | usable-read | table; 55 rows |
| 250 | public | dot_iu_runtime_lease | F | DOT/gov/registry/law | PG only | Write | DOT-only | usable-read | table; rows n/a |
| 251 | public | dot_operations | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 252 | public | dot_tools | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 288 rows; governed/primary |
| 253 | public | field_type_equivalences | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; rows n/a; governed/primary |
| 254 | public | governance_docs | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; rows n/a; observed |
| 255 | public | governance_object_ownership | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; 0 rows |
| 256 | public | governance_registry | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; rows n/a; governed/primary |
| 257 | public | governance_relations | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; rows n/a; governed/primary |
| 258 | public | governance_responsibility_scope | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 259 | public | governance_ruleset | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 260 | public | label_rules | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; 37 rows; observed |
| 261 | public | law_catalog | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | production-critical | table; rows n/a; governed/primary |
| 262 | public | law_dot_enforcement | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 252 rows; governed/primary |
| 263 | public | law_jurisdiction | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 43 rows; governed/primary |
| 264 | public | measurement_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | production-critical | table; 142 rows; governed/primary |
| 265 | public | meta_catalog | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 169 rows; 2 MB; governed |
| 266 | public | normative_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | production-critical | table; 46 rows; governed/primary |
| 267 | public | normative_relations | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | production-critical | table; rows n/a; governed |
| 268 | public | nrm_approval_rules | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a; locked |
| 269 | public | nrm_doc_type_config | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a; locked |
| 270 | public | os_proposal_approvals | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; rows n/a; excluded |
| 271 | public | pivot_definitions | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 37 rows; governed/primary |
| 272 | public | pivot_results | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; 149 rows; observed/derived |
| 273 | public | qt001_authoritative_object_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; 72 rows; QT001 authority/capability registry; triage |
| 274 | public | qt001_authority_identity_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 275 | public | qt001_capability_behavior_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 276 | public | qt001_capability_contract | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 277 | public | qt001_capability_operational_evidence | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 278 | public | qt001_evidence_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 279 | public | qt001_hardcode_inventory | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 280 | public | qt001_independent_review_signoff | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 281 | public | qt001_plan_content_binding | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 282 | public | qt001_plan_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; 248 rows; QT001 authority/capability registry; triage |
| 283 | public | qt001_plan_snapshot | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; 74 rows; QT001 authority/capability registry; triage |
| 284 | public | qt001_readiness_guard_registry_v9 | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 285 | public | qt001_review_validated_collection | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 286 | public | qt001_runtime_config | F | DOT/gov/registry/law | PG only | Write | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 287 | public | qt001_signal_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 288 | public | qt001_signoff_plan_binding | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 289 | public | qt001_tier_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 290 | public | qt001_tier_rule_registry | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 291 | public | qt001_tier_rule_registry_v2 | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 292 | public | registry_pin | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 293 | public | rp_grouping_policy | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 294 | public | table_registry | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 21 rows; governed |
| 295 | public | taxonomy | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; 55 rows; governed |
| 296 | public | taxonomy_facets | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | production-critical | table; rows n/a; governed |
| 297 | public | taxonomy_matrix | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; 36 rows; excluded |
| 298 | public | trigger_guard_alerts | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; 129 rows |
| 299 | public | trigger_guard_exceptions | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; rows n/a |
| 300 | public | trigger_registry | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; 107 rows; observed |
| 301 | public | v_registry_counts | F | DOT/gov/registry/law | Directus+PG | Mixed | DOT-only | usable-read | table; 169 rows; observed |
| 302 | public | v_registry_summary | F | DOT/gov/registry/law | PG only | Mixed | DOT-only | usable-read | table; 1 rows; observed |
| 303 | public | event_outbox | G | Workflow/cron/monitor | PG only | Write | System/DOT | production-critical | table; 210k rows; 113 MB |
| 304 | public | event_pending | G | Workflow/cron/monitor | PG only | Write | System/DOT | usable-read | table; rows n/a |
| 305 | public | event_read | G | Workflow/cron/monitor | PG only | Write | System/DOT | production-critical | table; 210k rows; 37 MB |
| 306 | public | event_subscription | G | Workflow/cron/monitor | PG only | Write | System/DOT | usable-read | table; rows n/a |
| 307 | public | event_type_registry | G | Workflow/cron/monitor | PG only | Write | System/DOT | usable-read | table; 40 rows |
| 308 | public | gov_worker_cursor | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 309 | public | job_queue | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 310 | public | process_axis_action_vocabulary | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 311 | public | process_axis_ai_review | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 312 | public | process_axis_delegation | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 313 | public | process_component_observation | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 314 | public | process_run_observation | G | Workflow/cron/monitor | PG only | Write | System/DOT | usable-read | table; rows n/a |
| 315 | public | queue_heartbeat | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 316 | public | system_health_checks | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 317 | public | wf_candidate_action_vocabulary | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 318 | public | wf_census_digest | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 319 | public | wf_census_digest_v2 | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 320 | public | wf_classification_drift | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 321 | public | wf_docker_container_snapshot | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 11 rows |
| 322 | public | wf_fs_dot_bin_snapshot | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 289 rows |
| 323 | public | wf_fs_script_snapshot | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 42 rows |
| 324 | public | wf_host_crontab_snapshot | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 54 rows |
| 325 | public | wf_kb_sop_doc_snapshot | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 326 | public | wf_metric_snapshot | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 327 | public | wf_orphan_digest | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 328 | public | wf_orphan_digest_v2 | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 329 | public | wf_orphan_remediation_queue | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 145 rows |
| 330 | public | wf_process_candidate | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 19 rows |
| 331 | public | wf_process_candidate_member | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 143 rows |
| 332 | public | wf_remediation_triage | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 143 rows |
| 333 | public | wf_rp_coverage_digest | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 334 | public | wf_rp_coverage_digest_v2 | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 335 | public | wf_source_adapter_health | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 336 | public | wf_source_adapter_health_v2 | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; rows n/a |
| 337 | public | wf_systemd_timer_snapshot | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 22 rows |
| 338 | public | workflow_categories | G | Workflow/cron/monitor | Directus+PG | Mixed | System/DOT | usable-read | table; 3 rows; observed |
| 339 | public | workflow_change_requests | G | Workflow/cron/monitor | Directus+PG | Mixed | System/DOT | production-critical | table; 3 rows; governed |
| 340 | public | workflow_discovery_source_registry | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 16 rows |
| 341 | public | workflow_scanner_registry | G | Workflow/cron/monitor | PG only | Mixed | System/DOT | usable-read | table; 6 rows |
| 342 | public | workflow_step_relations | G | Workflow/cron/monitor | Directus+PG | Mixed | System/DOT | usable-read | table; 80 rows; excluded |
| 343 | public | workflow_steps | G | Workflow/cron/monitor | Directus+PG | Mixed | System/DOT | production-critical | table; 70 rows; governed |
| 344 | public | workflows | G | Workflow/cron/monitor | Directus+PG | Mixed | System/DOT | production-critical | table; 2 rows; governed |
| 345 | public | _preflight_accepted_exceptions | H | Staging/draft/sandbox | PG only | Mixed | Owner/sandbox | staging-existing | table; rows n/a |
| 346 | public | candidate_scan_run | H | Staging/draft/sandbox | PG only | Write | Owner/sandbox | draft-existing | table; rows n/a |
| 347 | public | governance_build_authorization | H | Staging/draft/sandbox | PG only | Mixed | Owner/sandbox | staging-existing | table; rows n/a |
| 348 | public | governance_candidate_object | H | Staging/draft/sandbox | PG only | Mixed | Owner/sandbox | draft-existing | table; rows n/a |
| 349 | public | governance_candidate_state | H | Staging/draft/sandbox | PG only | Mixed | Owner/sandbox | draft-existing | table; rows n/a |
| 350 | public | table_proposals | H | Staging/draft/sandbox | Directus+PG | Mixed | Owner/sandbox | draft-existing | table; 0 rows; observed |
| 351 | public | unit_edit_draft | H | Staging/draft/sandbox | PG only | Mixed | Owner/sandbox | draft-existing | table; rows n/a |
| 352 | iu_core | iu_staging_payload | H | Staging/draft/sandbox | PG iu_core | Mixed | Owner/sandbox | staging-existing | table; 4 rows; governed/sql-table; IU content staging; gate OFF; NOT PG-DDL staging |
| 353 | iu_core | iu_staging_record | H | Staging/draft/sandbox | PG iu_core | Mixed | Owner/sandbox | staging-existing | table; 3 rows; governed/sql-table; IU content staging; gate OFF; NOT PG-DDL staging |
| 354 | sandbox_tac | change_set | H | Staging/draft/sandbox | PG sandbox* | Mixed | Unknown(denied) | staging-existing | table; rows n/a; sandbox; read-denied; NOT run-scoped/disposable |
| 355 | sandbox_tac | change_set_member | H | Staging/draft/sandbox | PG sandbox* | Mixed | Unknown(denied) | staging-existing | table; rows n/a; sandbox; read-denied; NOT run-scoped/disposable |
| 356 | sandbox_tac | logical_unit | H | Staging/draft/sandbox | PG sandbox* | Mixed | Unknown(denied) | staging-existing | table; 76 rows; sandbox; read-denied; NOT run-scoped/disposable |
| 357 | sandbox_tac | publication | H | Staging/draft/sandbox | PG sandbox* | Mixed | Unknown(denied) | staging-existing | table; rows n/a; sandbox; read-denied; NOT run-scoped/disposable |
| 358 | sandbox_tac | publication_member | H | Staging/draft/sandbox | PG sandbox* | Mixed | Unknown(denied) | staging-existing | table; 76 rows; sandbox; read-denied; NOT run-scoped/disposable |
| 359 | sandbox_tac | publication_type_vocab | H | Staging/draft/sandbox | PG sandbox* | Mixed | Unknown(denied) | staging-existing | table; rows n/a; sandbox; read-denied; NOT run-scoped/disposable |
| 360 | sandbox_tac | section_type_vocab | H | Staging/draft/sandbox | PG sandbox* | Mixed | Unknown(denied) | staging-existing | table; rows n/a; sandbox; read-denied; NOT run-scoped/disposable |
| 361 | sandbox_tac | unit_version | H | Staging/draft/sandbox | PG sandbox* | Mixed | Unknown(denied) | staging-existing | table; 76 rows; observed/primary; sandbox; read-denied; NOT run-scoped/disposable |
| 362 | public | admin_fallback_log | I | Audit/log/evidence | Directus+PG | Write | System-append | usable-read | table; 21 rows; law_artifact/pg_only |
| 363 | public | governance_audit_log | I | Audit/log/evidence | Directus+PG | Write | System-append | usable-read | table; rows n/a; observed/primary |
| 364 | public | job_dead_letter | I | Audit/log/evidence | PG only | Write | System-append | usable-read | table; rows n/a |
| 365 | public | law_version_verification_log | I | Audit/log/evidence | Directus+PG | Write | System-append | usable-read | table; rows n/a; law_artifact/pg_only |
| 366 | public | lifecycle_log | I | Audit/log/evidence | PG only | Write | System-append | usable-read | table; 827 rows; observed |
| 367 | public | measurement_log | I | Audit/log/evidence | Directus+PG | Write | System-append | production-critical | table; 43k rows; 13 MB; observed/log |
| 368 | public | process_axis_action_log | I | Audit/log/evidence | PG only | Write | System-append | usable-read | table; rows n/a |
| 369 | public | qt001_apply_rehearsal_audit | I | Audit/log/evidence | PG only | Write | System-append | needs-triage | table; rows n/a; QT001 authority/capability registry; triage |
| 370 | public | registry_changelog | I | Audit/log/evidence | Directus+PG | Write | System-append | production-critical | table; 79k rows; 20 MB; observed |
| 371 | public | system_issues | I | Audit/log/evidence | Directus+PG | Write | System-append | production-critical | table; 213k rows; 137 MB; governed |
| 372 | public | vps_deploy_log | I | Audit/log/evidence | PG only | Write | System-append | usable-read | table; rows n/a |
| 373 | public | wf_adapter_run_log | I | Audit/log/evidence | PG only | Write | System-append | usable-read | table; 73 rows |
| 374 | public | wf_candidate_action_log | I | Audit/log/evidence | PG only | Write | System-append | usable-read | table; rows n/a |
| 375 | public | wf_scanner_run_log | I | Audit/log/evidence | PG only | Write | System-append | usable-read | table; rows n/a |
| 376 | public | _desc_backup_fix28 | J | Backup/snapshot | PG only | Read | Read-only | frozen | table; 1k rows; historical backup; do not reuse |
| 377 | public | _permissions_backup_s132c | J | Backup/snapshot | PG only | Read | Read-only | frozen | table; rows n/a; excluded; historical backup; do not reuse |
| 378 | public | dot_tools_domain_backup | J | Backup/snapshot | PG only | Read | Read-only | frozen | table; 163 rows; historical backup; do not reuse |
| 379 | public | _cp_patterns_cache_remote | L | Unknown/triage | PG foreign (RO) | Read | Unknown | needs-triage | foreign; rows n/a; unclassified; triage |
| 380 | public | _recon_dot_fs_inventory | L | Unknown/triage | PG only | Mixed | Unknown | needs-triage | table; 287 rows; unclassified; triage |
| 381 | public | evolution_snapshots | L | Unknown/triage | PG only | Mixed | Unknown | needs-triage | table; rows n/a; unclassified; triage |
| 382 | public | mv_measurement_dashboard | L | Unknown/triage | PG matview (RO) | Read | Unknown | needs-triage | matview; rows n/a; unclassified; triage |
6. Directus metadata collections
directus_* system tables (group A, 27 rows in §5) are managed by Directus core. Do not hand-edit; schema changes are DOT-only and Directus migrations are owned by the Directus runtime. Key surfaces (fresh estimates):
| Table | est rows | Role |
|---|---|---|
directus_collections |
143 | Collection registry (164 logical collections incl. folders). |
directus_fields |
1,481 | Field metadata (has triggers). |
directus_relations |
204 | Relationship metadata. |
directus_permissions |
1,192 | Access control — production-critical. |
directus_policies / directus_access / directus_roles |
– / 7 / 7 | Policy/role/access (RBAC). |
directus_flows / directus_operations |
112 / 284 | Directus Flows automation. |
directus_revisions |
311k (578 MB) | Revision history — largest table. |
directus_activity |
318k (72 MB) | Activity log. |
directus_users / directus_sessions |
13 / 59 | Identity. |
directus_files / directus_settings |
7 / 1 | Assets / global settings. |
Read via directus_read / query_pg. Writes (data) go through Directus app/API under governance; schema/DDL = DOT-only.
7. Production-critical collections/tables (DO NOT TOUCH without authorization)
57 objects carry production-critical status (core auth, governance SSOTs, or large live tables). Treat as read-only for operators; any write/DDL is DOT-only / Owner-gated.
| Object | est rows | R/W | Authority | Status |
|---|---|---|---|---|
public.birth_registry |
1.19M | Mixed | Forbidden/DOT | production-critical |
public.entity_labels |
853k | Mixed | DOT-only | production-critical |
public.directus_activity |
318k | Mixed | Directus/DOT | production-critical |
public.directus_revisions |
311k | Mixed | Directus/DOT | production-critical |
public.system_issues |
213k | Write | System-append | production-critical |
public.event_outbox |
210k | Write | System/DOT | production-critical |
public.event_read |
210k | Write | System/DOT | production-critical |
public.registry_changelog |
79k | Write | System-append | production-critical |
public.measurement_log |
43k | Write | System-append | production-critical |
public.knowledge_documents |
8k | Mixed | Owner/app | production-critical |
public.universal_edges |
2k | Mixed | DOT-only | production-critical |
public.directus_fields |
1k | Mixed | Directus/DOT | production-critical |
public.directus_permissions |
1k | Mixed | Directus/DOT | production-critical |
public.dot_tools |
288 | Mixed | DOT-only | production-critical |
public.directus_operations |
284 | Mixed | Directus/DOT | production-critical |
public.law_dot_enforcement |
252 | Mixed | DOT-only | production-critical |
public.approval_requests |
211 | Mixed | DOT-only | production-critical |
public.directus_relations |
204 | Mixed | Directus/DOT | production-critical |
public.meta_catalog |
169 | Mixed | DOT-only | production-critical |
public.collection_registry |
166 | Mixed | DOT-only | production-critical |
public.directus_collections |
143 | Mixed | Directus/DOT | production-critical |
public.entity_dependencies |
142 | Mixed | DOT-only | production-critical |
public.measurement_registry |
142 | Mixed | DOT-only | production-critical |
public.species_collection_map |
125 | Mixed | DOT-only | production-critical |
public.directus_flows |
112 | Mixed | Directus/DOT | production-critical |
public.workflow_steps |
70 | Mixed | System/DOT | production-critical |
public.dot_domain_rules |
67 | Mixed | DOT-only | production-critical |
public.directus_sessions |
59 | Mixed | Directus/DOT | production-critical |
public.taxonomy |
55 | Mixed | DOT-only | production-critical |
public.normative_registry |
46 | Mixed | DOT-only | production-critical |
Showing top 30 by size. Full set (57):
agents,approval_requests,apr_action_types,apr_approvals,apr_request_types,birth_registry,checkpoint_sets,checkpoint_types,collection_registry,directus_access,directus_activity,directus_collections,directus_fields,directus_files,directus_flows,directus_operations,directus_permissions,directus_policies,directus_relations,directus_revisions,directus_roles,directus_sessions,directus_settings,directus_users,dot_domain_rules,dot_tools,entity_dependencies,entity_labels,entity_species,event_outbox,event_read,field_type_equivalences,governance_registry,governance_relations,knowledge_documents,law_catalog,law_dot_enforcement,law_jurisdiction,measurement_log,measurement_registry,meta_catalog,modules,normative_registry,normative_relations,pivot_definitions,registry_changelog,species_collection_map,system_issues,table_registry,tasks,taxonomy,taxonomy_facets,ui_pages,universal_edges,workflow_change_requests,workflow_steps,workflows. Largest by bytes:directus_revisions578 MB ·birth_registry324 MB ·entity_labels170 MB ·system_issues143 MB ·event_outbox118 MB ·directus_activity72 MB ·knowledge_documents46 MB.
8. Staging / draft / candidate / workbench collections
This is the section the R2-B2 LEGO question turns on. What exists:
| Object | est rows | R/W | Authority | Status |
|---|---|---|---|---|
iu_core.iu_staging_payload |
4 | Mixed | Owner/sandbox | staging-existing |
iu_core.iu_staging_record |
3 | Mixed | Owner/sandbox | staging-existing |
public._preflight_accepted_exceptions |
n/a | Mixed | Owner/sandbox | staging-existing |
public.candidate_scan_run |
n/a | Write | Owner/sandbox | draft-existing |
public.governance_build_authorization |
n/a | Mixed | Owner/sandbox | staging-existing |
public.governance_candidate_object |
n/a | Mixed | Owner/sandbox | draft-existing |
public.governance_candidate_state |
n/a | Mixed | Owner/sandbox | draft-existing |
public.table_proposals |
0 | Mixed | Owner/sandbox | draft-existing |
public.unit_edit_draft |
n/a | Mixed | Owner/sandbox | draft-existing |
sandbox_tac.change_set |
n/a | Mixed | Unknown(denied) | staging-existing |
sandbox_tac.change_set_member |
n/a | Mixed | Unknown(denied) | staging-existing |
sandbox_tac.logical_unit |
76 | Mixed | Unknown(denied) | staging-existing |
sandbox_tac.publication |
n/a | Mixed | Unknown(denied) | staging-existing |
sandbox_tac.publication_member |
76 | Mixed | Unknown(denied) | staging-existing |
sandbox_tac.publication_type_vocab |
n/a | Mixed | Unknown(denied) | staging-existing |
sandbox_tac.section_type_vocab |
n/a | Mixed | Unknown(denied) | staging-existing |
sandbox_tac.unit_version |
76 | Mixed | Unknown(denied) | staging-existing |
Reading of the above:
sandbox_tac.*(8 tables) — a persistent TAC sandbox schema; read-denied to the operator role; not run-scoped, not disposable, not delete-fast. Owner unknown (nogovernance_object_ownershiprow — that table has 0 rows).iu_core.iu_staging_*(2 tables, 15 records) — IU content staging, runtime gate OFF (iu_core.operator_runtime_enabled=false); these stage IU content, they are not Postgres-DDL staging.publiccandidate/draft/proposal tables (unit_edit_draft,table_proposals=0 rows,governance_candidate_object/state,candidate_scan_run,governance_build_authorization,_preflight_accepted_exceptions) — these are governance candidate/draft records inside prodpublic, not an isolated disposable schema.
Verdict (staging/workbench): 🟥 NO CONFIRMED COLLECTION/TABLE/SCHEMA EXISTS FOR A RUN-SCOPED, DISPOSABLE, DELETE-FAST R2-B2 WORKBENCH. The closest (sandbox_tac) is persistent + read-denied + owner-unknown and does not satisfy Macro-8 SB-4 (separate run-scoped schema, zero prod data, DROP SCHEMA … CASCADE delete-fast, abort-on-drift). See §16.
9. Birth / B2 / inspect / certification surfaces
Group C (11 objects). Governed by Điều 0-G (Birth Registry Law). birth_registry (1.19M rows, 324 MB) is the universal birth ledger with inspector columns inspect_pen / inspect_stamp / inspect_gate → certified. B2 = the inspect producer (writes only inspect_*); per the DOT handbook only fn_birth_auto_certify reads them — the B2 gap.
| Object | est rows | R/W | Authority | Status |
|---|---|---|---|---|
public.birth_registry |
1.19M | Mixed | Forbidden/DOT | production-critical |
public.entity_labels |
853k | Mixed | DOT-only | production-critical |
public.entity_dependencies |
142 | Mixed | DOT-only | production-critical |
public.species_collection_map |
125 | Mixed | DOT-only | production-critical |
public.entity_species |
40 | Mixed | DOT-only | production-critical |
public.birth_admission_permit |
n/a | Mixed | DOT-only | monitored |
public.birth_admission_permit_v2 |
n/a | Mixed | DOT-only | monitored |
public.birth_backfill_ledger |
n/a | Mixed | DOT-only | monitored |
public.birth_backfill_ledger_v2 |
n/a | Mixed | DOT-only | monitored |
public.birth_gateway_release_registry |
n/a | Mixed | DOT-only | monitored |
public.entity_audit_queue |
n/a | Write | DOT-only | usable-read |
⚠️
birth_registrydirect INSERT and birth-trigger redefinition are FROZEN via the dangerous DOTs (dot-birth-backfill,dot-birth-trigger-setup); see §14. 171 birth triggers exist across governed collections (trg_birth_*/birth_trigger_*).entity_labels(852k) is the per-entity label store (Điều 24).
10. KG / universal_edges / provenance surfaces
Group D (13 objects). universal_edges (2,199 rows; 0 provenance-stamped per prior macros — Điều 39 gap) is the knowledge-graph edge store; kg_* are config/policy tables; universal_rule_* are the rule engine.
| Object | est rows | R/W | Authority | Status |
|---|---|---|---|---|
public.kg_acl_config |
n/a | Mixed | DOT-only | usable-read |
public.kg_auto_approve_rules |
n/a | Mixed | DOT-only | usable-read |
public.kg_constraint_config |
n/a | Mixed | DOT-only | usable-read |
public.kg_priority_templates |
n/a | Mixed | DOT-only | usable-read |
public.kg_quality_log |
n/a | Write | DOT-only | usable-read |
public.kg_signal_config |
n/a | Mixed | DOT-only | usable-read |
public.kg_source_authority |
n/a | Mixed | DOT-only | usable-read |
public.kg_thresholds |
n/a | Mixed | DOT-only | usable-read |
public.universal_edges |
2k | Mixed | DOT-only | production-critical |
public.universal_rule_registry |
n/a | Mixed | DOT-only | usable-read |
public.universal_rule_run_results |
130 | Write | DOT-only | usable-read |
public.universal_rule_runs |
n/a | Write | DOT-only | usable-read |
public.universal_rule_violations |
2k | Mixed | DOT-only | usable-read |
11. IU / cell / context / editing surfaces
Group E (82 objects: 58 in public + 24 in cutter_governance [read-denied]). sandbox_tac (8, read-denied) and iu_core staging (2) rows are classified under Group H (§8), not Group E. The IU / unit-version / context-pack / TAC "cutter" editing system. IU writes are gateway-enforced (fn_iu_create); most iu_core.* runtime switches are OFF.
| Object | est rows | R/W | Authority | Status |
|---|---|---|---|---|
public.axis_assignment |
n/a | Mixed | IU-gateway | usable-read |
public.axis_registry |
n/a | Mixed | IU-gateway | usable-read |
public.context_pack_health_checks |
n/a | Mixed | IU-gateway | usable-read |
public.context_pack_manifest |
131 | Mixed | IU-gateway | usable-read |
public.context_pack_requests |
355 | Mixed | IU-gateway | usable-read |
public.context_pack_section_definitions |
9 | Mixed | IU-gateway | usable-read |
public.context_pack_sections |
1k | Mixed | IU-gateway | usable-read |
public.context_trigger_sources |
n/a | Mixed | IU-gateway | usable-read |
public.cut_request |
4 | Mixed | IU-gateway | usable-read |
public.cut_request_transition |
n/a | Mixed | IU-gateway | usable-read |
public.information_unit |
216 | Mixed | IU-gateway | usable-read |
public.iu_auto_instantiate_event_log |
n/a | Write | IU-gateway | usable-read |
public.iu_collection_template_instance_lineage |
n/a | Mixed | IU-gateway | usable-read |
public.iu_collection_template_registry |
n/a | Mixed | IU-gateway | usable-read |
public.iu_collection_template_version |
n/a | Mixed | IU-gateway | usable-read |
public.iu_core_retention_policy |
n/a | Mixed | IU-gateway | usable-read |
public.iu_gate_transition |
n/a | Mixed | IU-gateway | usable-read |
public.iu_lifecycle_log |
146 | Write | IU-gateway | usable-read |
public.iu_lifecycle_vocab |
n/a | Mixed | IU-gateway | usable-read |
public.iu_merge_set |
n/a | Mixed | IU-gateway | usable-read |
public.iu_metadata_tag |
445 | Mixed | IU-gateway | usable-read |
public.iu_metadata_tag_registry |
n/a | Mixed | IU-gateway | usable-read |
public.iu_notification_event |
n/a | Mixed | IU-gateway | usable-read |
public.iu_notification_read |
n/a | Mixed | IU-gateway | usable-read |
public.iu_outbound_route |
n/a | Mixed | IU-gateway | usable-read |
public.iu_piece_collection |
44 | Mixed | IU-gateway | usable-read |
public.iu_piece_membership |
227 | Mixed | IU-gateway | usable-read |
public.iu_qdrant_collection_registry |
n/a | Mixed | IU-gateway | usable-read |
public.iu_relation |
60 | Mixed | IU-gateway | usable-read |
public.iu_route_attempt |
56 | Mixed | IU-gateway | usable-read |
public.iu_route_dead_letter |
n/a | Write | IU-gateway | usable-read |
public.iu_route_worker_cursor |
n/a | Mixed | IU-gateway | usable-read |
public.iu_split_set |
n/a | Mixed | IU-gateway | usable-read |
public.iu_sql_event_route |
n/a | Write | IU-gateway | usable-read |
Showing the 34
publicIU/context surfaces.cutter_governance.*andsandbox_tac.*(32 more) are read-denied → §15.unit_edit_draftis a draft store (§8).
12. DOT / governance / registry surfaces
Group F (76 objects). The governance/registry backbone: DOT registries (dot_tools=288 est/309 SSOT, dot_config, dot_iu_command_catalog…), approval (Điều 32: approval_requests, apr_action_types/approvals/request_types), law (law_dot_enforcement, law_catalog, law_jurisdiction), registries (collection_registry, table_registry, trigger_registry, meta_catalog, governance_registry), and the QT001 authority/capability family (~20 tables → triage, §15). governance_object_ownership = 0 rows (no owner assigned anywhere).
| Object | est rows | R/W | Authority | Status |
|---|---|---|---|---|
public.approval_requests |
211 | Mixed | DOT-only | production-critical |
public.apr_action_types |
n/a | Mixed | DOT-only | production-critical |
public.apr_approvals |
n/a | Mixed | DOT-only | production-critical |
public.apr_request_types |
n/a | Mixed | DOT-only | production-critical |
public.binding_registry |
n/a | Mixed | DOT-only | usable-read |
public.checkpoint_instances |
99 | Mixed | DOT-only | usable-read |
public.checkpoint_rules |
n/a | Mixed | DOT-only | usable-read |
public.checkpoint_set_items |
6 | Mixed | DOT-only | usable-read |
public.checkpoint_sets |
2 | Mixed | DOT-only | production-critical |
public.checkpoint_type_overrides |
n/a | Mixed | DOT-only | usable-read |
public.checkpoint_types |
31 | Mixed | DOT-only | production-critical |
public.collection_field_standards |
n/a | Mixed | DOT-only | usable-read |
public.collection_groups |
n/a | Mixed | DOT-only | usable-read |
public.collection_registry |
166 | Mixed | DOT-only | production-critical |
public.collection_registry_vector_policy |
n/a | Mixed | DOT-only | usable-read |
public.derived_objects_registry |
n/a | Mixed | DOT-only | usable-read |
public.dot_agent_api_contract |
n/a | Mixed | DOT-only | usable-read |
public.dot_config |
119 | Mixed | DOT-only | usable-read |
public.dot_coverage_required |
n/a | Mixed | DOT-only | usable-read |
public.dot_domain_rules |
67 | Mixed | DOT-only | production-critical |
public.dot_domains |
n/a | Mixed | DOT-only | usable-read |
public.dot_iu_command_catalog |
47 | Mixed | DOT-only | usable-read |
public.dot_iu_command_run |
55 | Write | DOT-only | usable-read |
public.dot_iu_runtime_lease |
n/a | Write | DOT-only | usable-read |
public.dot_operations |
n/a | Mixed | DOT-only | usable-read |
public.dot_tools |
288 | Mixed | DOT-only | production-critical |
public.field_type_equivalences |
n/a | Mixed | DOT-only | production-critical |
public.governance_docs |
n/a | Mixed | DOT-only | usable-read |
public.governance_object_ownership |
0 | Mixed | DOT-only | usable-read |
public.governance_registry |
n/a | Mixed | DOT-only | production-critical |
public.governance_relations |
n/a | Mixed | DOT-only | production-critical |
public.governance_responsibility_scope |
n/a | Mixed | DOT-only | usable-read |
public.governance_ruleset |
n/a | Mixed | DOT-only | usable-read |
public.label_rules |
37 | Mixed | DOT-only | usable-read |
Showing 34 non-QT001 governance/registry surfaces. See the full set in §5 (group F). DDL on all = DOT-only.
13. Functions / procedures / triggers related to collections
Fresh counts (directus.public, 2026-06-19): 618 functions, 1 procedure, 410 non-internal triggers across 179 tables, of which 171 are birth triggers (trg_birth_* / birth_trigger_*). Registry: trigger_registry (107 rows) catalogs triggers; trigger_guard_alerts (129) / trigger_guard_exceptions watch them.
- Birth machinery:
fn_birth_registry_auto()(the gateway trigger fn — redefining it is the CRITICAL/FROZEN danger),fn_birth_auto_certify()(MONITORED). - IU gateway:
fn_iu_create(...)canonical writer;fn_iu_apply_edit_draft,fn_iu_enact,fn_iu_structure_op,fn_iu_retire,fn_iu_supersede(allowed markers); direct INSERTblock_after_guard. - DOT machinery: 32
*dot*routines + dispatcherfn_process_agent_api_dispatch(fail-closed; cannot execute a DOT). See DOT handbook §2.3. - Rule of thumb: functions/triggers are authored as artifacts and deployed by DOT, never hand-
CREATEd in this zone (§3).
14. Dangerous / forbidden / do-not-use surfaces
Collections/tables that are production-critical gateways — direct write forbidden:
birth_registry— directINSERTand birth-trigger redefinition are FROZEN. Only the governed birth trigger + inspect DOTs may write; operators read only.birth_admission_permit*,birth_backfill_ledger*,birth_gateway_release_registry— birth-gateway control tables; monitored.directus_permissions/directus_policies/directus_access/directus_roles— RBAC; a wrong write can lock out the platform.
Dangerous DOTs that target these tables (from DOT handbook §13 — do not call):
| DOT | Severity | Disposition | Why |
|---|---|---|---|
dot-birth-trigger-setup |
CRITICAL | FROZEN | Redefines fn_birth_registry_auto() with old logic → re-opens birth pollution gateway. |
dot-birth-backfill |
HIGH | FROZEN | Direct INSERT INTO birth_registry via docker exec psql; no coverage filter. |
dot-schema-birth-registry-ensure |
MEDIUM | MONITORED | CREATE OR REPLACE FUNCTION fn_birth_auto_certify(). |
Forbidden lanes (never use for this zone): manual psql / docker exec -i postgres psql; hand-written DDL/DML or SQL staged for a human; Directus generic collection/table create for schema; any REAL_RUN of a process-DOT while the runtime gate is shut (dispatcher refuses by design). No secrets/tokens in KB.
15. UNKNOWN / NEED TRIAGE
Do not guess these — they need a human/Owner triage pass (24 objects marked needs-triage).
cutter_governance.*(24 tables) +sandbox_tac.*(8 tables) — READ-DENIED. Visible inpg_classmetadata only; operator role lacksUSAGE(confirmed:permission denied for schema). Purpose inferred (TAC cutter governance + sandbox), contents unverified. → Directus metadata visibility for these = PARTIAL.- QT001 family (~20
qt001_*tables) — authority/capability/plan registry; semantics unclear from metadata. Triage = confirm role + Read/Write + owner. - Loose public objects:
_cp_patterns_cache_remote(foreign table, remote cache),_recon_dot_fs_inventory(DB↔FS recon),evolution_snapshots,mv_measurement_dashboard(matview) — group/purpose need confirming. - 685
publicviews not row-listed — summarized by family (§4); per-view purpose not inventoried here. - Other DBs not inventoried:
incomex_metadata,workflow,directus_gov_test_20260602,postgres— out of this pass's scope (substrate =directus). - Row counts are planner estimates (
reltuples);-1= never-analyzed, not empty. Re-ANALYZE/count(*)before acting on exact numbers.
16. Macro-9B and LEGO implications
Question (Macro-8 SB-4 / Macro-9A): does a confirmed, authorized collection/table/schema exist for one disposable, run-scoped R2-B2 staging workbench — separate schema, zero prod data, prod-untouched, delete-fast (DROP SCHEMA … CASCADE), abort-on-drift?
Answer: NO.
- No run-scoped/disposable schema exists.
sandbox_tacis persistent, read-denied, owner-unknown;iu_corestaging is IU-content (gate OFF);publiccandidate/draft tables live inside prod. None is delete-fast or isolated. - No authorized DOT can create one (DOT handbook §15): the schema-create family (
DOT-COL-CREATE,DOT_SCHEMA_APPLY, ~30DOT_SCHEMA_*_ENSURE,DOT-TAC-SCHEMA-ENSURE) writes the existing prodpublic; none issuesCREATE SCHEMA <run_scoped>/DROP SCHEMA … CASCADEwith a staging allowlist + abort-on-drift. The whole execute substrate is dry-run-gated. - Manual SQL/psql/Directus-generic-create is forbidden (§3) — so the gap cannot be closed by hand.
What is missing for Macro-9B / future LEGO work:
- One authorized run-scoped staging-schema DOT — staging-only, allowlist-guarded (
CREATE SCHEMA/DROP SCHEMA … CASCADEon a run-scoped name only), prod-publicreject, abort-on-drift, delete-fast — authored as an artifact, Owner-authorized, runtime gate opened explicitly. - An owner of record —
governance_object_ownershiphas 0 rows; the "R2-B2 Staging Workbench Owner" role (Macro-8 P3) is granted but not yet a row. - Until both exist: staging-shell build = NO-GO (Default HOLD preserved). This handbook authorizes nothing.
Recommendation: do not build on existing collections. Proceed to Macro-9B = author/harden the one run-scoped staging-schema DOT first (the precondition §16 and §17 both depend on), then revisit a workbench.
17. Future collection candidate: collection_operator_catalog
After the LEGO shell and an authorized DOT schema path are proven, this handbook should be normalized into a governed collection/table, tentatively collection_operator_catalog (or governance_collection_operator_catalog).
⚠️ Design note only — do NOT create the collection/table in this macro. It must not be created manually; it must be created only through an authorized DOT — never via manual SQL /
psql/docker exec psql/ Directus generic collection-create (§3).
Candidate columns: object_schema · object_name · object_type · group · purpose · access_path · read_write · authority · status · risk_level · owner_role · related_dot · related_function · related_trigger · evidence_ref · last_verified_at · update_mode · notes.
Scope (broader than tables): collections, tables, views, materialized views, functions, procedures, triggers, workflows, cron jobs, registry tables, and staging/draft/candidate/workbench stores.
Preconditions (all required): (1) authorized run-scoped staging-schema DOT exists & proven (Macro-9B, §16); (2) Owner authorization + runtime execute gate opened; (3) created through that DOT, populated from the read-only projection that generated §5. Until all three hold, collection_operator_catalog stays a candidate on paper; this markdown file remains the living manual.
18. Update log
| Rev | Date | Change | By |
|---|---|---|---|
| rev1 | 2026-06-19 | Initial collections handbook. Read-only inventory of 382 base objects (4 schemas) + 685-view family summary + 618 funcs/410 triggers + runtime gates + staging/workbench verdict (NO run-scoped disposable store). STATUS PASS_WITH_CAVEATS. | Macro-9A1 |
| body-rev2 | 2026-06-19 | Macro-9B0 gap register. Added §19 Missing collection/schema capability for Macro-9B — records that no existing collection/table/schema (public candidate/draft, iu_core content staging, sandbox_tac) is reusable for the R2-B2 disposable workbench; the gap is closed only by a DOT-created run-scoped schema (companion to DOT handbook §18). KB-document-only; nothing created or reused; collection_operator_catalog still candidate-on-paper. STATUS PASS_WITH_CAVEATS. |
Macro-9B0 |
Refresh queries (read-only, run against directus):
-- object inventory (tables/views/matview/foreign) per schema
SELECT n.nspname sch, c.relkind, count(*) FROM pg_class c JOIN pg_namespace n ON n.oid=c.relnamespace
WHERE c.relkind IN ('r','p','v','m','f') AND n.nspname NOT IN ('pg_catalog','information_schema','pg_toast')
GROUP BY 1,2 ORDER BY 1,2;
-- governance roles
SELECT collection_name, governance_role, storage_role, source_kind, coverage_status FROM collection_registry ORDER BY 1;
-- runtime gates
SELECT key,value FROM dot_config WHERE key LIKE 'process_dot_runtime.%' OR key LIKE 'iu_core.%' OR key LIKE 'iu_create.gateway.%';
-- triggers / birth triggers
SELECT count(*) FILTER (WHERE NOT tgisinternal) all_trg,
count(*) FILTER (WHERE NOT tgisinternal AND (tgname LIKE 'trg_birth_%' OR tgname LIKE 'birth_trigger_%')) birth_trg
FROM pg_trigger;
19. Missing collection/schema capability for Macro-9B
Companion to DOT handbook §18 (Missing DOT / Guard Register). This section records the collection/schema capability gap for the R2-B2 disposable workbench. Nothing here is created or reused; it restates the §16 LEGO verdict from the collection side. The fix is not a collection to adopt — it is a DOT-created run-scoped schema (Macro-9B).
No existing collection/table/schema should be reused for the R2-B2 disposable workbench:
publiccandidate/draft tables are prod-publicand not disposable — they live in the productionpublicschema; reusing/tagging them would write inside prod, the opposite of run-scoped + delete-fast.iu_corestaging is IU content staging, not Postgres DDL staging — it stages IU records under a gated content pipeline (gate-OFF today), not a disposable Postgres schema.sandbox_tacis persistent, read-denied, and owner-unknown, and not run-scoped — it fails the disposable / delete-fast and owner-of-record requirements (SB-4); it is not a clean run-scoped workbench.- Therefore the missing capability is not a collection to reuse, but a DOT-created run-scoped schema — exactly the
DOT_R2_B2_STAGING_SCHEMA_SHELLpath registered in DOT handbook §18 (and the §16 LEGO verdict here).
Conclusion (collection/schema capability gap):
- No reusable workbench collection/table/schema exists.
- The gap is closed only by an authorized, DOT-created, run-scoped, disposable staging schema (Macro-9B) — not by adopting any existing surface.
Future candidate reminder:
- The future
collection_operator_catalog(§17) remains candidate-on-paper only. - It must not be created until the authorized DOT schema path exists (Macro-9B), and then only through that authorized DOT — never via manual SQL /
psql/ Directus generic collection-create (§3).
End of Collections Usage Handbook (body-rev2 — adds §19 Missing collection/schema capability for Macro-9B; companion to DOT handbook §18). Companion to dot-manage/dot-usage-handbook.md. Engineering PASS ≠ Owner authority PASS. Default HOLD.