dontodocs
docs / schema reference

Every table in the substrate

All 127 tables of the live donto-pg database, grouped by family — columns, types, approximate row counts, and what each table is for. Generated from information_schema, the migrations, and code usage on 10 June 2026; row counts are reltuples estimates for the big tables.

tables 127families 13total rows (approx) 111.1M

The 15 hottest tables

tablerowspurpose
donto_statement41.8MTHE claim ledger (PRD §5): append-only bitemporal quads — subject/predicate + object_iri or object_lit (jsonb), a context FK, valid_time (daterange), tx_time (tstzrange), a flags bitset (polarity etc.) and a generated content_hash for idempotent re-ingestion. Retraction closes tx_time; nothing is ever deleted (I3). [donto/packages/sql/migrations/0001_core.sql]
donto_stmt_extraction_level22.6MEpistemic-act overlay per statement: quoted | table_read | example_observed | source_generalization | cross_source_inference | model_hypothesis | human_hypothesis | manual_entry | registry_import | adapter_import (Trust Kernel §7.3). [donto/packages/sql/migrations/0100_extraction_level.sql]
donto_stmt_modality12.6MModality overlay: the claim's relationship to the world — descriptive | prescriptive | reconstructed | inferred | elicited | corpus_observed | typological_summary | experimental_result | clinical_observation | legal_holding | archival_metadata (Trust Kernel §7.4). [donto/packages/sql/migrations/0099_statement_modality.sql]
donto_audit11.3MAppend-only audit log of substrate operations (PRD §22): op name, actor, target, details jsonb. 11.3M rows. [donto/packages/sql/migrations/0001_core.sql]
donto_revision_line8.3MPer-line index of revision bodies (line text + byte offset) so the evidence tracer can substring-match small lines instead of whole bodies (~100× cheaper) and hit a b-tree for exact full-line matches. 8.3M rows. [donto/packages/sql/migrations/0127_trace_lines.sql]
donto_evidence_link2.6MThe universal evidence graph (§7): links a statement to documents, spans, annotations, extraction runs or other statements, with a link role. ~2.57M rows — every anchored fact has one. [donto/packages/sql/migrations/0029_evidence_links.sql]
donto_trace_log2.3MLog of evidence-span trace attempts: hashed surface text searched for, the discovered location if any, and the match method/strength (exact, normalized, …). 2.3M rows. [donto/packages/sql/migrations/0126_trace.sql]
donto_x_memory_record1.5MOne row per unit of memory, anchored to a substrate primary key — root_statement (atomic), root_frame (compound) or root_context (episodic chunk) — plus holder_iri/session_iri recall scoping. 1.46M rows (BEAM-10M episodic chunks dominate). [donto-memory/migrations/0001_memory_overlays.sql]
donto_x_memory_chunk_fts1.3MDenormalized (statement_id, holder_iri, session_iri, tsv) per LIVE episodic chunk so the planner can bitmap-AND the GIN(tsv) index with holder/session filters — built after corpus-wide OR-of-words FTS timed out (the 0% smoke run, 2026-06-09). 1.34M rows. [donto-memory/migrations/0004_chunk_fts.sql]
donto_predicate_closure1.0MMaterialized flat closure: every predicate IRI → every IRI that should match in alignment-aware queries, with relation type, swap_direction (true = inverse, swap subject/object) and confidence. 1.01M rows; consumed by donto_match_aligned at query time. [donto/packages/sql/migrations/0051_predicate_closure.sql]
donto_span998KStandoff spans over document revisions, modeled on W3C Web Annotation selectors (TextPosition/XPath/Css/Fragment). The anchoring layer between documents and annotations/statements; ~998K rows. [donto/packages/sql/migrations/0025_spans.sql]
donto_predicate_embedding973Kbge-small (384-dim pgvector, HNSW-indexed) embeddings of predicate IRIs — the semantic candidate path of the alignment engine, maintained continuously beside lexical trigram. 973K rows. Populated/upserted by donto-align/embed.py (additive only).
donto_predicate970KOpen-world predicate registry (PRD §9): any predicate IRI may appear on a statement; unregistered predicates are auto-recorded with status='implicit' on first use in permissive contexts. Carries canonical_of / inverse_of self-FKs and metadata. [donto/packages/sql/migrations/0006_predicate.sql]
donto_label_cache516KAd-hoc materialized subject → label cache (subject, label, stmt_count) with a GIN trigram index on label — built manually for fast label search/dashboards. 516K rows; no live code references found in the workspace repos (candidate for cleanup or formalization).
donto_entity_embedding383KFingerprint embeddings of entity (subject) IRIs derived from label + most salient outgoing statements, so differently-spelled records of the same person land close. Feeds identity CANDIDATES into donto_identity_proposal; never mutates donto_statement. 383K rows. [donto-align/sql/50_entity_embedding.sql]
Reading row counts
Counts are point-in-time estimates from a system under continuous extraction load — treat them as orders of magnitude. Zero-row tables are usually built-and-tested but not yet load-bearing: schema that exists ahead of the workload (multi-context membership, claim frames, value mappings).

core claim model (18)

