Releases: AetherAI3/Unlimited-Context-LLM
Release list
v0.3.1 - the README the registries actually show
Docs-only release. No runtime change β aether_context is untouched apart from the version string.
It exists because the PyPI and npm project descriptions were rendering the old README with three broken images and eight dead links, and a registry only re-reads the description on upload.
Fixed
- Every link and image in the README is absolute. The three images that lived on GitHub
user-attachmentsare committed underassets/and served fromraw.githubusercontent.com, so they render on GitHub, PyPI and npm alike, and are versioned with the repo.
Added
assets/demo.gifβ a real capturednpx aether-context setup/doctor/statussession against a live Ollama, now the README hero.- A project landing page at https://aetherai3.github.io/Unlimited-Context-LLM/, with Open Graph and Twitter card tags so a shared link unfurls.
Changed
- README rebuilt around the install: it had been at line 310 of 386, below five separate pool/RAM tables that are now one Sizing section. Every caveat kept.
Removed
docs/superpowers/anddocs/plans/β internal build plans and specs for unshipped work. History keeps them.
Also ships the publish-npm.yml YAML fix, tests/test_workflow_yaml.py, the registry badges and the RELEASING.md rewrite that had been sitting in [Unreleased].
Full notes: CHANGELOG.md
v0.3.0 β first release on PyPI and npm
First release published to a package registry. aether-context 0.3.0 is on PyPI and npm, both cut from this commit.
pip install aether-context
aether-context setupnpx aether-context setupAdded
aether-context setup β the guided first run, in three steps: size the pool, check for a local model, then verify the engine with a real encode/retrieve round trip. The verification runs against the mock model in a throwaway directory, so it passes with no daemon, no network and no model pulled, and leaves the pool you just configured empty. --pool N --yes makes it fully non-interactive, so it is safe in a Dockerfile or a CI step.
npm launcher (packages/npm-cli). npx aether-context finds a Python 3.10+ interpreter, builds a private virtualenv under the OS cache directory, installs the matching PyPI release into it, and forwards every argument through. Nothing is written to global site-packages and nothing needs sudo. Zero npm dependencies, published with provenance.
aether_context.ui β the CLI's presentation seam, stdlib only (the core stays numpy-only). Color is emitted only to a real tty and obeys NO_COLOR / FORCE_COLOR / TERM=dumb; VT100 mode is enabled explicitly on Windows and styling is dropped if that fails. Box-drawing, glyphs and prose all degrade to ASCII when the stream's encoding cannot represent them, so a cp1252 console gets readable text instead of ? characters or a UnicodeEncodeError.
Changed
The distribution now ships aether_context only. aether_agent/ stays in the repo and in the test suite, but is no longer packaged, and the aether / aether-smoke console scripts are gone from this distribution. PyPI's aether-agent already owns that import path and the aether command, and pip does not detect file conflicts across distributions β shipping a second copy would have silently overwritten the other package's files on any machine that installed both. Install the terminal from its own package: pip install aether-agent or npm install -g aether-agents.
The version is declared once, in aether_context.__version__, and read dynamically by the build. A release-parity test pins the npm launcher's version to it.
init, doctor and status render through the new presentation seam. The status column layout and the doctor's [ok] / [warn] / [fail] / [skip] bracket text are unchanged β both are scraped by scripts.
Full changelog: https://github.com/AetherAI3/Unlimited-Context-LLM/blob/main/CHANGELOG.md
Compare: v0.2.0...v0.3.0
v0.2.0 β pin a fact, and it survives restart
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 residentPermanence 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_recallthreads=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 inO(N)on every search-after-add. Removes the quadratic insert cost on long runs. --index tieredno 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.0aether-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.