Skip to content

v0.2.0 β€” pin a fact, and it survives restart

Choose a tag to compare

@AetherAI3 AetherAI3 released this 13 Aug 15:13
Immutable release. Only release title and notes can be modified.
859a99d

Pin the handful of things a long-running agent must never lose, and they stay reachable after a restart.

  • Session.pin() β€” a slice that is never faded and never evicted, re-pinned from the pool when the session reopens
  • Retrieval now follows the connected thread rather than isolated nearest neighbours β€” thread recall@8 0.15 β†’ 0.78
  • Long, write-heavy runs no longer pay a full index rebuild on every search

Pinned facts survive a restart

Before this release, a session reopened against an existing pool started with an empty witness β€” every previously pinned slice came back as ordinary content and faded on the first long run. Which is exactly when a durable memory is supposed to prove itself.

from aether_context import Session

# run once, then exit the process entirely
s = Session("ollama/qwen2.5", pool_dir="~/.aether/demo")
s.pin("The API base URL is https://internal.example/v2 β€” never hardcode a region.")
s.close()
# a new process, later
s = Session("ollama/qwen2.5", pool_dir="~/.aether/demo")
s.run("What's our API base URL?")   # the pinned constraint is still resident

Permanence is re-derived from the slices' own tags rather than tracked in a second file that could disagree with them.

Retrieval follows the thread

The MPO context chain links a session's slices into one connected structure. When cosine pulls an entry slice, the chain pulls in the slices most coupled to it β€” widening the working set with the connected thread instead of isolated nearest neighbours. Cosine remains the retrieval mechanism; the chain improves selection.

On by default, deterministic, numpy-only, and fail-soft β€” it degrades to plain cosine. Disable with Session(mpo_chain=False) or --no-mpo-chain.

Reproduce the number yourself:

python -m bench.chain_recall
threads=40 size=5 distractors=400 k=8
  cosine-only thread recall@8: 0.150
  + MPO chain   thread recall@8: 0.775

Also in this release

  • Witness temporal lock-in β€” a freshly paged-in slice carries a short-lived eviction bonus, breaking the evict β†’ cold-miss β†’ re-page flap. Deliberately small: it beats comparable-salience churn but never overrides a genuinely load-bearing slice, and it affects eviction ordering only.
  • Incremental HNSW inserts β€” the index adds rows in O(new) instead of rebuilding the whole graph in O(N) on every search-after-add. Removes the quadratic insert cost on long runs.
  • --index tiered no longer makes a silent capability claim β€” it was always falling back to flat, and now says so.
  • CI is green across all 16 checks on Linux, Windows and macOS for Python 3.10–3.13.

Install

Install straight from GitHub β€” this is the supported path today:

pip install git+https://github.com/AetherAI3/Unlimited-Context-LLM.git@v0.2.0

aether-context is not on PyPI yet, so pip install aether-context will not work. Requires Python 3.10+. Apache-2.0. Full detail in CHANGELOG.md.