Skip to content

v0.9.0

@opticsWolf opticsWolf tagged this 07 Aug 06:34
Concepts cross the archive boundary, in both directions.

Concepts archive and rehydrate. Archivability is reachability, not expiry
(D-128): retired, both clocks before the cutoff, and named by no surviving hot
link. Two schema rungs make it possible -- v8 -> v9 gates the concepts delete
guard on an archive session (D-129), v9 -> v10 gates the concepts insert log
trigger on the same marker (D-131), because the fold resolves by seq_id and a
log row written at rehydration would outrank the concept's own retirement.

Entity data crosses the boundary column for column, content included;
analytics_annotations and embeddings_* are disposed of as recomputable (D-130).
Rehydration is a physical move back and mints no transaction-time facts, so
reconstruct(t) is bit-identical across the round trip.

The hot-side archive marker is refused outright rather than deferred (D-132):
the richer error message it was wanted for is already free from the hot log.
Rehydration measured at 3.71 ms fixed and ~74 us per concept, linear to n=1,000.

The binding exposes rehydrate and asserts the round-trip equality from Python
(D-133).

Upgrading from 0.7.0 climbs three rungs including the concepts rebuild; see
docs/releases/v0.9.0.md, which carries the measured cost.
Assets 2
Loading