<!--
  Full-page Markdown export (rendered HTML → GFM).
  Source: https://neotoma.io/ar/versioned-history
  Generated: 2026-04-28T13:35:48.689Z
-->
# Versioned history

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](/deterministic-state-evolution), [auditable change log](/auditable-change-log), and [human inspectability](/human-inspectability).