Repository navigation
EE 0.16.0
EE 0.16.0
ee is durable, local-first, explainable memory for coding agents.
What changed
ee ask answers from rules and session evidence, not just memories. It now answers from native
procedural rules (citing the exact rule revision) and from imported CASS session transcripts, with
session-aware corroboration: sources that share one provenance count as a single supporting group
instead of inflating agreement. Counterevidence a query surfaces is kept through candidate selection
rather than being cut by the relevance cap. Conflicting settings are reported as a dispute with both
sides cited byte-exact, instead of being merged into false agreement. A standalone ee ask previously
never reached the cached-model path at all and answered from lexical scoring alone; it does now.
Backups keep identifiers by default. ee backup create defaults to minimal redaction, so a
restore preserves every memory id. Pass --redaction standard for a shareable backup, which re-mints
ids. Restore also keeps source-authenticated human trust through recovery instead of silently
downgrading it, and refuses outright when the manifest does not authenticate under the source
workspace's keys.
Index and search recovery. When live index metadata is missing, malformed or obsolete, search reads
a compatible committed generation the index retained, bounded by the database snapshot, without
promoting or rewriting index files. Recovery promotes only generations that were previously published,
so a staging build that was never committed is no longer promoted. A pack in a workspace whose index
directory exists but is empty now falls back to stored memories instead of failing.
ee search stops overstating weak evidence. Under the local embedder a hybrid hit's relevance was
its RRF rank position, so the relevance floor admitted everything and an unrelated query returned all
hits with an empty degraded[]. Weak semantic recall is now reported as weak_query_recall with
qualityAssessment: "weak". Confidence is labelled a heuristic (status: "heuristic_uncalibrated"), not presented as calibrated.
Faster first run and faster packs. ee init verifies the embedding model rather than loading it
(1083 MB -> 96 MB peak). Drift evaluation resolves HEAD once per pack instead of spawning git per
selected memory. Read-only hybrid packs through the daemon went from 3155 ms to 708 ms on the
measured fixture. These are fixture measurements, not latency guarantees.
Pack determinism. pack.hash uses input schema ee.pack.hash_input.v2: labeled,
length-delimited components, with each component's digest exposed in snapshotIdentity, so two packs
with different hashes can be compared component by component. pack.text is now canonical: a
pack-assembly timing overrun still appears in degraded[] but no longer changes the shipped text, so
a slow run produces the same text as a fast one.
Contract break: lexical-only hits report scoreKind query_relative_pool_minmax instead of
unit_normalized; the raw engine value stays in lexicalScore. Pack hashes from 0.15.x are not
comparable with 0.16.0 hashes, and 0.15.x pack cache entries are misses rather than replays.
The full entry, including every schema and behaviour change, is in
CHANGELOG.md.
Install
curl -fsSL https://github.com/Dicklesworthstone/eidetic_engine_cli/releases/download/v0.16.0/install.sh | shor brew install Dicklesworthstone/tap/ee, or cargo install eidetic-engine.
Windows: download install.ps1 from the assets below.
Assets and verification
Six platform archives, each with a .sha256, plus SHA256SUMS and both installers.
shasum -a 256 -c ee-<target>.tar.xz.sha256Known limitations — please read
- This release is unsigned. The assets carry SHA-256 checksums only, with no Sigstore signatures
or SLSA attestations, so they do not satisfy--require-provenance. - 13 of 11,284 library tests fail at the release commit, each tracked by an open issue. This
release does not claim to resolve them. - Only the
aarch64-apple-darwinarchive was probed. It passes all 13 rows, including the three
that the published v0.15.2 archive failed; its report is attached here as
release-probe-aarch64-apple-darwin.json, keyed by archive SHA-256 and release commit. The probe
must execute the binary, and no Linux or Windows host was available to the operator cutting this
release, so the other five archives are compiled and checksummed but not behaviourally
exercised. Treat them accordingly. - The Windows build was actually broken during this cycle and was fixed only when the release
build caught it, because no automated gate anywhere compiles for Windows. The fix is in this
release; the gap that hid it is tracked and still open. - Several changes were committed without running their Rust tests at their own commit. For those, the
evidence is the release commit's full library run and the release probe, not a per-commit result. - The parallel rows of the release probe can exceed the 60-second CLI deadline on heavily loaded
hosts, because each concurrent process loads the embedding model on its own.