The Rust excerpts below omit serialization annotations and selected supporting
fields. They are not request templates: API JSON generally flattens
BaseFields
into the record, serializes links as record ID strings, and uses snake-case enum
values. Use the corresponding endpoint schema when constructing a request.
RecordId System
Every record in Meerkat Recall is identified by aRecordId — a typed Meerkat Recall record identifier with the format table:uuid (for example, entity:550e8400-e29b-41d4-a716-446655440000).
RecordId::new_v4(table) (random) or RecordId::new_v7(table) (time-ordered). The table component is drawn from the TableName enum, which lists every core table in the system.
TableName Enum
The derived view and watch records are described in
Living Wiki architecture. Cold work history keeps
the original public IDs; see work queue history.
Link<T>
Link<T> is a typed foreign-key reference to another record. The generic parameter T indicates the expected target type for compile-time safety, while the underlying storage is a RecordId.
link.id() to read the underlying RecordId, or link.into_id() to consume it.
BaseFields
Every core record embedsBaseFields, which carries identity, multi-tenancy, timestamps, provenance, security, and subject scoping.
Soft-delete marks a record without removing its stored representation.
Ordinary reads filter deleted records; explicit history, recovery, or
include_deleted reads may expose them when authorized. Retention and purge
are separate operations. Do not use a soft-delete marker as a data-erasure
guarantee.Provenance
Security (ABAC Envelope)
Knowledge Graph Records
Entity
Core nodes in the knowledge graph. Entity types are freeform lowercase strings (e.g.,person, org, topic, app).
status becomes Merged and redirect_to points to the surviving entity.
Rel
Entity-to-entity relationships. Thesubject (“from”) and object (“to”) are both entity links.
ClaimStatus tracks the lifecycle from initial candidate through promotion to approved status. ValidityWindow models temporal claims with optional start/end bounds.
Attribute
Entity-to-literal claims. LikeRel, but the object is a typed Literal value rather than an entity.
Document Pipeline Records
Doc
Top-level source-backed document record ingested into Meerkat Recall. For media-backed ingest,text is the renderer-owned canonical searchable projection rather than the raw caller payload.
DocRevision
Immutable normalized text snapshot produced by a renderer plugin. For multimodal docs, the revision also carries the authoritative render manifest that maps spans back to attachments and time ranges. If rendering improves, a new revision is created and the old one is superseded.DocNode
Structural nodes over a revision — paragraphs, sections, chunks, summaries, etc.Extraction and Truth Maintenance
Assertion
Evidence-bearing claims extracted from documents by the LLM extraction pipeline. Assertions preserve the original mention strings alongside their resolution status and optional resolved entity links. Staged artifact validation/commit resolves or creates graph records; later truth maintenance reconciles competing graph claims. Aresolved assertion is not a guarantee that its claim is true.
TruthSlot
The derived current selection for a claim slot. Eachcurrent_values entry
references a graph claim by claim_id, with its confidence, status, and evidence.
It does not contain the literal value itself. Read that claim to obtain its
value. A slot can have several accepted values, be stale, or require more
evidence; it is not an independent source of evidence.
Source Provenance
Source
Tracks where data came from — emails, web pages, chat messages, device captures, manual entries, etc.Work Scheduler Records
The durable work scheduler uses a DAG-based queue with lease-based execution. Each pipeline stage producesWorkItem records that are claimed, executed, and produce artifacts.
WorkItem
WorkRun
A single execution attempt of a work item.WorkArtifact
Staged output produced by a work run. Goes through validation before being committed to canonical tables.Configuration and Governance
SpaceConfig
Per-space configuration controlling embedding provider selection and extraction behavior.PredicateRegistry
Canonical predicate definitions with semantic configuration that drives truth maintenance behavior.PredicateSemantics controls temporal model, cardinality, conflict policy, recency basis, promotion thresholds, and alias confidence thresholds.
PredicateAlias
Maps raw extraction strings to canonical predicates with confidence-scored aliases.System Records
Event
First-class domain timeline events with temporal precision and evidence links.SystemEvent
Outbox events for reliable change-data streaming. Each carries a monotonic sequence number.AuditLog
Audit entries record supported mutations with optional before/after snapshots. The record type alone does not guarantee that every internal mutation emits an entry. Consult the mutation handler and audit revert contract when building an administrative recovery workflow.All struct definitions above are simplified for documentation purposes.
Derive macros,
impl blocks, and serde attributes are omitted.
See the actual source in crates/types/src/records/ for the full definitions.