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
| table | rows | purpose |
|---|---|---|
| donto_statement | 41.8M | THE 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_level | 22.6M | Epistemic-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_modality | 12.6M | Modality 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_audit | 11.3M | Append-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_line | 8.3M | Per-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_link | 2.6M | The 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_log | 2.3M | Log 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_record | 1.5M | One 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_fts | 1.3M | Denormalized (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_closure | 1.0M | Materialized 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_span | 998K | Standoff 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_embedding | 973K | bge-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_predicate | 970K | Open-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_cache | 516K | Ad-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_embedding | 383K | Fingerprint 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| subject | text | not null |
| predicate | text | not null |
| object_iri | text | |
| object_lit | jsonb | |
| context | text | not null |
| tx_time | tstzrange | not null |
| valid_time | daterange | not null |
| flags | smallint | not null |
| content_hash | bytea |
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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| level | text | not null |
| set_at | timestamp with time zone | not null |
| set_by | text | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| modality | text | not null |
| set_at | timestamp with time zone | not null |
| set_by | text | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| canonical_of | text | |
| label | text | |
| description | text | |
| domain | text | |
| range_iri | text | |
| range_datatype | text | |
| inverse_of | text | |
| is_symmetric | boolean | not null |
| is_transitive | boolean | not null |
| is_functional | boolean | not null |
| is_inverse_functional | boolean | not null |
| card_min | integer | |
| card_max | integer | |
| registered_by | text | |
| registered_at | timestamp with time zone | not null |
| status | text | not 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]
| column | type | nullable |
|---|---|---|
| argument_id | uuid | not null |
| source_statement_id | uuid | not null |
| target_statement_id | uuid | not null |
| relation | text | not null |
| strength | double precision | |
| context | text | not null |
| agent_id | uuid | |
| evidence | jsonb | |
| tx_time | tstzrange | not null |
| metadata | jsonb | not null |
| review_state | text | not null |
| evidence_anchor_ids | text[] | 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| marked_at | timestamp with time zone | not null |
| marker_agent | text | |
| rationale | text | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| source_stmt | uuid | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| confidence | double precision | not null |
| confidence_source | text | not null |
| run_id | uuid | |
| set_at | timestamp with time zone | not null |
| metadata | jsonb | not null |
| calibrated_confidence | double precision | |
| human_confidence | double precision | |
| source_reliability_weight | double precision | |
| confidence_lens | text | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| kind | text | not null |
| rule_iri | text | |
| inputs | uuid[] | not null |
| body | jsonb | not null |
| signature | bytea | |
| produced_at | timestamp with time zone | not null |
| verified_at | timestamp with time zone | |
| verifier | text | |
| verified_ok | boolean |
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]
| column | type | nullable |
|---|---|---|
| alias_iri | text | not null |
| canonical_iri | text | not null |
| valid_time | daterange | not null |
| registered_by | text | |
| registered_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| label | text | |
| symbol | text | |
| dimension | text | |
| si_base | text | |
| si_factor | double precision | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| retrofit_reason | text | not null |
| retrofitted_at | timestamp with time zone | not null |
| retrofitted_by | text |
donto_datatype7 rows · 4 colsFree-form datatype catalog used by curated-mode validation in later phases. [donto/packages/sql/migrations/0006_predicate.sql]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| label | text | |
| description | text | |
| base | text |
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]
| column | type | nullable |
|---|---|---|
| prefix | text | not null |
| rationale | text | |
| registered_by | text | not null |
| registered_at | timestamp with time zone | not null |
donto_prefix5 rows · 2 colsPrefix → expansion table for compact IRIs (ex:, ctx:, donto:, …). [donto/packages/sql/migrations/0006_predicate.sql]
| column | type | nullable |
|---|---|---|
| prefix | text | not null |
| iri | text | not 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]
| column | type | nullable |
|---|---|---|
| literal_id | bigint | not null |
| datatype_iri | text | not null |
| raw_value | jsonb | not null |
| raw_lexical | text | |
| canonical_value | jsonb | not null |
| canonical_hash | bytea | not null |
| unit_iri | text | |
| quantity_si | numeric | |
| precision_json | jsonb | not null |
| uncertainty_json | jsonb | not null |
| language_tag | text | |
| parser_version | text | not null |
| created_tx | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| context | text | not null |
| role | text | not null |
| added_at | timestamp with time zone | not null |
| added_by | text |
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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| claim_kind | text | not null |
| set_at | timestamp with time zone | not null |
| set_by | text | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| hypothesis_id | bigint | not null |
| symbol_id | bigint | not null |
| cluster_rep | bigint | not null |
| confidence | double precision | |
| computed_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| proposal_id | uuid | not null |
| hypothesis_kind | text | not null |
| entity_refs | text[] | not null |
| confidence | double precision | not null |
| method | text | not null |
| evidence_anchor_ids | text[] | not null |
| context_id | text | |
| status | text | not null |
| created_at | timestamp with time zone | not null |
| created_by | text | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| symbol_id | bigint | not null |
| iri | text | not null |
| iri_hash | bytea | not null |
| normalized_label | text | |
| symbol_kind_hint | text | |
| introduced_tx | timestamp with time zone | not null |
| introduced_by_run | uuid | |
| introduced_by_stmt | uuid | |
| source_context | text | |
| status | text | not null |
| metadata | jsonb | not null |
| entity_kind | text | |
| external_ids | jsonb | not null |
| identity_status | text | not null |
| policy_id | text |
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]
| column | type | nullable |
|---|---|---|
| symbol_id | bigint | not null |
| type_distribution | jsonb | not null |
| name_features | jsonb | not null |
| temporal_features | jsonb | not null |
| place_features | jsonb | not null |
| kinship_features | jsonb | not null |
| relational_fingerprint | jsonb | not null |
| evidence_summary | jsonb | not null |
| statement_count | integer | not null |
| signature_hash | bytea | |
| updated_tx | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| hypothesis_id | bigint | not null |
| referent_id | bigint | not null |
| symbol_id | bigint | not null |
| posterior | double precision | not null |
| membership_reason | jsonb | not null |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| alias_iri | text | not null |
| canonical_iri | text | not null |
| system | text | |
| confidence | double precision | |
| registered_by | text | |
| registered_at | timestamp with time zone | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| edge_id | bigint | not null |
| left_symbol_id | bigint | not null |
| right_symbol_id | bigint | not null |
| relation | donto_identity_relation | not null |
| confidence | double precision | not null |
| method | text | not null |
| model_version | text | |
| evidence_json | jsonb | not null |
| explanation | text | |
| context | text | |
| valid_time | daterange | |
| tx_time | tstzrange | not null |
| created_by_agent | text |
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]
| column | type | nullable |
|---|---|---|
| mention_id | uuid | not null |
| span_id | uuid | not null |
| mention_type | text | not null |
| entity_iri | text | |
| candidate_iris | text[] | |
| confidence | double precision | |
| run_id | uuid | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not null |
donto_coref_member14 rows · 3 colsMembership of mentions in coref clusters, with an is_representative flag. [donto/packages/sql/migrations/0036_mentions.sql]
| column | type | nullable |
|---|---|---|
| cluster_id | uuid | not null |
| mention_id | uuid | not null |
| is_representative | boolean | not 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]
| column | type | nullable |
|---|---|---|
| cluster_id | uuid | not null |
| revision_id | uuid | not null |
| resolved_iri | text | |
| confidence | double precision | |
| run_id | uuid | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| hypothesis_id | bigint | not null |
| name | text | not null |
| description | text | |
| policy_json | jsonb | not null |
| threshold_same | double precision | not null |
| threshold_distinct | double precision | not null |
| created_tx | timestamp with time zone | not null |
| supersedes | bigint | |
| status | text | not null |
| method | text | not null |
| authority | text | |
| provenance_proposal_id | uuid |
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]
| column | type | nullable |
|---|---|---|
| label_id | bigint | not null |
| symbol_id | bigint | not null |
| label | text | not null |
| language | text | |
| script | text | |
| label_status | text | not null |
| source_id | uuid | |
| confidence | double precision | |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| mention_id | bigint | not null |
| symbol_id | bigint | not null |
| document_id | uuid | |
| revision_id | uuid | |
| span_id | uuid | |
| extraction_run_id | uuid | |
| surface_text | text | |
| normalized_text | text | |
| mention_type_hint | text | |
| confidence | double precision | |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| kind | text | not null |
| parent | text | |
| label | text | |
| metadata | jsonb | not null |
| mode | text | not null |
| created_at | timestamp with time zone | not null |
| closed_at | timestamp with time zone | |
| created_by | text |
donto_snapshot_member97 rows · 2 colsStatement membership of a snapshot (snapshot_iri, statement_id). [donto/packages/sql/migrations/0007_snapshot.sql]
| column | type | nullable |
|---|---|---|
| snapshot_iri | text | not null |
| statement_id | uuid | not 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]
| column | type | nullable |
|---|---|---|
| context | text | not null |
| key | text | not null |
| value | jsonb | not null |
| set_by | text | |
| set_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| base_scope | jsonb | not null |
| captured_tx_time | timestamp with time zone | not null |
| member_count | integer | not null |
| note | text |
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]
| column | type | nullable |
|---|---|---|
| clause_name | text | not null |
| clause_kind | text | not null |
| description | text | not null |
| accepts_args | boolean | not null |
| introduced_in | text | not null |
| deprecated_in | text | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| name | text | not null |
| scope | jsonb | not null |
| description | text | |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| context | text | not null |
| parent_context | text | not null |
| parent_role | text | not null |
| added_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| release_id | uuid | not null |
| release_name | text | not null |
| release_version | text | |
| query_spec | jsonb | not null |
| scope_description | text | |
| output_formats | text[] | not null |
| policy_report | jsonb | not null |
| source_manifest | jsonb | not null |
| transformation_manifest | jsonb | not null |
| loss_report | jsonb | not null |
| checksums | jsonb | not null |
| citation_metadata | jsonb | not null |
| reproducibility_status | text | not null |
| visibility | text | not null |
| created_at | timestamp with time zone | not null |
| created_by | text | not null |
| sealed_at | timestamp with time zone | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| artifact_id | uuid | not null |
| release_id | uuid | not null |
| format | text | not null |
| storage_uri | text | not null |
| byte_size | bigint | |
| sha256 | bytea | |
| record_count | bigint | |
| redaction_summary | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| line_id | bigint | not null |
| revision_id | uuid | not null |
| line_no | integer | not null |
| line_offset | integer | not null |
| line_len | integer | not null |
| line_text | text | not null |
donto_evidence_link2.6M rows · 14 colsThe 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]
| column | type | nullable |
|---|---|---|
| link_id | uuid | not null |
| statement_id | uuid | not null |
| link_type | text | not null |
| target_document_id | uuid | |
| target_revision_id | uuid | |
| target_span_id | uuid | |
| target_annotation_id | uuid | |
| target_run_id | uuid | |
| target_statement_id | uuid | |
| confidence | double precision | |
| context | text | |
| tx_time | tstzrange | not null |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| trace_id | uuid | not null |
| statement_id | uuid | not null |
| surface_text_hash | bytea | not null |
| surface_text_len | integer | not null |
| revision_id | uuid | |
| span_id | uuid | |
| start_offset | integer | |
| end_offset | integer | |
| match_type | text | not null |
| confidence | double precision | |
| candidate_count | integer | |
| trace_run | text | |
| traced_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| span_id | uuid | not null |
| revision_id | uuid | not null |
| span_type | text | not null |
| start_offset | integer | |
| end_offset | integer | |
| selector | jsonb | |
| surface_text | text | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| disamb_id | uuid | not null |
| statement_id | uuid | not null |
| chosen_span_id | uuid | not null |
| alternates | integer | not null |
| method | text | not null |
| score | numeric | |
| disambiguated_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| revision_id | uuid | not null |
| document_id | uuid | not null |
| revision_number | integer | not null |
| body | text | |
| body_bytes | bytea | |
| content_hash | bytea | not null |
| parser_version | text | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not null |
| version_kind | text | not null |
| quality_metrics | jsonb | not null |
| derived_from_versions | uuid[] | not null |
| created_by | text | |
| blob_hash | bytea | |
| body_uri | text | |
| body_inline | text | |
| byte_size | bigint | |
| body_storage | text |
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]
| column | type | nullable |
|---|---|---|
| document_id | uuid | not null |
| iri | text | not null |
| media_type | text | not null |
| label | text | |
| source_url | text | |
| language | text | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not null |
| source_kind | text | |
| creators | jsonb | not null |
| source_date | jsonb | |
| registered_by | text | |
| policy_id | text | not null |
| content_address | text | |
| native_format | text | |
| adapter_used | text | |
| status | text | not 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]
| column | type | nullable |
|---|---|---|
| sha256 | bytea | not null |
| byte_size | bigint | not null |
| mime_type | text | |
| bucket_uri | text | |
| first_seen_at | timestamp with time zone | not null |
| metadata | jsonb | not null |
| encryption_key_iri | text | |
| tombstoned_at | timestamp with time zone | |
| tombstoned_by | text | |
| tombstone_attestation_id | uuid | |
| tombstone_authority | text | |
| tombstone_reason | text |
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]
| column | type | nullable |
|---|---|---|
| revision_id | uuid | not null |
| line_count | integer | not null |
| indexed_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| cell_id | uuid | not null |
| table_id | uuid | not null |
| row_idx | integer | not null |
| col_idx | integer | not null |
| is_header | boolean | not null |
| row_header | text | |
| col_header | text | |
| value | text | |
| value_numeric | double precision | |
| span_id | uuid | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| section_id | uuid | not null |
| revision_id | uuid | not null |
| parent_section_id | uuid | |
| level | smallint | not null |
| title | text | |
| ordinal | integer | not null |
| span_id | uuid | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| region_id | uuid | not null |
| revision_id | uuid | not null |
| region_type | text | not null |
| label | text | |
| caption | text | |
| content_hash | bytea | |
| content_bytes | bytea | |
| alt_text | text | |
| span_id | uuid | |
| section_id | uuid | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| table_id | uuid | not null |
| revision_id | uuid | not null |
| section_id | uuid | |
| label | text | |
| caption | text | |
| row_count | integer | |
| col_count | integer | |
| span_id | uuid | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| kind | text | not null |
| description | text | not null |
| required_keys | text[] | not null |
| optional_keys | text[] | not null |
| locator_schema_version | text | not null |
| is_active | boolean | not 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]
| column | type | nullable |
|---|---|---|
| reference_id | uuid | not null |
| citing_doc | uuid | not null |
| cited_doc | uuid | |
| cited_iri | text | |
| label | text | |
| title | text | |
| authors | text | |
| year | text | |
| venue | text | |
| section_id | uuid | |
| span_id | uuid | |
| metadata | jsonb | not 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.
| column | type | nullable |
|---|---|---|
| chunk_id | uuid | not null |
| status | text | not null |
| leased_by | text | |
| leased_at | timestamp with time zone | |
| n_claims | integer | |
| enqueued_at | timestamp with time zone | |
| thread | text |
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]
| column | type | nullable |
|---|---|---|
| run_id | uuid | not null |
| model_id | text | |
| model_version | text | |
| prompt_hash | bytea | |
| prompt_template | text | |
| chunking_strategy | text | |
| temperature | double precision | |
| seed | bigint | |
| toolchain | jsonb | not null |
| source_revision_id | uuid | |
| context | text | |
| status | text | not null |
| started_at | timestamp with time zone | not null |
| completed_at | timestamp with time zone | |
| statements_emitted | bigint | not null |
| annotations_emitted | bigint | not null |
| metadata | jsonb | not 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).
| column | type | nullable |
|---|---|---|
| context | text | not null |
| source_id | text | |
| facts_extracted | integer | |
| passes | integer | |
| gcs_facts_uri | text | |
| statements_ingested | integer | |
| statements_verified | integer | |
| anchors_attached | integer | |
| status | text | |
| error | text | |
| created_at | timestamp with time zone | |
| updated_at | timestamp 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]
| column | type | nullable |
|---|---|---|
| chunk_id | uuid | not null |
| run_id | uuid | not null |
| revision_id | uuid | not null |
| chunk_index | integer | not null |
| start_offset | integer | |
| end_offset | integer | |
| token_count | integer | |
| prompt_hash | bytea | |
| response_hash | bytea | |
| latency_ms | integer | |
| status | text | not null |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| lane | text | not null |
| state | text | not null |
| consecutive_failures | integer | not null |
| trips | integer | not null |
| cooldown_until | timestamp with time zone | |
| last_ok_at | timestamp with time zone | |
| last_error_at | timestamp with time zone | |
| last_error | text | |
| detail | jsonb | not null |
| updated_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| predicate_iri | text | not null |
| equivalent_iri | text | not null |
| relation | text | not null |
| swap_direction | boolean | not null |
| confidence | double precision | not 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).
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| embedding | vector | not null |
| model | text | not null |
| updated_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| embedding | vector | not null |
| model | text | not null |
| sig_hash | text | not null |
| updated_at | timestamp with time zone | not 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.
| column | type | nullable |
|---|---|---|
| target | text | not null |
| item_id | text | not null |
| status | text | not null |
| leased_by | text | |
| leased_at | timestamp with time zone | |
| enqueued_at | timestamp 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]
| column | type | nullable |
|---|---|---|
| alignment_id | uuid | not null |
| source_iri | text | not null |
| target_iri | text | not null |
| relation | text | not null |
| confidence | double precision | not null |
| valid_time | daterange | not null |
| tx_time | tstzrange | not null |
| run_id | uuid | |
| provenance | jsonb | not null |
| registered_by | text | |
| registered_at | timestamp with time zone | not null |
| safe_for_query_expansion | boolean | not null |
| safe_for_export | boolean | not null |
| safe_for_logical_inference | boolean | not null |
| scope | text | |
| review_status | text | not null |
| evidence_anchor_ids | text[] | 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]
| column | type | nullable |
|---|---|---|
| tick_pk | bigint | not null |
| host | text | |
| pid | integer | |
| tick_id | bigint | |
| started_at | timestamp with time zone | not null |
| finished_at | timestamp with time zone | |
| duration_ms | integer | |
| state_end | text | |
| predicates_embedded | integer | not null |
| entities_embedded | integer | not null |
| pred_proposed | integer | not null |
| pred_registered | integer | not null |
| pred_adjudicated | integer | not null |
| entity_adjudicated | integer | not null |
| accepted | integer | not null |
| rejected | integer | not null |
| rebuilt | boolean | not null |
| closure_rows | integer | |
| identity_clusters | integer | |
| cap_active | boolean | not null |
| load1 | double precision | |
| errors | jsonb | not null |
| notes | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| run_id | uuid | not null |
| run_type | text | not null |
| model_id | text | |
| model_version | text | |
| config | jsonb | not null |
| status | text | not null |
| source_predicates | text[] | |
| started_at | timestamp with time zone | not null |
| completed_at | timestamp with time zone | |
| alignments_proposed | integer | not null |
| alignments_accepted | integer | not null |
| alignments_rejected | integer | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| cycle_id | bigint | not null |
| started_at | timestamp with time zone | not null |
| finished_at | timestamp with time zone | |
| status | text | not null |
| embedded_count | integer | |
| align_run_id | uuid | |
| aligns_proposed | integer | |
| aligns_registered | integer | |
| dry_run | boolean | not null |
| closure_rows | integer | |
| identity_clusters | integer | |
| host | text | |
| notes | jsonb | not null |
| error | text |
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]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| label | text | not null |
| gloss | text | |
| subject_type | text | |
| object_type | text | |
| domain | text | |
| example_subject | text | |
| example_object | text | |
| source_sentence | text | |
| cardinality | text | |
| embedding_model | text | |
| embedding | float4[] | |
| metadata | jsonb | not null |
| updated_at | timestamp with time zone | not null |
| minting_status | text | not null |
| minting_decision_at | timestamp with time zone | |
| minting_decision_by | text | |
| nearest_existing_at_mint | jsonb | not null |
| source_schema | text | |
| definition | text |
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]
| column | type | nullable |
|---|---|---|
| vector_id | uuid | not null |
| subject_type | text | not null |
| subject_id | uuid | not null |
| model_id | text | not null |
| model_version | text | |
| dimensions | integer | not null |
| embedding | float4[] | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| shadow_id | uuid | not null |
| statement_id | uuid | not null |
| canonical_predicate | text | not null |
| canonical_subject | text | not null |
| canonical_object_iri | text | |
| canonical_object_lit | jsonb | |
| alignment_id | uuid | |
| confidence | double precision | not null |
| tx_time | tstzrange | not null |
| created_at | timestamp with time zone | not 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.
| column | type | nullable |
|---|---|---|
| id | bigint | not null |
| worker_id | text | not null |
| kind | text | not null |
| message | text | |
| detail | jsonb | |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| cursor_name | text | not null |
| last_iri | text | not null |
| updated_at | timestamp with time zone | not null |
| wraps | bigint | not null |
| notes | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| id | boolean | not null |
| pid | integer | |
| host | text | |
| started_at | timestamp with time zone | |
| last_tick_at | timestamp with time zone | |
| last_tick_id | bigint | |
| last_finished_at | timestamp with time zone | |
| state | text | not null |
| last_duration_ms | integer | |
| backlog_unembedded_predicates | bigint | |
| backlog_unembedded_entities | bigint | |
| backlog_pred_candidates | bigint | |
| backlog_identity_candidates | bigint | |
| total_ticks | bigint | not null |
| total_predicates_embedded | bigint | not null |
| total_entities_embedded | bigint | not null |
| total_pred_proposed | bigint | not null |
| total_pred_registered | bigint | not null |
| total_pred_adjudicated | bigint | not null |
| total_entity_adjudicated | bigint | not null |
| total_accepted | bigint | not null |
| total_rejected | bigint | not null |
| total_rebuilds | bigint | not null |
| cap_until | timestamp with time zone | |
| cap_reason | text | |
| glm_calls_this_window | integer | not null |
| glm_window_started | timestamp with time zone | |
| last_rebuild_at | timestamp with time zone | |
| accepted_since_rebuild | bigint | not null |
| last_error | text | |
| last_error_at | timestamp with time zone | |
| config | jsonb | not null |
| updated_at | timestamp with time zone | not null |
| heartbeat_interval_s | integer | |
| next_tick_expected_at | timestamp with time zone | |
| consecutive_db_failures | integer | not null |
| probe_errors | jsonb | not null |
| self_load_contrib | double 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]
| column | type | nullable |
|---|---|---|
| mapping_id | bigint | not null |
| alignment_id | uuid | not null |
| left_value | text | not null |
| right_value | text | not null |
| confidence | double precision | not null |
| notes | text | |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| record_id | uuid | not null |
| record_iri | text | not null |
| module_iri | text | not null |
| root_statement | uuid | |
| root_frame | uuid | |
| root_context | text | |
| holder_iri | text | |
| session_iri | text | |
| expected_policy_iri | text | |
| tx_time | tstzrange | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| record_iri | text | not null |
| holder_iri | text | |
| session_iri | text | |
| tsv | tsvector | not null |
| updated_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| record_iri | text | not null |
| embedding | vector | not null |
| model | text | not null |
| sig_hash | text | not null |
| updated_at | timestamp with time zone | not null |
| holder_iri | text |
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]
| column | type | nullable |
|---|---|---|
| job_id | uuid | not null |
| consumer_iri | text | not null |
| created_at | timestamp with time zone | not null |
| endpoint | text | not null |
| holder | text | |
| session_id | text | |
| status_code | integer | not null |
| elapsed_ms | bigint | not null |
| request | jsonb | not null |
| response | jsonb | not null |
| facts_extracted | integer | |
| facts_ingested | integer | |
| rows_returned | integer | |
| model | text | |
| prompt_tokens | integer | |
| completion_tokens | integer | |
| total_tokens | integer | |
| error | text | |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| access_id | uuid | not null |
| record_id | uuid | not null |
| consumer_iri | text | not null |
| actor_iri | text | not null |
| query_hash | text | |
| access_kind | text | not null |
| rank | integer | |
| score | double precision | |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| state_id | uuid | not null |
| record_id | uuid | not null |
| consumer_iri | text | not null |
| salience | double precision | not null |
| recall_count | bigint | not null |
| last_accessed_at | timestamp with time zone | |
| last_modified_at | timestamp with time zone | |
| consolidated_at | timestamp with time zone | |
| next_review_at | timestamp with time zone | |
| decay_clock | interval | |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| queue_id | uuid | not null |
| record_id | uuid | not null |
| consumer_iri | text | not null |
| reason | text | not null |
| priority | double precision | not null |
| available_at | timestamp with time zone | not null |
| claimed_at | timestamp with time zone | |
| claimed_by | text | |
| completed_at | timestamp with time zone | |
| payload | jsonb | not null |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| overlay_iri | text | not null |
| consumer_iri | text | not null |
| table_name | text | not null |
| owns_key | text | not null |
| policy_inherits | text | not null |
| fixed_policy_iri | text | |
| bitemporal | boolean | not null |
| description | text | |
| registered_by | text | not null |
| registered_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| module_iri | text | not null |
| consumer_iri | text | not null |
| form | text | not null |
| function | text | not null |
| version | text | not null |
| label | text | |
| description | text | |
| config | jsonb | not null |
| enabled | boolean | not null |
| created_at | timestamp with time zone | not null |
| modified_at | timestamp with time zone | not null |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| frame_type | text | not null |
| domain | text | not null |
| description | text | not null |
| required_roles | text[] | not null |
| optional_roles | text[] | not null |
| schema_version | text | not null |
| is_active | boolean | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| frame_id | uuid | not null |
| frame_iri | text | not null |
| frame_type | text | not null |
| source_predicate | text | not null |
| context | text | not null |
| tx_time | tstzrange | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| expression_id | uuid | not null |
| span_id | uuid | not null |
| raw_text | text | not null |
| resolved_from | date | |
| resolved_to | date | |
| resolution | text | not null |
| reference_date | date | |
| confidence | double precision | |
| run_id | uuid | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| frame_id | uuid | not null |
| frame_type | text | not null |
| frame_schema_version | text | not null |
| primary_context | text | not null |
| policy_id | text | |
| label | text | |
| constraints | jsonb | not null |
| created_at | timestamp with time zone | not null |
| created_by | text | |
| status | text | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| template_id | uuid | not null |
| source_predicate | text | not null |
| frame_type | text | not null |
| role_predicates | jsonb | not null |
| registered_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| role_id | bigint | not null |
| frame_id | uuid | not null |
| role | text | not null |
| value_kind | text | not null |
| value_ref | text | |
| value_literal | jsonb | |
| evidence_anchor_ids | text[] | not null |
| rank | integer | |
| notes | text | |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| relation_id | bigint | not null |
| left_event_iri | text | not null |
| right_event_iri | text | not null |
| allen_bitset | integer | not null |
| modality | text | not null |
| confidence | double precision | not null |
| evidence_json | jsonb | not null |
| context | text | |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| time_expr_id | bigint | not null |
| raw_text | text | |
| edtf | text | |
| earliest_start | date | |
| latest_start | date | |
| earliest_end | date | |
| latest_end | date | |
| canonical_range | daterange | |
| grain | text | not null |
| is_uncertain | boolean | not null |
| is_approximate | boolean | not null |
| probability_model | jsonb | not null |
| anchor_event_iri | text | |
| calendar | text | not null |
| parser_version | text | not null |
| created_tx | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| annotation_id | uuid | not null |
| span_id | uuid | not null |
| space_id | uuid | not null |
| feature | text | not null |
| value | text | |
| value_detail | jsonb | |
| confidence | double precision | |
| run_id | uuid | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| space_id | uuid | not null |
| iri | text | not null |
| label | text | |
| feature_ns | text | |
| version | text | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| edge_id | uuid | not null |
| source_annotation_id | uuid | not null |
| target_annotation_id | uuid | not null |
| space_id | uuid | not null |
| relation | text | not null |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| assignment_id | uuid | not null |
| target_kind | text | not null |
| target_id | text | not null |
| policy_iri | text | not null |
| assigned_by | text | not null |
| assigned_at | timestamp with time zone | not null |
| valid_time | daterange | not null |
| notes | text |
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]
| column | type | nullable |
|---|---|---|
| target_kind | text | not null |
| target_id | text | not null |
| effective_actions | jsonb | not null |
| source | text | not null |
| computed_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| agent_id | uuid | not null |
| iri | text | not null |
| label | text | |
| agent_type | text | not null |
| model_id | text | |
| metadata | jsonb | not null |
| created_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| agent_id | uuid | not null |
| context | text | not null |
| role | text | not null |
| bound_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| policy_id | uuid | not null |
| policy_iri | text | not null |
| policy_kind | text | not null |
| authority_refs | text[] | not null |
| allowed_actions | jsonb | not null |
| inheritance_rule | text | not null |
| expiry | timestamp with time zone | |
| revocation_status | text | not null |
| human_readable_summary | text | |
| labels | jsonb | not null |
| created_at | timestamp with time zone | not null |
| created_by | text | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| attestation_id | uuid | not null |
| holder_agent | text | not null |
| issuer_agent | text | not null |
| policy_iri | text | not null |
| actions | text[] | not null |
| purpose | text | not null |
| issued_at | timestamp with time zone | not null |
| expires_at | timestamp with time zone | |
| revoked_at | timestamp with time zone | |
| revoked_by | text | |
| revocation_reason | text | |
| credential_ref | text | |
| rationale | text | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| review_id | uuid | not null |
| target_type | text | not null |
| target_id | text | not null |
| decision | text | not null |
| reviewer_id | text | not null |
| review_context | text | |
| rationale | text | not null |
| confidence | double precision | |
| related_decision_id | uuid | |
| policy_iri | text | |
| created_at | timestamp with time zone | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| statement_id | uuid | not null |
| report_id | bigint | not null |
| severity | text | not 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]
| column | type | nullable |
|---|---|---|
| annotation_id | bigint | not null |
| statement_id | uuid | not null |
| shape_iri | text | not null |
| verdict | text | not null |
| context | text | not null |
| detail | jsonb | |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| obligation_id | uuid | not null |
| statement_id | uuid | |
| obligation_type | text | not null |
| status | text | not null |
| priority | smallint | not null |
| context | text | not null |
| assigned_agent | uuid | |
| resolved_by | uuid | |
| detail | jsonb | |
| created_at | timestamp with time zone | not null |
| resolved_at | timestamp with time zone | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| report_id | bigint | not null |
| rule_iri | text | not null |
| inputs_fingerprint | bytea | not null |
| scope | jsonb | not null |
| into_ctx | text | not null |
| emitted_count | bigint | not null |
| duration_ms | integer | |
| certificate | jsonb | |
| evaluated_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| report_id | bigint | not null |
| shape_iri | text | not null |
| scope_fingerprint | bytea | not null |
| scope | jsonb | not null |
| report | jsonb | not null |
| focus_count | bigint | not null |
| violation_count | bigint | not null |
| evaluated_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| class_iri | text | not null |
| label | text | |
| description | text | |
| parent_class | text | |
| disjoint_with | text[] | |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| label | text | |
| description | text | |
| severity | text | not null |
| body_kind | text | not null |
| body | jsonb | |
| registered_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| iri | text | not null |
| label | text | |
| description | text | |
| body_kind | text | not null |
| body | jsonb | |
| output_ctx | text | |
| mode | text | not null |
| registered_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| rule_id | bigint | not null |
| name | text | not null |
| rule_class | text | not null |
| description | text | |
| body_ast | jsonb | not null |
| head_template | jsonb | not null |
| confidence_policy | jsonb | not null |
| temporal_policy | jsonb | not null |
| materialize_policy | jsonb | not null |
| priority | integer | not null |
| enabled | boolean | not null |
| tx_time | tstzrange | not 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]
| column | type | nullable |
|---|---|---|
| derivation_id | bigint | not null |
| derived_statement_id | uuid | not null |
| rule_id | bigint | not null |
| premise_statement_ids | uuid[] | not null |
| identity_edges | int8[] | not null |
| predicate_edges | int8[] | not null |
| confidence | double precision | not null |
| explanation_json | jsonb | not null |
| created_tx | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| constraint_id | bigint | not null |
| predicate_iri | text | not null |
| constraint_kind | text | not null |
| value_json | jsonb | not null |
| severity | text | not null |
| applies_context_kind | text | |
| valid_time | daterange | |
| tx_time | tstzrange | not null |
| metadata | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| agenda_id | bigint | not null |
| trigger_type | text | not null |
| changed_statement_id | uuid | |
| affected_predicate | text | |
| affected_symbol_id | bigint | |
| affected_context | text | |
| valid_window | daterange | |
| priority | integer | not null |
| status | text | not null |
| created_tx | timestamp with time zone | not null |
| processed_tx | timestamp 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]
| column | type | nullable |
|---|---|---|
| audit_id | bigint | not null |
| at | timestamp with time zone | not null |
| actor | text | |
| action | text | not null |
| statement_id | uuid | |
| detail | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| subject | text | not null |
| predicate | text | not null |
| window_start | timestamp with time zone | not null |
| window_end | timestamp with time zone | not null |
| distinct_polarities | integer | not null |
| distinct_contexts | integer | not null |
| conflict_score | double precision | not null |
| sample_statements | uuid[] | not null |
| computed_at | timestamp with time zone | not 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]
| column | type | nullable |
|---|---|---|
| finding_id | bigint | not null |
| detector_iri | text | not null |
| target_kind | text | not null |
| target_id | text | not null |
| severity | text | not null |
| observed_at | timestamp with time zone | not null |
| payload | jsonb | not 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]
| column | type | nullable |
|---|---|---|
| event_id | bigint | not null |
| target_kind | text | not null |
| target_id | text | not null |
| event_type | text | not null |
| occurred_at | timestamp with time zone | not null |
| actor | text | not null |
| payload | jsonb | not null |
| prior_event_id | bigint | |
| request_id | text |
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]
| column | type | nullable |
|---|---|---|
| name | text | not null |
| applied_at | timestamp with time zone | not null |
| sha256 | bytea | not null |
| notes | text |
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).
| column | type | nullable |
|---|---|---|
| subject | text | |
| label | text | |
| stmt_count | bigint |
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.
| column | type | nullable |
|---|---|---|
| count | bigint |
v_derivations1 rows · 1 colsSingle-row snapshot debris: derivation count from an ad-hoc epistemic-sweep session (value 664). Not referenced by live code.
| column | type | nullable |
|---|---|---|
| count | bigint |
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.
| column | type | nullable |
|---|---|---|
| count | bigint |
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.
| column | type | nullable |
|---|---|---|
| count | bigint |
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.
| column | type | nullable |
|---|---|---|
| count | bigint |
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.
| column | type | nullable |
|---|---|---|
| reltuples | bigint |
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.
| column | type | nullable |
|---|---|---|
| count | bigint |
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.