Versioned history

Translation for es is not available yet; showing English source (translated_from_revision=2026-05-07).

Every change creates a new version instead of overwriting prior state. Earlier snapshots remain queryable, so you can answer what the system believed at any point.

Before vs after

Before: a row update erases the old value unless you added custom history tables. After: each correction is appended as a new observation, so historical state is preserved by default.

# Current snapshot
neotoma entities search --query "Ana Rivera" --entity-type contact

# Historical lineage
neotoma observations list --entity-id <entity_id>

This aligns with event-sourcing principles: the observation log is authoritative, snapshots are derived views. See

deterministic state evolution

,

auditable change log

, and

human inspectability

.