Skip to content

Aura Memory v1.57.0 — Crash-Safe Temporal Memory & Governed Contradictions.

Latest

Choose a tag to compare

@teolex2020 teolex2020 released this 18 Jul 15:30

Aura Memory v1.5.7 makes persistent agent memory safer, more explainable, and more resistant to stale or contradictory knowledge.

Highlights

Crash-safe temporal memory versioning

Aura now treats fact replacement as an atomic operation. The old version’s validity boundary, the new version, and their causal links are written together as one durable journal transaction.

If a process crashes during the write, Aura keeps the previous fact valid instead of leaving a broken superseded_by="pending" chain.

Legacy interrupted supersessions are automatically repaired on startup:

an existing successor is linked correctly;

if no successor was committed, the previous version is reopened;

incomplete or corrupted atomic journal tails are safely ignored.

Historical recall

Records can now carry explicit temporal validity:

valid_from

valid_until

superseded_at

The new recall_as_of() API reconstructs which version of a fact was valid at a specific business-time timestamp. Normal recall, search, and context capsules continue to return only currently valid records.

Safer contradiction resolution

Aura no longer forces every contradiction graph into two artificial sides.

A belief remains Unresolved when the conflict contains:

odd contradiction cycles such as A ↔ B ↔ C ↔ A;

multiple independent conflict components;

isolated claims that cannot be assigned to either side;

non-binary conflicts without sufficient directional evidence.

A winner is selected only when the explicit contradiction graph forms one connected bipartite component.

Governed memory promotion

Memory level controls durability—not truth.

Promotion into Domain or Identity is now blocked for records that are contradictory, unstable, temporally inactive, or lack sufficient supporting evidence. Retrieving an old rule no longer makes its evidence appear recent.

This prevents stale policies from becoming permanent simply because they were recalled frequently or had already survived for a long time.

Inspectable recall decisions

explain_recall() now shows both surfaced and suppressed evidence, including:

the selected and rejected hypotheses;

the winning hypothesis and competing score;

temporal rejection reasons;

strength and top-K admission decisions;

suppressed_by_belief_resolution;

a correlation-safe trace_id.

Records from other namespaces or tenants are never exposed in the trace, even by ID.

Persistence reliability

Critical persistence failures are no longer silently discarded in temporal supersession, standalone decay, reflection, shared import, promotion, or namespace moves.

Promotion and namespace migration update live memory only after the corresponding journal write succeeds. Multi-record namespace changes are persisted as one atomic batch.

Compatibility

Existing temporal version chains remain supported. Aura automatically migrates legacy supersession boundaries and repairs incomplete legacy pending markers during startup.

Validation

622 automated tests passed

0 failures

crash and truncated-journal recovery tested

Python 3.12 Windows wheel installation tested

persistence verified across close and reopen

release metadata verified across Rust, Python, and the changelog

Installation

pip install --upgrade aura-memory

Project: https://github.com/teolex2020/aura-memoryPyPI: https://pypi.org/project/aura-memory/