# Exact identity + versioned membership

Why generation-bound membership and exact hydration are the primitive beneath History, deterministic diffs, structural sharing, checkpoints and replay.

Status: Implemented in source. Prelaunch; not a live service guarantee.

Reviewed: 2026-10-06.
Backend source: 16f1e66d303a43e245a5cff5c392e9ebd3adf201.
Native toolkit review candidate: fe3df1c237b48d04347b6f159cc49e2f0d830a2c (unmerged).
HTML: /docs/primitives

> Separate which immutable revisions belong to a world from how those exact revisions are hydrated.

## allIds() fixes membership

A bounded day generation names ordered exact revision references. Preserve the returned generation and cursor while paging; a late arrival belongs to a successor generation rather than silently changing the collection being read.

The broader platform reuses this normalized-state idea, but the existing allIds() API keeps its exact History contract rather than becoming a generic dependency endpoint.

## byIds() hydrates exactly what was named

Hydration restores caller order and reports found, unresolved, unavailable and expired positions explicitly. It does not replace an unavailable historical revision with the latest value.

Stable identity plus immutable revisions makes a later diff inspectable: unchanged references can be structurally shared while changed membership becomes an explicit input to reconciliation.

## The method names are not the moat

The leverage comes from the semantics underneath: stable logical identity, immutable revision identity, ordered bounded membership, generation pinning, correction rules, authorization, retention and recovery.

That foundation can support exact checkpoints, replay, State and Context profiling and turn-to-turn change explanations without making probabilistic retrieval the source of operational truth.

[Read State reconciliation](/docs/state)

[See the exact History example](/explore)