donto_statement41.8M rows · 10 colsTHE claim ledger (PRD §5): append-only bitemporal quads — subject/predicate + object_iri or object_lit (jsonb), a context FK, valid_time (daterange), tx_time (tstzrange), a flags bitset (polarity etc.) and a generated content_hash for idempotent re-ingestion. Retraction closes tx_time; nothing is ever deleted (I3). [donto/packages/sql/migrations/0001_core.sql]
columntypenullable
statement_iduuidnot null
subjecttextnot null
predicatetextnot null
object_iritext
object_litjsonb
contexttextnot null
tx_timetstzrangenot null
valid_timedaterangenot null
flagssmallintnot null
content_hashbytea
donto_stmt_extraction_level22.6M rows · 5 colsEpistemic-act overlay per statement: quoted | table_read | example_observed | source_generalization | cross_source_inference | model_hypothesis | human_hypothesis | manual_entry | registry_import | adapter_import (Trust Kernel §7.3). [donto/packages/sql/migrations/0100_extraction_level.sql]
columntypenullable
statement_iduuidnot null
leveltextnot null
set_attimestamp with time zonenot null
set_bytext
metadatajsonbnot null
donto_stmt_modality12.6M rows · 5 colsModality overlay: the claim's relationship to the world — descriptive | prescriptive | reconstructed | inferred | elicited | corpus_observed | typological_summary | experimental_result | clinical_observation | legal_holding | archival_metadata (Trust Kernel §7.4). [donto/packages/sql/migrations/0099_statement_modality.sql]
columntypenullable
statement_iduuidnot null
modalitytextnot null
set_attimestamp with time zonenot null
set_bytext
metadatajsonbnot null
donto_predicate970K rows · 17 colsOpen-world predicate registry (PRD §9): any predicate IRI may appear on a statement; unregistered predicates are auto-recorded with status='implicit' on first use in permissive contexts. Carries canonical_of / inverse_of self-FKs and metadata. [donto/packages/sql/migrations/0006_predicate.sql]
columntypenullable
iritextnot null
canonical_oftext
labeltext
descriptiontext
domaintext
range_iritext
range_datatypetext
inverse_oftext
is_symmetricbooleannot null
is_transitivebooleannot null
is_functionalbooleannot null
is_inverse_functionalbooleannot null
card_mininteger
card_maxinteger
registered_bytext
registered_attimestamp with time zonenot null
statustextnot null
donto_argument2K rows · 12 colsTyped argument edges BETWEEN statements — supports / rebuts / undercuts / qualifies / explains / alternative_analysis_of / supersedes … — with strength, agent attribution and bitemporal lifecycle. The judgment layer: claims about claims, and the home of contradiction structure. [donto/packages/sql/migrations/0031_arguments.sql, relations extended in 0091]
columntypenullable
argument_iduuidnot null
source_statement_iduuidnot null
target_statement_iduuidnot null
relationtextnot null
strengthdouble precision
contexttextnot null
agent_iduuid
evidencejsonb
tx_timetstzrangenot null
metadatajsonbnot null
review_statetextnot null
evidence_anchor_idstext[]not null
donto_stmt_hypothesis_only1K rows · 5 colsI1 flag overlay: a hypothesis_only statement may lack evidence but must never reach maturity ≥ E2 nor appear in a public release. [donto/packages/sql/migrations/0089_hypothesis_only_flag.sql]
columntypenullable
statement_iduuidnot null
marked_attimestamp with time zonenot null
marker_agenttext
rationaletext
metadatajsonbnot null
donto_stmt_lineage972 rows · 2 colsLineage overlay on statements: records how a statement was produced (source statement, rule, agent) — the only annotation overlay materialized in Phase 0. [donto/packages/sql/migrations/0001_core.sql]
columntypenullable
statement_iduuidnot null
source_stmtuuidnot null
donto_stmt_confidence587 rows · 10 colsSparse statement-level confidence overlay (kept off donto_statement to avoid rewriting 35M+ rows); multi-valued per statement since 0101, with optional extraction-run FK. [donto/packages/sql/migrations/0038_confidence.sql]
columntypenullable
statement_iduuidnot null
confidencedouble precisionnot null
confidence_sourcetextnot null
run_iduuid
set_attimestamp with time zonenot null
metadatajsonbnot null
calibrated_confidencedouble precision
human_confidencedouble precision
source_reliability_weightdouble precision
confidence_lenstextnot null
donto_stmt_certificate56 rows · 10 colsSelf-describing, machine-checkable justification attached to a statement or derivation result (PRD §18); verified by dontosrv. [donto/packages/sql/migrations/0010_certificate.sql]
columntypenullable
statement_iduuidnot null
kindtextnot null
rule_iritext
inputsuuid[]not null
bodyjsonbnot null
signaturebytea
produced_attimestamp with time zonenot null
verified_attimestamp with time zone
verifiertext
verified_okboolean
donto_predicate_alias53 rows · 5 colsBitemporal predicate alias edges (Alexandria §3.1): the same alias can map to different canonicals at different times (semantic drift), unlike the timeless donto_predicate.canonical_of. [donto/packages/sql/migrations/0020_bitemporal_canonicals.sql]
columntypenullable
alias_iritextnot null
canonical_iritextnot null
valid_timedaterangenot null
registered_bytext
registered_attimestamp with time zonenot null
donto_unit26 rows · 7 colsUnit registry with SI base conversions so shapes and queries can compare values across representations ('60.1%' vs '0.601'). [donto/packages/sql/migrations/0039_units.sql]
columntypenullable
iritextnot null
labeltext
symboltext
dimensiontext
si_basetext
si_factordouble precision
metadatajsonbnot null
donto_retrofit22 rows · 4 colsOverlay marking retroactive assertions (backdated valid_time): enforces explicit valid_time and tx_time = now() — transaction time is audit and can never be backdated. [donto/packages/sql/migrations/0014_retrofit.sql]
columntypenullable
statement_iduuidnot null
retrofit_reasontextnot null
retrofitted_attimestamp with time zonenot null
retrofitted_bytext
donto_datatype7 rows · 4 colsFree-form datatype catalog used by curated-mode validation in later phases. [donto/packages/sql/migrations/0006_predicate.sql]
columntypenullable
iritextnot null
labeltext
descriptiontext
basetext
donto_predicate_managed_namespace5 rows · 4 colsExtensible bypass list for the predicate-minting gate: namespaces listed here skip the free-minting policy check. [donto/packages/sql/migrations/0133_predicate_minting.sql]
columntypenullable
prefixtextnot null
rationaletext
registered_bytextnot null
registered_attimestamp with time zonenot null
donto_prefix5 rows · 2 colsPrefix → expansion table for compact IRIs (ex:, ctx:, donto:, …). [donto/packages/sql/migrations/0006_predicate.sql]
columntypenullable
prefixtextnot null
iritextnot null
donto_literal_canonical0 rows · 13 colsLiteral canonicalization: normalizes values, units and dates to canonical forms for comparison. [donto/packages/sql/migrations/0062_literal_canonical.sql]
columntypenullable
literal_idbigintnot null
datatype_iritextnot null
raw_valuejsonbnot null
raw_lexicaltext
canonical_valuejsonbnot null
canonical_hashbyteanot null
unit_iritext
quantity_sinumeric
precision_jsonjsonbnot null
uncertainty_jsonjsonbnot null
language_tagtext
parser_versiontextnot null
created_txtimestamp with time zonenot null
donto_statement_context0 rows · 5 colsJunction table letting one claim belong to multiple context scopes (source AND hypothesis AND project) beyond the single donto_statement.context column (Trust Kernel §6.4). [donto/packages/sql/migrations/0103_multi_context.sql]
columntypenullable
statement_iduuidnot null
contexttextnot null
roletextnot null
added_attimestamp with time zonenot null
added_bytext
donto_stmt_claim_kind0 rows · 5 colsSparse claim_kind overlay per statement: atomic | frame_summary | absence | identity | alignment | policy | review | validation (Trust Kernel §6.4). [donto/packages/sql/migrations/0104_claim_kind.sql]
columntypenullable
statement_iduuidnot null
claim_kindtextnot null
set_attimestamp with time zonenot null
set_bytext
metadatajsonbnot null

identity & coreference (13)

donto_identity_cluster_cache1K rows · 5 colsCache making donto_identity_resolve(hypothesis, symbol) → cluster representative a single B-tree probe; maintained lazily with manual rebuild. [donto/packages/sql/migrations/0140_identity_cluster_cache.sql]
columntypenullable
hypothesis_idbigintnot null
symbol_idbigintnot null
cluster_repbigintnot null
confidencedouble precision
computed_attimestamp with time zonenot null
donto_identity_proposal208 rows · 11 colsTrust Kernel I8 per-pair identity proposals with hypothesis_kind / method / status enums — richer per-hypothesis structure than the 0061 clustering solutions; fed by the embedding fabric. [donto/packages/sql/migrations/0093_identity_hypothesis_kind.sql]
columntypenullable
proposal_iduuidnot null
hypothesis_kindtextnot null
entity_refstext[]not null
confidencedouble precisionnot null
methodtextnot null
evidence_anchor_idstext[]not null
context_idtext
statustextnot null
created_attimestamp with time zonenot null
created_bytext
metadatajsonbnot null
donto_entity_symbol103 rows · 15 colsOpen-world entity symbol registry: every subject/object IRI gets a row with provenance (and a policy FK); symbols are auto-registered on first use. [donto/packages/sql/migrations/0057_entity_symbol.sql]
columntypenullable
symbol_idbigintnot null
iritextnot null
iri_hashbyteanot null
normalized_labeltext
symbol_kind_hinttext
introduced_txtimestamp with time zonenot null
introduced_by_runuuid
introduced_by_stmtuuid
source_contexttext
statustextnot null
metadatajsonbnot null
entity_kindtext
external_idsjsonbnot null
identity_statustextnot null
policy_idtext
donto_entity_signature100 rows · 11 colsDerived feature profile per symbol used for identity candidate generation (blocking/matching features). [donto/packages/sql/migrations/0059_entity_signature.sql]
columntypenullable
symbol_idbigintnot null
type_distributionjsonbnot null
name_featuresjsonbnot null
temporal_featuresjsonbnot null
place_featuresjsonbnot null
kinship_featuresjsonbnot null
relational_fingerprintjsonbnot null
evidence_summaryjsonbnot null
statement_countintegernot null
signature_hashbytea
updated_txtimestamp with time zonenot null
donto_identity_membership72 rows · 6 colsMembership of symbols in referent clusters per hypothesis, with posterior probability and membership_reason jsonb. [donto/packages/sql/migrations/0061_identity_hypothesis.sql]
columntypenullable
hypothesis_idbigintnot null
referent_idbigintnot null
symbol_idbigintnot null
posteriordouble precisionnot null
membership_reasonjsonbnot null
tx_timetstzrangenot null
donto_entity_alias56 rows · 7 colsCross-system entity identity: maps the different identifiers the same entity has in different systems (distinct from predicate canonicals and statement SameMeaning). [donto/packages/sql/migrations/0042_entity_aliases.sql]
columntypenullable
alias_iritextnot null
canonical_iritextnot null
systemtext
confidencedouble precision
registered_bytext
registered_attimestamp with time zonenot null
metadatajsonbnot null
donto_identity_edge53 rows · 13 colsPairwise identity evidence between entity symbols: relation enum, confidence ∈ [0,1], method (trigram, embedding, neural, human, import, rule), evidence_json, bitemporal valid/tx time; CHECK left < right. [donto/packages/sql/migrations/0060_identity_edge.sql]
columntypenullable
edge_idbigintnot null
left_symbol_idbigintnot null
right_symbol_idbigintnot null
relationdonto_identity_relationnot null
confidencedouble precisionnot null
methodtextnot null
model_versiontext
evidence_jsonjsonbnot null
explanationtext
contexttext
valid_timedaterange
tx_timetstzrangenot null
created_by_agenttext
donto_mention43 rows · 9 colsA span identified as referring to an entity, event, quantity or other typed referent — the observation layer between raw spans and resolved entities. [donto/packages/sql/migrations/0036_mentions.sql]
columntypenullable
mention_iduuidnot null
span_iduuidnot null
mention_typetextnot null
entity_iritext
candidate_iristext[]
confidencedouble precision
run_iduuid
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_coref_member14 rows · 3 colsMembership of mentions in coref clusters, with an is_representative flag. [donto/packages/sql/migrations/0036_mentions.sql]
columntypenullable
cluster_iduuidnot null
mention_iduuidnot null
is_representativebooleannot null
donto_coref_cluster7 rows · 7 colsCoreference clusters of mentions within one document revision, optionally resolved to an entity IRI, with confidence and producing run. [donto/packages/sql/migrations/0036_mentions.sql]
columntypenullable
cluster_iduuidnot null
revision_iduuidnot null
resolved_iritext
confidencedouble precision
run_iduuid
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_identity_hypothesis3 rows · 12 colsVersioned clustering SOLUTIONS over identity edges (strict / likely / exploratory) with a supersedes chain — identity is a hypothesis, never a merge. [donto/packages/sql/migrations/0061_identity_hypothesis.sql, extended 0109]
columntypenullable
hypothesis_idbigintnot null
nametextnot null
descriptiontext
policy_jsonjsonbnot null
threshold_samedouble precisionnot null
threshold_distinctdouble precisionnot null
created_txtimestamp with time zonenot null
supersedesbigint
statustextnot null
methodtextnot null
authoritytext
provenance_proposal_iduuid
donto_entity_label0 rows · 9 colsMultilingual label overlay: one row per observed (entity, label, language, script) tuple; donto_entity_symbol.normalized_label stays the canonical search label. [donto/packages/sql/migrations/0108_entity_extension.sql]
columntypenullable
label_idbigintnot null
symbol_idbigintnot null
labeltextnot null
languagetext
scripttext
label_statustextnot null
source_iduuid
confidencedouble precision
created_attimestamp with time zonenot null
donto_entity_mention0 rows · 11 colsEach occurrence of an entity symbol in a document/span/extraction run — the per-occurrence observation layer for identity work. [donto/packages/sql/migrations/0058_entity_mention.sql]
columntypenullable
mention_idbigintnot null
symbol_idbigintnot null
document_iduuid
revision_iduuid
span_iduuid
extraction_run_iduuid
surface_texttext
normalized_texttext
mention_type_hinttext
confidencedouble precision
tx_timetstzrangenot null

