Skip to content

Platform Catalog & Modules

Synced from docs/generated/erd/ — do not hand-edit.
Regenerate with bun run docs:erd (needs staging reader), then this script runs automatically.
Labels: docs/db/erd-table-labels.yml · Runbook: docs/runbooks/erd-schema-docs.md

Permission catalog, workspace/org/platform module & capability toggles,
autonomy lane catalog, tab definitions, feature adoption. Catalog §1.3, §1.5.

Platform permission definitions

Name Columns Comment Type
permission_catalog_entries 7 BASE TABLE
permission_catalog_groups 7 BASE TABLE

What each org/platform/association has turned on

Name Columns Comment Type
public.org_enabled_capabilities 8 Per-org capability enablement, overriding the platform default — Not: org_enabled_modules — a module is the coarser grouping BASE TABLE
public.org_enabled_modules 9 Per-org module enablement, overriding the platform default — Not: platform_enabled_modules; also not org_enabled_capabilities BASE TABLE
public.platform_enabled_capabilities 7 Platform-wide capability enablement (default inherited by every org) — Not: platform_enabled_modules — capabilities are the finer-grained axis BASE TABLE
public.platform_enabled_modules 7 Platform-wide module enablement (the default every org inherits) — Not: org_enabled_modules — the per-org override layer BASE TABLE
workspace_capabilities 7 BASE TABLE
workspace_modules 13 BASE TABLE

Trust dials and admin tab catalog

Name Columns Comment Type
autonomy_lane_catalog 12 AL-1 (#2207): global catalog of autonomy lanes (per-capability manual/assistive/automated axis). Support seeds: support.answering / support.triage / community.answering (#4271). BASE TABLE
autonomy_promotions 12 AL-1 (#2207): trust ledger of lane promotion recommendations + decisions. BASE TABLE
feature_adoption 7 BASE TABLE
org_autonomy_lanes 13 AL-1 (#2207): per-org autonomy lane config (level, policy, kill switch, dry-run). BASE TABLE
tab_definitions 10 BASE TABLE
Name Columns Comment Type
admin_config 6 BASE TABLE
external_integrations 13 BASE TABLE
org_config_overrides 6 BASE TABLE
org_integrations 26 BASE TABLE
organizations 40 BASE TABLE
erDiagram

"public.admin_config" }o--o| "public.organizations" : "FOREIGN KEY (org_id) REFERENCES organizations(id)"
"public.external_integrations" }o--o| "public.organizations" : "FOREIGN KEY (org_id) REFERENCES organizations(id)"
"public.feature_adoption" }o--|| "public.organizations" : "FOREIGN KEY (org_id) REFERENCES organizations(id)"
"public.org_autonomy_lanes" }o--|| "public.autonomy_lane_catalog" : "FOREIGN KEY (lane_key) REFERENCES autonomy_lane_catalog(lane_key) ON DELETE CASCADE"
"public.org_config_overrides" }o--|| "public.organizations" : "FOREIGN KEY (org_id) REFERENCES organizations(id) ON DELETE CASCADE"
"public.org_enabled_capabilities" }o--|| "public.organizations" : "FOREIGN KEY (org_id) REFERENCES organizations(id) ON DELETE CASCADE"
"public.org_enabled_capabilities" }o--|| "public.workspace_capabilities" : "FOREIGN KEY (capability_key) REFERENCES workspace_capabilities(capability_key) ON DELETE CASCADE"
"public.org_enabled_modules" }o--|| "public.organizations" : "FOREIGN KEY (org_id) REFERENCES organizations(id) ON DELETE CASCADE"
"public.org_enabled_modules" }o--|| "public.workspace_modules" : "FOREIGN KEY (module_key) REFERENCES workspace_modules(module_key) ON DELETE CASCADE"
"public.org_integrations" |o--|| "public.organizations" : "FOREIGN KEY (org_id) REFERENCES organizations(id)"
"public.organizations" }o--o| "public.organizations" : "FOREIGN KEY (parent_org_id) REFERENCES organizations(id) ON DELETE SET NULL"
"public.permission_catalog_entries" }o--|| "public.permission_catalog_groups" : "FOREIGN KEY (group_key) REFERENCES permission_catalog_groups(group_key)"
"public.platform_enabled_capabilities" |o--|| "public.workspace_capabilities" : "FOREIGN KEY (capability_key) REFERENCES workspace_capabilities(capability_key) ON DELETE CASCADE"
"public.platform_enabled_modules" |o--|| "public.workspace_modules" : "FOREIGN KEY (module_key) REFERENCES workspace_modules(module_key) ON DELETE CASCADE"
"public.workspace_capabilities" }o--|| "public.workspace_modules" : "FOREIGN KEY (module_key) REFERENCES workspace_modules(module_key) ON DELETE CASCADE"

"public.admin_config" {
  text org_id ""
}
"public.autonomy_lane_catalog" {
  text lane_key ""
}
"public.autonomy_promotions" {
}
"public.external_integrations" {
  text org_id ""
}
"public.feature_adoption" {
  text org_id ""
}
"public.org_autonomy_lanes" {
  text lane_key ""
}
"public.org_config_overrides" {
  text org_id ""
}
"public.org_enabled_capabilities" {
  text capability_key ""
  text org_id ""
}
"public.org_enabled_modules" {
  text module_key ""
  text org_id ""
}
"public.org_integrations" {
  text org_id ""
}
"public.organizations" {
  text id ""
  text parent_org_id "#671 self-referencing hierarchy pointer. NULL = root org. Direct writes are blocked by trg_block_direct_parent_org_id_writes for every role except service_role/postgres/supabase_admin — the only write path for authenticated/interactive callers is public.reparent_organization(). Cycle-prevented by trg_prevent_org_hierarchy_cycle. #quot;Is association#quot; is derived (EXISTS a child), never stored."
}
"public.permission_catalog_entries" {
  text group_key ""
}
"public.permission_catalog_groups" {
  text group_key ""
}
"public.platform_enabled_capabilities" {
  text capability_key ""
}
"public.platform_enabled_modules" {
  text module_key ""
}
"public.tab_definitions" {
}
"public.workspace_capabilities" {
  text capability_key ""
  text module_key ""
}
"public.workspace_modules" {
  text module_key ""
}

Generated by tbls