contexts & scoping (9)

donto_context67K rows · 9 colsThe context tree (PRD §7): every statement belongs to a context (named graph) with kind, single parent self-FK, label and metadata. ~67K live contexts. [donto/packages/sql/migrations/0001_core.sql]
columntypenullable
iritextnot null
kindtextnot null
parenttext
labeltext
metadatajsonbnot null
modetextnot null
created_attimestamp with time zonenot null
closed_attimestamp with time zone
created_bytext
donto_snapshot_member97 rows · 2 colsStatement membership of a snapshot (snapshot_iri, statement_id). [donto/packages/sql/migrations/0007_snapshot.sql]
columntypenullable
snapshot_iritextnot null
statement_iduuidnot null
donto_context_env88 rows · 5 colsOpen (key, literal) environment/bias overlay on contexts — location, climate_band, speaker_demographic, dialect, observation_device are all legal keys (Alexandria §3.7). [donto/packages/sql/migrations/0022_context_env.sql]
columntypenullable
contexttextnot null
keytextnot null
valuejsonbnot null
set_bytext
set_attimestamp with time zonenot null
donto_snapshot31 rows · 5 colsSnapshot registry (PRD §8): a context of kind=snapshot plus a frozen set of statement_ids visible at creation time — reads scoped to it ignore later retraction. [donto/packages/sql/migrations/0007_snapshot.sql]
columntypenullable
iritextnot null
base_scopejsonbnot null
captured_tx_timetimestamp with time zonenot null
member_countintegernot null
notetext
donto_query_clause26 rows · 7 colsRegistry of DontoQL v2 query clause kinds with metadata, read by the donto_query_clauses() helper. Created as donto_query_clause_v1000 in 0115, renamed in 0117. [donto/packages/sql/migrations/0115_query_v2_metadata.sql]
columntypenullable
clause_nametextnot null
clause_kindtextnot null
descriptiontextnot null
accepts_argsbooleannot null
introduced_intextnot null
deprecated_intext
metadatajsonbnot null
donto_scope_preset13 rows · 4 colsNamed scope presets: name → JSON scope descriptor interpreted by donto_resolve_scope; five canonical presets seeded, apps can register more. [donto/packages/sql/migrations/0005_presets.sql]
columntypenullable
nametextnot null
scopejsonbnot null
descriptiontext
created_attimestamp with time zonenot null
donto_context_parent0 rows · 4 colsJunction table giving a context additional parents beyond its single parent column (Trust Kernel §6.6 multi-parent scopes — e.g. a hypothesis context inside both a project and a release-view). [donto/packages/sql/migrations/0107_context_multi_parent.sql]
columntypenullable
contexttextnot null
parent_contexttextnot null
parent_roletextnot null
added_attimestamp with time zonenot null
donto_dataset_release0 rows · 18 colsTrust Kernel I10: a release is a reproducible VIEW, not an exported file — named query + policy report + source/transformation/checksum manifests + reproducibility contract. [donto/packages/sql/migrations/0094_dataset_release.sql]
columntypenullable
release_iduuidnot null
release_nametextnot null
release_versiontext
query_specjsonbnot null
scope_descriptiontext
output_formatstext[]not null
policy_reportjsonbnot null
source_manifestjsonbnot null
transformation_manifestjsonbnot null
loss_reportjsonbnot null
checksumsjsonbnot null
citation_metadatajsonbnot null
reproducibility_statustextnot null
visibilitytextnot null
created_attimestamp with time zonenot null
created_bytextnot null
sealed_attimestamp with time zone
metadatajsonbnot null
donto_release_artifact0 rows · 9 colsOne concrete output file (single format) belonging to a dataset release. [donto/packages/sql/migrations/0094_dataset_release.sql]
columntypenullable
artifact_iduuidnot null
release_iduuidnot null
formattextnot null
storage_uritextnot null
byte_sizebigint
sha256bytea
record_countbigint
redaction_summaryjsonbnot null
created_attimestamp with time zonenot null

evidence & documents (15)

donto_revision_line8.3M rows · 6 colsPer-line index of revision bodies (line text + byte offset) so the evidence tracer can substring-match small lines instead of whole bodies (~100× cheaper) and hit a b-tree for exact full-line matches. 8.3M rows. [donto/packages/sql/migrations/0127_trace_lines.sql]
columntypenullable
line_idbigintnot null
revision_iduuidnot null
line_nointegernot null
line_offsetintegernot null
line_lenintegernot null
line_texttextnot null
donto_trace_log2.3M rows · 13 colsLog of evidence-span trace attempts: hashed surface text searched for, the discovered location if any, and the match method/strength (exact, normalized, …). 2.3M rows. [donto/packages/sql/migrations/0126_trace.sql]
columntypenullable
trace_iduuidnot null
statement_iduuidnot null
surface_text_hashbyteanot null
surface_text_lenintegernot null
revision_iduuid
span_iduuid
start_offsetinteger
end_offsetinteger
match_typetextnot null
confidencedouble precision
candidate_countinteger
trace_runtext
traced_attimestamp with time zonenot null
donto_span998K rows · 9 colsStandoff spans over document revisions, modeled on W3C Web Annotation selectors (TextPosition/XPath/Css/Fragment). The anchoring layer between documents and annotations/statements; ~998K rows. [donto/packages/sql/migrations/0025_spans.sql]
columntypenullable
span_iduuidnot null
revision_iduuidnot null
span_typetextnot null
start_offsetinteger
end_offsetinteger
selectorjsonb
surface_texttext
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_disambiguation_log340K rows · 7 colsAppend-only log of evidence-span disambiguation decisions — which candidate span/document was chosen for a statement and by what preference rules (content-addressed blob IRIs beat re-namings, shortest label, stable tiebreak). [donto/packages/sql/migrations/0129_disambiguate.sql]
columntypenullable
disamb_iduuidnot null
statement_iduuidnot null
chosen_span_iduuidnot null
alternatesintegernot null
methodtextnot null
scorenumeric
disambiguated_attimestamp with time zonenot null
donto_document_revision67K rows · 18 colsImmutable content snapshot of a document (OCR re-runs, re-parses, edits each get a new revision). body text / body_bytes, content_hash for dedup, blob_hash FK into the blob store. [donto/packages/sql/migrations/0024_document_revisions.sql]
columntypenullable
revision_iduuidnot null
document_iduuidnot null
revision_numberintegernot null
bodytext
body_bytesbytea
content_hashbyteanot null
parser_versiontext
metadatajsonbnot null
created_attimestamp with time zonenot null
version_kindtextnot null
quality_metricsjsonbnot null
derived_from_versionsuuid[]not null
created_bytext
blob_hashbytea
body_uritext
body_inlinetext
byte_sizebigint
body_storagetext
donto_document65K rows · 17 colsImmutable document objects — the raw material statements are extracted from; the document IRI is the stable identifier, revisions track content. policy_id is required (FK to policy capsule, 0123). [donto/packages/sql/migrations/0023_documents.sql]
columntypenullable
document_iduuidnot null
iritextnot null
media_typetextnot null
labeltext
source_urltext
languagetext
metadatajsonbnot null
created_attimestamp with time zonenot null
source_kindtext
creatorsjsonbnot null
source_datejsonb
registered_bytext
policy_idtextnot null
content_addresstext
native_formattext
adapter_usedtext
statustextnot null
donto_blob50K rows · 12 colsContent-addressed registry of every unique byte sequence donto stores; sha256 is the PK, bucket_uri points at the canonical GCS home (gs://apex-494316-donto/blobs/), body_storage = inline | bucket | both. Supports CARE-respecting true-deletion via tombstone_attestation_id. [donto/packages/sql/migrations/0125_blob_store.sql, tombstone path 0142]
columntypenullable
sha256byteanot null
byte_sizebigintnot null
mime_typetext
bucket_uritext
first_seen_attimestamp with time zonenot null
metadatajsonbnot null
encryption_key_iritext
tombstoned_attimestamp with time zone
tombstoned_bytext
tombstone_attestation_iduuid
tombstone_authoritytext
tombstone_reasontext
donto_revision_line_progress43K rows · 3 colsResume marker for the revision-line backfill CLI (which revisions have been line-indexed). [donto/packages/sql/migrations/0127_trace_lines.sql]
columntypenullable
revision_iduuidnot null
line_countintegernot null
indexed_attimestamp with time zonenot null
donto_table_cell82 rows · 11 colsIndividual table cells (row/col coordinates, value) anchored to spans, so table_read claims cite the exact cell. [donto/packages/sql/migrations/0035_document_sections.sql]
columntypenullable
cell_iduuidnot null
table_iduuidnot null
row_idxintegernot null
col_idxintegernot null
is_headerbooleannot null
row_headertext
col_headertext
valuetext
value_numericdouble precision
span_iduuid
metadatajsonbnot null
donto_document_section51 rows · 8 colsHierarchical document sections (h1/h2/h3) anchored to spans so extractors can cite structural elements, not just character offsets. [donto/packages/sql/migrations/0035_document_sections.sql]
columntypenullable
section_iduuidnot null
revision_iduuidnot null
parent_section_iduuid
levelsmallintnot null
titletext
ordinalintegernot null
span_iduuid
metadatajsonbnot null
donto_content_region48 rows · 12 colsNon-textual content regions — images, charts, diagrams, code blocks, formulas — within a revision; claims extracted from visual or structured content anchor here. [donto/packages/sql/migrations/0041_content_regions.sql]
columntypenullable
region_iduuidnot null
revision_iduuidnot null
region_typetextnot null
labeltext
captiontext
content_hashbytea
content_bytesbytea
alt_texttext
span_iduuid
section_iduuid
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_table18 rows · 9 colsTables within document revisions, with caption and structure, anchored to a span/section. [donto/packages/sql/migrations/0035_document_sections.sql]
columntypenullable
table_iduuidnot null
revision_iduuidnot null
section_iduuid
labeltext
captiontext
row_countinteger
col_countinteger
span_iduuid
metadatajsonbnot null
donto_anchor_kind13 rows · 6 colsTyped registry of evidence-anchor kinds with per-kind JSON locator schemas (Trust Kernel §6.3) — adds typing discipline over the free-form region jsonb in spans/content regions. [donto/packages/sql/migrations/0097_anchor_kind_registry.sql]
columntypenullable
kindtextnot null
descriptiontextnot null
required_keystext[]not null
optional_keystext[]not null
locator_schema_versiontextnot null
is_activebooleannot null
donto_reference11 rows · 12 colsStructured citations between documents ('[27]'), with the citing section/span and optionally the claim the citation supports. [donto/packages/sql/migrations/0046_references.sql]
columntypenullable
reference_iduuidnot null
citing_docuuidnot null
cited_docuuid
cited_iritext
labeltext
titletext
authorstext
yeartext
venuetext
section_iduuid
span_iduuid
metadatajsonbnot null

extraction pipeline (5)

donto_extract_queue361K rows · 7 colsChunk work queue for donto-agent's BEAM-10M claim extraction: chunk_id, source_uri, status (pending/leased/done/failed), leased_by/leased_at, n_claims, thread. Leased with FOR UPDATE SKIP LOCKED; created ad-hoc by the BEAM workflow, consumed by donto/apps/donto-agent/src/queue.rs.
columntypenullable
chunk_iduuidnot null
statustextnot null
leased_bytext
leased_attimestamp with time zone
n_claimsinteger
enqueued_attimestamp with time zone
threadtext
donto_extraction_run93 rows · 17 colsPROV-O-compatible extraction-run provenance: model identity, parameters, source revision, context, status. Every machine-generated observation should trace to a run. [donto/packages/sql/migrations/0028_extraction_runs.sql]
columntypenullable
run_iduuidnot null
model_idtext
model_versiontext
prompt_hashbytea
prompt_templatetext
chunking_strategytext
temperaturedouble precision
seedbigint
toolchainjsonbnot null
source_revision_iduuid
contexttext
statustextnot null
started_attimestamp with time zonenot null
completed_attimestamp with time zone
statements_emittedbigintnot null
annotations_emittedbigintnot null
metadatajsonbnot null
extraction_ledger41 rows · 12 colsPer-context reconciliation ledger for extraction (the no-shortcuts rule made queryable): facts_extracted, passes, gcs_facts_uri, statements_ingested, statements_verified, anchors_attached, status, error — upserted per context by donto-api's bulletproof pipeline (donto/apps/donto-api/bulletproof.py).
columntypenullable
contexttextnot null
source_idtext
facts_extractedinteger
passesinteger
gcs_facts_uritext
statements_ingestedinteger
statements_verifiedinteger
anchors_attachedinteger
statustext
errortext
created_attimestamp with time zone
updated_attimestamp with time zone
donto_extraction_chunk36 rows · 13 colsPer-chunk record of long-document LLM processing: offsets, token count, prompt/response hashes, latency, status — debugging which part of a document produced a bad extraction. [donto/packages/sql/migrations/0037_extraction_chunks.sql]
columntypenullable
chunk_iduuidnot null
run_iduuidnot null
revision_iduuidnot null
chunk_indexintegernot null
start_offsetinteger
end_offsetinteger
token_countinteger
prompt_hashbytea
response_hashbytea
latency_msinteger
statustextnot null
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_lane_status1 rows · 10 colsShared health/circuit-breaker state, one row per inference lane (hyades, glm, codex, …): state, consecutive failures, probe timing. Written by donto-agent's breaker (apps/donto-agent/src/breaker.rs), read by admin.donto.org/lanes. [donto/packages/sql/migrations/0148_lane_status.sql]
columntypenullable
lanetextnot null
statetextnot null
consecutive_failuresintegernot null
tripsintegernot null
cooldown_untiltimestamp with time zone
last_ok_attimestamp with time zone
last_error_attimestamp with time zone
last_errortext
detailjsonbnot null
updated_attimestamp with time zonenot null

embeddings & alignment (15)

donto_predicate_closure1.0M rows · 5 colsMaterialized flat closure: every predicate IRI → every IRI that should match in alignment-aware queries, with relation type, swap_direction (true = inverse, swap subject/object) and confidence. 1.01M rows; consumed by donto_match_aligned at query time. [donto/packages/sql/migrations/0051_predicate_closure.sql]
columntypenullable
predicate_iritextnot null
equivalent_iritextnot null
relationtextnot null
swap_directionbooleannot null
confidencedouble precisionnot null
donto_predicate_embedding973K rows · 4 colsbge-small (384-dim pgvector, HNSW-indexed) embeddings of predicate IRIs — the semantic candidate path of the alignment engine, maintained continuously beside lexical trigram. 973K rows. Populated/upserted by donto-align/embed.py (additive only).
columntypenullable
iritextnot null
embeddingvectornot null
modeltextnot null
updated_attimestamp with time zonenot null
donto_entity_embedding383K rows · 5 colsFingerprint embeddings of entity (subject) IRIs derived from label + most salient outgoing statements, so differently-spelled records of the same person land close. Feeds identity CANDIDATES into donto_identity_proposal; never mutates donto_statement. 383K rows. [donto-align/sql/50_entity_embedding.sql]
columntypenullable
iritextnot null
embeddingvectornot null
modeltextnot null
sig_hashtextnot null
updated_attimestamp with time zonenot null
donto_embed_queue318K rows · 6 colsWork queue for the distributed embedding fabric: (target, item_id, status pending/leased/done) leased via FOR UPDATE SKIP LOCKED with ~15-min stale-lease reclaim. Driven by donto-embed-coordinator.service (donto-align/embed_coordinator.py, 127.0.0.1:7930, /embed/* API); DDL was applied ad-hoc and is documented in the distributed-embedding PRD.
columntypenullable
targettextnot null
item_idtextnot null
statustextnot null
leased_bytext
leased_attimestamp with time zone
enqueued_attimestamp with time zone
donto_predicate_alignment24K rows · 17 colsFirst-class, bitemporal, append-only predicate-alignment edges replacing simple canonical_of/inverse_of: exact_match, close_match, broad/narrow_match, inverse_of, decomposes_to, has_value_mapping, incompatible_with, … with confidence, method and review_status. [donto/packages/sql/migrations/0048_predicate_alignment.sql, relations v2 0092]
columntypenullable
alignment_iduuidnot null
source_iritextnot null
target_iritextnot null
relationtextnot null
confidencedouble precisionnot null
valid_timedaterangenot null
tx_timetstzrangenot null
run_iduuid
provenancejsonbnot null
registered_bytext
registered_attimestamp with time zonenot null
safe_for_query_expansionbooleannot null
safe_for_exportbooleannot null
safe_for_logical_inferencebooleannot null
scopetext
review_statustextnot null
evidence_anchor_idstext[]not null
donto_align_daemon_tick789 rows · 23 colsAppend-only per-tick history for the alignment daemon (per-step counts), pruned to a rolling retention window by the daemon itself. [donto-align/sql/60_daemon_status.sql]
columntypenullable
tick_pkbigintnot null
hosttext
pidinteger
tick_idbigint
started_attimestamp with time zonenot null
finished_attimestamp with time zone
duration_msinteger
state_endtext
predicates_embeddedintegernot null
entities_embeddedintegernot null
pred_proposedintegernot null
pred_registeredintegernot null
pred_adjudicatedintegernot null
entity_adjudicatedintegernot null
acceptedintegernot null
rejectedintegernot null
rebuiltbooleannot null
closure_rowsinteger
identity_clustersinteger
cap_activebooleannot null
load1double precision
errorsjsonbnot null
notesjsonbnot null
donto_alignment_run215 rows · 13 colsRun tracking for predicate-alignment operations (lexical / embedding / graph / composite / manual / rule); every alignment edge points back via run_id. [donto/packages/sql/migrations/0050_alignment_run.sql]
columntypenullable
run_iduuidnot null
run_typetextnot null
model_idtext
model_versiontext
configjsonbnot null
statustextnot null
source_predicatestext[]
started_attimestamp with time zonenot null
completed_attimestamp with time zone
alignments_proposedintegernot null
alignments_acceptedintegernot null
alignments_rejectedintegernot null
metadatajsonbnot null
donto_align_cycle_log126 rows · 14 colsAppend-only audit log of alignment-engine cycles (run_alignment_cycle.sh): per-cycle counts for embed / propose / closure / identity steps, dry_run flag, status, errors. [donto-align/sql/20_cycle.sql]
columntypenullable
cycle_idbigintnot null
started_attimestamp with time zonenot null
finished_attimestamp with time zone
statustextnot null
embedded_countinteger
align_run_iduuid
aligns_proposedinteger
aligns_registeredinteger
dry_runbooleannot null
closure_rowsinteger
identity_clustersinteger
hosttext
notesjsonbnot null
errortext
donto_predicate_descriptor83 rows · 20 colsRich predicate metadata for candidate matching: label, gloss, domain hints (subject/object types, namespace), example triple, prototypical sentence, cardinality, gloss embedding. [donto/packages/sql/migrations/0049_predicate_descriptor.sql]
columntypenullable
iritextnot null
labeltextnot null
glosstext
subject_typetext
object_typetext
domaintext
example_subjecttext
example_objecttext
source_sentencetext
cardinalitytext
embedding_modeltext
embeddingfloat4[]
metadatajsonbnot null
updated_attimestamp with time zonenot null
minting_statustextnot null
minting_decision_attimestamp with time zone
minting_decision_bytext
nearest_existing_at_mintjsonbnot null
source_schematext
definitiontext
donto_vector81 rows · 8 colsThe original embedding layer (pre-pgvector): float4[] vectors over statements, documents, spans and annotations for portability; superseded in practice by the pgvector tables (donto_predicate_embedding / donto_entity_embedding / donto_x_memory_chunk_embedding). [donto/packages/sql/migrations/0033_vectors.sql]
columntypenullable
vector_iduuidnot null
subject_typetextnot null
subject_iduuidnot null
model_idtextnot null
model_versiontext
dimensionsintegernot null
embeddingfloat4[]not null
created_attimestamp with time zonenot null
donto_canonical_shadow52 rows · 10 colsMaterialized shadow quads: the statement ledger with every predicate rewritten to canonical form and entity IRIs resolved through aliases, letting read paths skip alignment expansion when callers want canonicalized data. [donto/packages/sql/migrations/0053_canonical_shadow.sql]
columntypenullable
shadow_iduuidnot null
statement_iduuidnot null
canonical_predicatetextnot null
canonical_subjecttextnot null
canonical_object_iritext
canonical_object_litjsonb
alignment_iduuid
confidencedouble precisionnot null
tx_timetstzrangenot null
created_attimestamp with time zonenot null
donto_embed_error_report24 rows · 6 colsError/diagnostic reports posted by remote embed workers to the coordinator: worker_id, kind, message, detail jsonb. Written by POST /embed/report in donto-align/embed_coordinator.py; DDL applied ad-hoc.
columntypenullable
idbigintnot null
worker_idtextnot null
kindtextnot null
messagetext
detailjsonb
created_attimestamp with time zonenot null
donto_align_cursor1 rows · 5 colsPersisted forward-scanning watermark for the continuous alignment sweep: last_iri = highest predicate IRI processed; each cycle advances past the no-match prefix and wraps to '' at the end of the predicate space. Additive, never deleted (I3). [donto-align/sql/40_align_cursor.sql]
columntypenullable
cursor_nametextnot null
last_iritextnot null
updated_attimestamp with time zonenot null
wrapsbigintnot null
notesjsonbnot null
donto_align_daemon_status1 rows · 38 colsSINGLETON heartbeat row (id = TRUE) UPSERTed by the continuous alignment daemon every tick — pure observability, never read to drive behavior. [donto-align/sql/60_daemon_status.sql]
columntypenullable
idbooleannot null
pidinteger
hosttext
started_attimestamp with time zone
last_tick_attimestamp with time zone
last_tick_idbigint
last_finished_attimestamp with time zone
statetextnot null
last_duration_msinteger
backlog_unembedded_predicatesbigint
backlog_unembedded_entitiesbigint
backlog_pred_candidatesbigint
backlog_identity_candidatesbigint
total_ticksbigintnot null
total_predicates_embeddedbigintnot null
total_entities_embeddedbigintnot null
total_pred_proposedbigintnot null
total_pred_registeredbigintnot null
total_pred_adjudicatedbigintnot null
total_entity_adjudicatedbigintnot null
total_acceptedbigintnot null
total_rejectedbigintnot null
total_rebuildsbigintnot null
cap_untiltimestamp with time zone
cap_reasontext
glm_calls_this_windowintegernot null
glm_window_startedtimestamp with time zone
last_rebuild_attimestamp with time zone
accepted_since_rebuildbigintnot null
last_errortext
last_error_attimestamp with time zone
configjsonbnot null
updated_attimestamp with time zonenot null
heartbeat_interval_sinteger
next_tick_expected_attimestamp with time zone
consecutive_db_failuresintegernot null
probe_errorsjsonbnot null
self_load_contribdouble precision
donto_alignment_value_mapping0 rows · 7 colsPer-value mapping rows for has_value_mapping alignments — predicates that align but with non-identical value spaces (e.g. a 1–4 coding vs a binary feature). [donto/packages/sql/migrations/0092_alignment_relations_v2.sql]
columntypenullable
mapping_idbigintnot null
alignment_iduuidnot null
left_valuetextnot null
right_valuetextnot null
confidencedouble precisionnot null
notestext
created_attimestamp with time zonenot null

memory overlay (donto_x_*) (9)

donto_x_memory_record1.5M rows · 11 colsOne row per unit of memory, anchored to a substrate primary key — root_statement (atomic), root_frame (compound) or root_context (episodic chunk) — plus holder_iri/session_iri recall scoping. 1.46M rows (BEAM-10M episodic chunks dominate). [donto-memory/migrations/0001_memory_overlays.sql]
columntypenullable
record_iduuidnot null
record_iritextnot null
module_iritextnot null
root_statementuuid
root_frameuuid
root_contexttext
holder_iritext
session_iritext
expected_policy_iritext
tx_timetstzrangenot null
metadatajsonbnot null
donto_x_memory_chunk_fts1.3M rows · 6 colsDenormalized (statement_id, holder_iri, session_iri, tsv) per LIVE episodic chunk so the planner can bitmap-AND the GIN(tsv) index with holder/session filters — built after corpus-wide OR-of-words FTS timed out (the 0% smoke run, 2026-06-09). 1.34M rows. [donto-memory/migrations/0004_chunk_fts.sql]
columntypenullable
statement_iduuidnot null
record_iritextnot null
holder_iritext
session_iritext
tsvtsvectornot null
updated_attimestamp with time zonenot null
donto_x_memory_chunk_embedding171K rows · 7 colspgvector bge-small (384-dim) embeddings per episodic-chunk statement — the vector arm of hybrid recall; joins upper(tx_time) IS NULL so retracted chunks are never selected; sig_hash skips re-embedding unchanged chunks. 171K rows. [donto-memory/migrations/0003_chunk_embeddings.sql]
columntypenullable
statement_iduuidnot null
record_iritextnot null
embeddingvectornot null
modeltextnot null
sig_hashtextnot null
updated_attimestamp with time zonenot null
holder_iritext
donto_x_memory_job_log33K rows · 19 colsOne row per /memorize, /memorize/batch, /recall, /ingest call with full request, response, model usage and elapsed time; powers the /jobs observability page. [donto-memory/migrations/0002_job_log.sql]
columntypenullable
job_iduuidnot null
consumer_iritextnot null
created_attimestamp with time zonenot null
endpointtextnot null
holdertext
session_idtext
status_codeintegernot null
elapsed_msbigintnot null
requestjsonbnot null
responsejsonbnot null
facts_extractedinteger
facts_ingestedinteger
rows_returnedinteger
modeltext
prompt_tokensinteger
completion_tokensinteger
total_tokensinteger
errortext
tx_timetstzrangenot null
donto_x_memory_access25K rows · 9 colsAppend-only access events per memory record (recall hits etc.); every row is a timestamped event, never updated or retracted. [donto-memory/migrations/0001_memory_overlays.sql]
columntypenullable
access_iduuidnot null
record_iduuidnot null
consumer_iritextnot null
actor_iritextnot null
query_hashtext
access_kindtextnot null
rankinteger
scoredouble precision
tx_timetstzrangenot null
donto_x_memory_state24K rows · 11 colsBitemporal derived recall state per record — salience decays, recall counts grow; the current state is the row with upper_inf(tx_time). [donto-memory/migrations/0001_memory_overlays.sql]
columntypenullable
state_iduuidnot null
record_iduuidnot null
consumer_iritextnot null
saliencedouble precisionnot null
recall_countbigintnot null
last_accessed_attimestamp with time zone
last_modified_attimestamp with time zone
consolidated_attimestamp with time zone
next_review_attimestamp with time zone
decay_clockinterval
tx_timetstzrangenot null
donto_x_memory_reconsolidation_queue22K rows · 11 colsSleep-path work items: the worker claims available_at <= now() rows (claimed_at/claimed_by) and marks completed_at; idempotent re-queue on (record_id, reason). [donto-memory/migrations/0001_memory_overlays.sql]
columntypenullable
queue_iduuidnot null
record_iduuidnot null
consumer_iritextnot null
reasontextnot null
prioritydouble precisionnot null
available_attimestamp with time zonenot null
claimed_attimestamp with time zone
claimed_bytext
completed_attimestamp with time zone
payloadjsonbnot null
tx_timetstzrangenot null
donto_overlay_registry6 rows · 10 colsSubstrate-side registry ADMITTING consumer overlay tables (the donto_x_* pattern): each registered overlay must follow bitemporal discipline, reference at least one substrate PK, and must NOT use ON DELETE CASCADE against core tables. [donto/packages/sql/migrations/0132_overlay_registry.sql]
columntypenullable
overlay_iritextnot null
consumer_iritextnot null
table_nametextnot null
owns_keytextnot null
policy_inheritstextnot null
fixed_policy_iritext
bitemporalbooleannot null
descriptiontext
registered_bytextnot null
registered_attimestamp with time zonenot null
donto_x_memory_module3 rows · 12 colsdonto-memory module registry: one row per memory module per consumer, carrying tx_time so the substrate overlay lint accepts it as bitemporal; anchored to the substrate via consumer_iri FK → donto_context. [donto-memory/migrations/0001_memory_overlays.sql]
columntypenullable
module_iritextnot null
consumer_iritextnot null
formtextnot null
functiontextnot null
versiontextnot null
labeltext
descriptiontext
configjsonbnot null
enabledbooleannot null
created_attimestamp with time zonenot null
modified_attimestamp with time zonenot null
tx_timetstzrangenot null

frames & events (8)

donto_frame_type43 rows · 8 colsRegistry of the canonical frame-type vocabulary: the 18 language-pilot frame types (PRD §13.4) plus cross-domain types (medical, legal, scientific, identity); more added in 0124. [donto/packages/sql/migrations/0116_frame_type_registry.sql]
columntypenullable
frame_typetextnot null
domaintextnot null
descriptiontextnot null
required_rolestext[]not null
optional_rolestext[]not null
schema_versiontextnot null
is_activebooleannot null
metadatajsonbnot null
donto_event_frame39 rows · 7 colsIndex of minted blank-node event frames (donto:frame/<uuid>) created when a binary predicate is decomposed into an n-ary event with role triples. [donto/packages/sql/migrations/0054_event_frames.sql]
columntypenullable
frame_iduuidnot null
frame_iritextnot null
frame_typetextnot null
source_predicatetextnot null
contexttextnot null
tx_timetstzrangenot null
created_attimestamp with time zonenot null
donto_temporal_expression25 rows · 11 colsParsed temporal expressions linked to spans — bridges raw text ('last quarter', 'circa 1850') to normalized date ranges usable in valid_time queries. [donto/packages/sql/migrations/0040_temporal_expressions.sql]
columntypenullable
expression_iduuidnot null
span_iduuidnot null
raw_texttextnot null
resolved_fromdate
resolved_todate
resolutiontextnot null
reference_datedate
confidencedouble precision
run_iduuid
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_claim_frame0 rows · 11 colsTrust Kernel §6.5 structured n-ary claim frames with typed, indexed roles — successor to ad-hoc event-frame role triples; carries primary_context and a required policy FK. [donto/packages/sql/migrations/0105_claim_frame.sql]
columntypenullable
frame_iduuidnot null
frame_typetextnot null
frame_schema_versiontextnot null
primary_contexttextnot null
policy_idtext
labeltext
constraintsjsonbnot null
created_attimestamp with time zonenot null
created_bytext
statustextnot null
metadatajsonbnot null
donto_decomposition_template0 rows · 5 colsDeclares a source predicate's preferred frame_type and role-predicate mapping (jsonb) for decomposition into event frames. [donto/packages/sql/migrations/0054_event_frames.sql]
columntypenullable
template_iduuidnot null
source_predicatetextnot null
frame_typetextnot null
role_predicatesjsonbnot null
registered_attimestamp with time zonenot null
donto_frame_role0 rows · 10 colsOne (frame, role-name, value) tuple with optional evidence anchors and ranking; roles are indexed so cross-frame queries ('which cells fill GENDER=feminine?') are first-class. [donto/packages/sql/migrations/0106_frame_role.sql]
columntypenullable
role_idbigintnot null
frame_iduuidnot null
roletextnot null
value_kindtextnot null
value_reftext
value_literaljsonb
evidence_anchor_idstext[]not null
rankinteger
notestext
created_attimestamp with time zonenot null
donto_temporal_relation0 rows · 9 colsTemporal relations between events using Allen's 13 interval relations stored as a bitset (before=1, meets=2, overlaps=4, …, finished_by=4096). [donto/packages/sql/migrations/0064_temporal_relation.sql]
columntypenullable
relation_idbigintnot null
left_event_iritextnot null
right_event_iritextnot null
allen_bitsetintegernot null
modalitytextnot null
confidencedouble precisionnot null
evidence_jsonjsonbnot null
contexttext
tx_timetstzrangenot null
donto_time_expression0 rows · 16 colsEDTF-compatible temporal expressions with precision, uncertainty and probability models — the richer successor to 0040. [donto/packages/sql/migrations/0063_time_expression.sql]
columntypenullable
time_expr_idbigintnot null
raw_texttext
edtftext
earliest_startdate
latest_startdate
earliest_enddate
latest_enddate
canonical_rangedaterange
graintextnot null
is_uncertainbooleannot null
is_approximatebooleannot null
probability_modeljsonbnot null
anchor_event_iritext
calendartextnot null
parser_versiontextnot null
created_txtimestamp with time zonenot null

annotations & linguistics (3)

donto_annotation280 rows · 10 colsOne machine observation: (span, space, feature, value [+ value_detail jsonb, confidence, run_id]) — POS tags, NER labels etc. attached to standoff spans. [donto/packages/sql/migrations/0026_annotations.sql]
columntypenullable
annotation_iduuidnot null
span_iduuidnot null
space_iduuidnot null
featuretextnot null
valuetext
value_detailjsonb
confidencedouble precision
run_iduuid
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_annotation_space168 rows · 7 colsNamed feature namespaces (Universal Dependencies POS, NER labels, morphological features) providing stable vocabularies for machine-generated observations. [donto/packages/sql/migrations/0026_annotations.sql]
columntypenullable
space_iduuidnot null
iritextnot null
labeltext
feature_nstext
versiontext
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_annotation_edge40 rows · 7 colsStructural linguistic relations between annotations: dependency arcs, coreference links, argument structure, discourse/rhetorical relations — within or across spaces. [donto/packages/sql/migrations/0027_annotation_edges.sql]
columntypenullable
edge_iduuidnot null
source_annotation_iduuidnot null
target_annotation_iduuidnot null
space_iduuidnot null
relationtextnot null
metadatajsonbnot null
created_attimestamp with time zonenot null

policy & access (Trust Kernel) (7)

donto_access_assignment47K rows · 8 colsAssigns a policy capsule to a target object; a target may carry multiple assignments (source-level + project-level) resolved by inheritance_rule. [donto/packages/sql/migrations/0111_policy_capsule.sql]
columntypenullable
assignment_iduuidnot null
target_kindtextnot null
target_idtextnot null
policy_iritextnot null
assigned_bytextnot null
assigned_attimestamp with time zonenot null
valid_timedaterangenot null
notestext
donto_effective_policy_cache47K rows · 5 colsCache of computed effective policy actions per target: donto_effective_actions() probes the cache first and falls through to the live computation (donto_effective_actions_live) on miss; backfilled at migration time. [donto/packages/sql/migrations/0136_effective_policy_cache.sql]
columntypenullable
target_kindtextnot null
target_idtextnot null
effective_actionsjsonbnot null
sourcetextnot null
computed_attimestamp with time zonenot null
donto_agent400 rows · 7 colsRegistry of actors that produce and consume statements: humans, LLMs, rule engines, extractors, validators, curators (§8). [donto/packages/sql/migrations/0030_agents.sql]
columntypenullable
agent_iduuidnot null
iritextnot null
labeltext
agent_typetextnot null
model_idtext
metadatajsonbnot null
created_attimestamp with time zonenot null
donto_agent_context338 rows · 4 colsBinds agents to contexts with roles — owner (full control), contributor (assert/retract), reader (advisory read-only) — defining workspace ownership. [donto/packages/sql/migrations/0030_agents.sql]
columntypenullable
agent_iduuidnot null
contexttextnot null
roletextnot null
bound_attimestamp with time zonenot null
donto_policy_capsule12 rows · 13 colsTHE governance object (M0 deliverable): a policy capsule governs source access, derived data, export, model use and release eligibility via fifteen distinct allowed actions (read_metadata, read_content, quote, view_anchor_location, extract_claims, train, export, …). [donto/packages/sql/migrations/0111_policy_capsule.sql]
columntypenullable
policy_iduuidnot null
policy_iritextnot null
policy_kindtextnot null
authority_refstext[]not null
allowed_actionsjsonbnot null
inheritance_ruletextnot null
expirytimestamp with time zone
revocation_statustextnot null
human_readable_summarytext
labelsjsonbnot null
created_attimestamp with time zonenot null
created_bytextnot null
metadatajsonbnot null
donto_attestation4 rows · 14 colsProof that a holder agent may perform certain actions under a policy, granted by an issuer agent for a purpose, with optional expiry; revocation is immediate, no grandfathering (§6.13). Also anchors blob tombstones. [donto/packages/sql/migrations/0112_attestation.sql]
columntypenullable
attestation_iduuidnot null
holder_agenttextnot null
issuer_agenttextnot null
policy_iritextnot null
actionstext[]not null
purposetextnot null
issued_attimestamp with time zonenot null
expires_attimestamp with time zone
revoked_attimestamp with time zone
revoked_bytext
revocation_reasontext
credential_reftext
rationaletextnot null
metadatajsonbnot null
donto_review_decision0 rows · 12 colsStructured, citable, per-target reviewer decisions with rationale (FR-012) — the upgrade from folksonomic reactions to real review workflow. [donto/packages/sql/migrations/0114_review_decision.sql]
columntypenullable
review_iduuidnot null
target_typetextnot null
target_idtextnot null
decisiontextnot null
reviewer_idtextnot null
review_contexttext
rationaletextnot null
confidencedouble precision
related_decision_iduuid
policy_iritext
created_attimestamp with time zonenot null
metadatajsonbnot null

inference & validation (12)

donto_stmt_shape_reports6K rows · 3 colsPer-statement attachment of statements to a shape-report run (sparse overlay). [donto/packages/sql/migrations/0008_shape.sql]
columntypenullable
statement_iduuidnot null
report_idbigintnot null
severitytextnot null
donto_stmt_shape_annotation1K rows · 7 colsDirect, self-contained per-statement shape-violation annotation (the Alexandria-PRD per-statement view, vs the batch run log). [donto/packages/sql/migrations/0015_shape_annotations.sql]
columntypenullable
annotation_idbigintnot null
statement_iduuidnot null
shape_iritextnot null
verdicttextnot null
contexttextnot null
detailjsonb
tx_timetstzrangenot null
donto_proof_obligation1K rows · 12 colsStructured work items emitted when extraction cannot resolve coreference, temporal grounding, source support or normalization — what must be done to promote a raw claim (§10; kinds extended in 0113). [donto/packages/sql/migrations/0032_proof_obligations.sql]
columntypenullable
obligation_iduuidnot null
statement_iduuid
obligation_typetextnot null
statustextnot null
prioritysmallintnot null
contexttextnot null
assigned_agentuuid
resolved_byuuid
detailjsonb
created_attimestamp with time zonenot null
resolved_attimestamp with time zone
metadatajsonbnot null
donto_derivation_report184 rows · 9 colsRun log of derivation-rule evaluations: rule IRI, inputs fingerprint, scope, target context, emitted count, duration, optional certificate. [donto/packages/sql/migrations/0009_rule.sql]
columntypenullable
report_idbigintnot null
rule_iritextnot null
inputs_fingerprintbyteanot null
scopejsonbnot null
into_ctxtextnot null
emitted_countbigintnot null
duration_msinteger
certificatejsonb
evaluated_attimestamp with time zonenot null
donto_shape_report123 rows · 8 colsCached shape-validation reports keyed by (shape, scope_fingerprint) — one row per evaluation run. [donto/packages/sql/migrations/0008_shape.sql]
columntypenullable
report_idbigintnot null
shape_iritextnot null
scope_fingerprintbyteanot null
scopejsonbnot null
reportjsonbnot null
focus_countbigintnot null
violation_countbigintnot null
evaluated_attimestamp with time zonenot null
donto_class30 rows · 6 colsMinimal upper-ontology class hierarchy for type reasoning (class_iri with parent_class self-FK). [donto/packages/sql/migrations/0066_class_hierarchy.sql]
columntypenullable
class_iritextnot null
labeltext
descriptiontext
parent_classtext
disjoint_withtext[]
metadatajsonbnot null
donto_shape10 rows · 7 colsRegistered shape IRIs (the shapes themselves are Lean-authored; the Lean engine produces reports via dontosrv). [donto/packages/sql/migrations/0008_shape.sql]
columntypenullable
iritextnot null
labeltext
descriptiontext
severitytextnot null
body_kindtextnot null
bodyjsonb
registered_attimestamp with time zonenot null
donto_rule6 rows · 8 colsPhase 6 derivation-rule registry (PRD §17): rule IRI → definition; rules derive new statements into a target context. [donto/packages/sql/migrations/0009_rule.sql]
columntypenullable
iritextnot null
labeltext
descriptiontext
body_kindtextnot null
bodyjsonb
output_ctxtext
modetextnot null
registered_attimestamp with time zonenot null
donto_inference_rule5 rows · 12 colsRule engine v2 rule definitions (named donto_inference_rule to avoid collision with 0009's donto_rule). [donto/packages/sql/migrations/0067_rule_engine.sql]
columntypenullable
rule_idbigintnot null
nametextnot null
rule_classtextnot null
descriptiontext
body_astjsonbnot null
head_templatejsonbnot null
confidence_policyjsonbnot null
temporal_policyjsonbnot null
materialize_policyjsonbnot null
priorityintegernot null
enabledbooleannot null
tx_timetstzrangenot null
donto_inference_derivation0 rows · 9 colsRecords each derived statement with its rule, premise statement_ids (uuid[]), the identity/predicate edges used, confidence and explanation_json — full provenance for derived claims. [donto/packages/sql/migrations/0067_rule_engine.sql]
columntypenullable
derivation_idbigintnot null
derived_statement_iduuidnot null
rule_idbigintnot null
premise_statement_idsuuid[]not null
identity_edgesint8[]not null
predicate_edgesint8[]not null
confidencedouble precisionnot null
explanation_jsonjsonbnot null
created_txtimestamp with time zonenot null
donto_property_constraint0 rows · 9 colsFormal domain, range, cardinality and behavioral constraints per predicate (functional, symmetric, …). [donto/packages/sql/migrations/0065_property_constraint.sql]
columntypenullable
constraint_idbigintnot null
predicate_iritextnot null
constraint_kindtextnot null
value_jsonjsonbnot null
severitytextnot null
applies_context_kindtext
valid_timedaterange
tx_timetstzrangenot null
metadatajsonbnot null
donto_rule_agenda0 rows · 11 colsIncremental-evaluation agenda: triggers (new_statement, retracted_statement, new_alignment, new_identity_edge, signature_change, rule_change, manual) with priority and status lifecycle. [donto/packages/sql/migrations/0067_rule_engine.sql]
columntypenullable
agenda_idbigintnot null
trigger_typetextnot null
changed_statement_iduuid
affected_predicatetext
affected_symbol_idbigint
affected_contexttext
valid_windowdaterange
priorityintegernot null
statustextnot null
created_txtimestamp with time zonenot null
processed_txtimestamp with time zone

ops & telemetry (5)

donto_audit11.3M rows · 6 colsAppend-only audit log of substrate operations (PRD §22): op name, actor, target, details jsonb. 11.3M rows. [donto/packages/sql/migrations/0001_core.sql]
columntypenullable
audit_idbigintnot null
attimestamp with time zonenot null
actortext
actiontextnot null
statement_iduuid
detailjsonbnot null
donto_paraconsistency_density136K rows · 9 colsPre-aggregated contradiction-density telemetry (per scope/predicate bucket) so the O(N²) polarity-conflict view from 0098 is NEVER queried at runtime; top-K views read only from here. 136K rows. [donto/packages/sql/migrations/0120_paraconsistency_density.sql]
columntypenullable
subjecttextnot null
predicatetextnot null
window_starttimestamp with time zonenot null
window_endtimestamp with time zonenot null
distinct_polaritiesintegernot null
distinct_contextsintegernot null
conflict_scoredouble precisionnot null
sample_statementsuuid[]not null
computed_attimestamp with time zonenot null
donto_detector_finding127K rows · 7 colsSole sink for telemetry-analysis detector findings: target_kind discriminates rule / predicate_pair / _self (detector self-metric); severity info|warning|critical; retention policy added in 0122. 127K rows. [donto/packages/sql/migrations/0119_detector_finding.sql]
columntypenullable
finding_idbigintnot null
detector_iritextnot null
target_kindtextnot null
target_idtextnot null
severitytextnot null
observed_attimestamp with time zonenot null
payloadjsonbnot null
donto_event_log274 rows · 9 colsAppend-only event log extending I3 discipline to NON-statement objects (alignments, identity hypotheses, policies, attestations, reviews — otherwise mutated in place); chained via prior_event_id. [donto/packages/sql/migrations/0090_event_log.sql]
columntypenullable
event_idbigintnot null
target_kindtextnot null
target_idtextnot null
event_typetextnot null
occurred_attimestamp with time zonenot null
actortextnot null
payloadjsonbnot null
prior_event_idbigint
request_idtext
donto_migration56 rows · 4 colsThe migration ledger: durable tracking of applied migrations (earlier if-not-exists migrations were backfilled idempotently). [donto/packages/sql/migrations/0004_migrations.sql]
columntypenullable
nametextnot null
applied_attimestamp with time zonenot null
sha256byteanot null
notestext

misc / ad-hoc (8)

donto_label_cache516K rows · 3 colsAd-hoc materialized subject → label cache (subject, label, stmt_count) with a GIN trigram index on label — built manually for fast label search/dashboards. 516K rows; no live code references found in the workspace repos (candidate for cleanup or formalization).
columntypenullable
subjecttext
labeltext
stmt_countbigint
v_arguments1 rows · 1 colsSingle-column, single-row snapshot debris: a count of argument edges captured via CREATE TABLE AS during an ad-hoc epistemic-sweep session (value 1066). Not referenced by live code; the name collides with view-style naming but relkind is a plain table.
columntypenullable
countbigint
v_derivations1 rows · 1 colsSingle-row snapshot debris: derivation count from an ad-hoc epistemic-sweep session (value 664). Not referenced by live code.
columntypenullable
countbigint
v_obligations1 rows · 1 colsSingle-row snapshot debris: open proof-obligation count from an ad-hoc epistemic-sweep session (value 0). Not referenced by live code.
columntypenullable
countbigint
v_pred_active1 rows · 1 colsSingle-row snapshot debris: active-predicate count from an ad-hoc epistemic-sweep session (value 399). Not referenced by live code.
columntypenullable
countbigint
v_shapes1 rows · 1 colsSingle-row snapshot debris: registered-shape count from an ad-hoc epistemic-sweep session (value 10). Not referenced by live code.
columntypenullable
countbigint
v_stmt_count1 rows · 1 colsSingle-row snapshot debris: approximate statement count (reltuples, value 34,028,300) from an ad-hoc epistemic-sweep session. Not referenced by live code.
columntypenullable
reltuplesbigint
v_violations1 rows · 1 colsSingle-row snapshot debris: open shape-violation count from an ad-hoc epistemic-sweep session (value 871). Not referenced by live code.
columntypenullable
countbigint

This reference is regenerated from the live database — if it drifts from what you see in psql, the database wins and the page needs a refresh.