Skip to content

Releases: Dicklesworthstone/eidetic_engine_cli

v0.15.2

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 12 Sep 18:48

EE 0.15.2 makes the complete CLI installable from crates.io and corrects the read-only WAL regression found while qualifying 0.15.1. All required runtime, storage, ORM, search and graph packages are published; EE no longer needs sibling checkouts or Cargo patches.

cargo +nightly install eidetic-engine --version 0.15.2 --locked

The binary remains ee. Prebuilt binaries are available for Windows x86-64, Apple Silicon, Intel Mac, GNU/Linux x86-64 and ARM64, and musl/Linux x86-64.

Changes

  • Published and verified all 48 previously unavailable dependency packages, followed by the three corrected FrankenSQLite 0.4.1 packages. EE uses FrankenNetworkX 0.3, SQLModel 0.5, Frankensearch 0.6 and exactly one Asupersync runtime, version 0.5.0.
  • Fixed strict read-only access to an existing WAL database while another same-process connection remains alive. Read-only opening also works for a checkpointed database whose WAL sidecar is absent, empty, short or invalid; write and maintenance protections remain intact.
  • Reranking preserves the original fusion order and reports rerank_model_unavailable when document storage cannot be read. Missing or out-of-scope documents remain normal omissions. A failed read stops repeated attempts, and partially reranked results are discarded.
  • Replaced local dependency paths and patches with registry dependencies. The 573-entry lockfile contains EE and 572 checksum-pinned registry packages, including development and target-specific packages. Source installers use --locked and skip sibling checkout preparation for this registry-only release.
  • Updated dependency diagnostics and their output contract to report actual registry versions and provenance.
  • Fixed optional Frankensearch shadow comparisons so synchronous backend work uses the caller's blocking pool. Missing-pool callers explicitly shed the optional comparison; serving does not synchronously write its artifact. Original latency guards and successful persisted comparisons were tested separately.
  • Updated strict-Clippy idioms without changing hex validation, key zeroization, or cache cleanup cadence. Corrected the installer test to match the README's guarded downloads and cacheable fallback URLs.
  • Made two index snapshot tests explicitly select deterministic hash embeddings. Their producer choice no longer depends on models cached on the test machine; all ordering and generation assertions remain intact.

If upgrading from a release earlier than 0.15.0, rebuild existing semantic indexes with ee index rebuild --workspace . and reinstall managed hooks as described in the 0.15.0 upgrade notes.

The 0.15.1 crate was published before these regressions were found; its GitHub and Homebrew release was withheld. Use 0.15.2 or newer for Cargo installations.

Validation

  • Final registry-only all-target checks, strict Clippy, formatting, and compilation of the extracted crate passed. All 58 selected tests passed: 15 regressions, nine dependency contracts, 33 installer cases and the unchanged real-model runtime regression. The installer rerun includes the test-only source-pin expectation correction in 6e99cedb; that file is excluded from the crate and production code is unchanged from the release source.

  • Check and strict Clippy ran on Linux. The Windows cross-build retains platform-specific unused-import and dead-code warnings; warning-free compilation across all six platforms is not claimed.

  • FrankenSQLite's corrected source passed full-workspace all-target checks, strict Clippy and formatting, plus 47 targeted regression cases. Its three public archives match their tagged source and registry checksums.

  • The public crates.io archive matches the qualified Cargo-generated candidate byte for byte, including all 339 source files, its original manifest, exact lockfile and tagged VCS record. The public index matches all 48 direct dependency declarations and ten features from Cargo metadata.

  • The original 160-request rerank workload returned 96 scored candidates under the selected portable profile, with only the expected profile-limit advisory. The independent fusion-only request returned its own profile's full 160-result limit. Neither the request size nor runtime budgets were raised.

  • The unchanged six-writer, 60-write workload passed all eight assertions in 27.79 seconds: all 30 journal entries and 30 memories persisted, all memory IDs read back, and the index was current before search with exact result-ID equality.

  • Three real Model2Vec retrieval scenarios and installed hooks with daemon model warming passed. Apple Silicon core memory commands and installed hooks passed; GNU/Linux x86-64 core commands passed on Debian 10.

  • A fresh Cargo installation into an empty installation prefix passed all seven core workflow checks. It used the public registry package and a warm Cargo dependency/build cache; no sibling source or injected Git build metadata was used.

  • The tagged shell installer passed an offline installation in a fresh retained container, including its doctor self-test, Bash completions and exact installed-binary hash/version/source checks. Cleanup was suppressed to preserve test evidence and remains unqualified; this was a checksum-based local archive test, not a network or signature test.

  • GNU/Linux ARM64 passed the same workflow under Debian 10 with QEMU; Intel Mac passed under Rosetta. These are emulated core-workflow checks, not native ARM or platform-wide inference qualifications.

  • The musl/Linux x86-64 binary passed the same Debian 10 workflow. ELF inspection confirmed no interpreter or dynamic-library dependencies. Both GNU/Linux binaries passed the glibc 2.28 symbol gate.

  • Native Windows memory workflows passed. A held byte-range lock produced the expected doctor_concurrency_lost response before lifecycle allocation; after releasing it, two doctor runs passed while preserving previous/latest pointers, and the lock could be reacquired after process exit.

Remaining limits

  • The transitive lru 0.16.4 RustSec warning remains tracked in #40. No advisory ignore was added. An audit without vulnerabilities can still report this unsoundness warning; a strict warning-free audit is not claimed.
  • Existing issues #29, #37, and #41 remain open, as do previously recorded integration failures. This release does not claim a fully green test suite.
  • Binaries are built with DSR outside GitHub Actions. SHA-256 checksums and a source-bound manifest are provided; assets are unsigned, with no Sigstore bundle or SLSA attestation. They do not satisfy --require-provenance.

Release source: 1478b2f3b0a912d5302808f6dc6de9e56e589c05. Normal Cargo installs have no injected Git build metadata; the published crate's VCS record identifies their source.

EE v0.15.0

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 12 Sep 11:29

EE 0.15.0 improves daemon-backed memory retrieval, generated hooks, native reranking, and backup correctness.

Upgrade steps

After installing this release, run ee index rebuild --workspace . for each workspace with a semantic index. The updated Model2Vec loader has a new producer identity, so existing vector indexes need rebuilding. Reinstall managed hooks to receive the updated snippets. For Claude Code, inspect EE hook entries before and after reinstalling: entries without eeManaged metadata can be duplicated, and ee hook status does not detect those duplicates (#41).

Changes

  • Windows doctor runs can replace their own latest pointer on repeated invocations while retaining the previous pointer and rejecting redirected parent directories.
  • Workspace daemons now serve anchored recall and bounded fast orientation, with local fallback when a daemon is unavailable. Anchored recall does not require loading an embedding model.
  • macOS daemon clients preserve replies buffered before the server closes, fixing a socket-timeout race that broke retrieval and daemon shutdown.
  • SessionStart hooks inject useful memory and rule text with provenance within their token budget. ee hook status records invocation outcomes separately from installation freshness. Missing EE or Python processes fail open.
  • Native reranking uses the request's blocking pool and cancellation budget. Optional reranking failures preserve fusion results with an explicit degradation; snapshot cleanup preserves the original search error.
  • Model2Vec callers share verified weights within a process. Streamed decoding avoids retaining another full weight-file buffer. Persistent tokenizer caching remains upstream work.
  • Backup exports preserve original memory-body whitespace. Query normalization preserves literal leading exclusion markers, deterministic UUIDs retain their sequence without ambient randomness, and pack DNA avoids duplicate unavailable-PPR warnings.
  • Recorder follow commands handle SIGINT inherited as ignored from background launchers, including during long polling waits.
  • Updated crossbeam-queue, base64, fs4, uuid, zeroize, zstd and toml_edit. The pinned runtime uses the maintained PEM parser and includes the Windows readiness-import correction.
  • Integration tests are grouped into 39 executable targets while preserving the root test modules and required process isolation.

Validation and distribution

  • Final-source cargo check --all-targets --locked, Clippy with -D warnings, formatting, and the all-features forbidden-dependency check passed. RCH receipts retain the authorized build-admission exception and a proof-broker source-state-mismatch diagnostic; these are compiler passes, not clean infrastructure attestations.
  • All six final release binaries passed actual memory workflows with version, source commit, target and binary hash checked: native Windows x86-64, native Apple Silicon, Intel Mac under Rosetta, GNU x86-64 and musl x86-64 on Debian 10, and GNU ARM64 on Debian 10 under QEMU. Both GNU binaries require at most glibc 2.28; the musl binary has no ELF interpreter or dynamic-library dependencies. Windows additionally passed real byte-lock contention and two successive doctor repairs with the prior pointer preserved.
  • The 9,523-case library selection was accounted for across the original run and exact continuation batches: 9,517 passed, two failed, and four were ignored. The two failures identified stale doctor metadata and a stale hook-template assertion, both corrected in this release. All three focused doctor, hook-template and buffered-reply regressions passed on the final source: three passed, zero failed, zero ignored, 9,521 filtered out. The original combined build/test invocation timed out and remains recorded as a timeout. Two ignored cases involving real models passed separately on an earlier issue-fix candidate; two explicit microbenchmarks were not run.
  • Dependency-specific regression groups passed individually: 58 writer-queue, 151 encoding/cursor/identifier, 78 locking/secret-store plus three CLI cases, 34 UUID/runtime, five backup/recovery, 44 compression/cache plus eight pack integration cases, and 75 configuration/profile tests.
  • The final GNU/Linux binary passed the strict multi-process writer scenario: six processes, 60 interleaved memory/journal writes, zero dropped writes, all memory bodies durably readable, and the exact index generation and search-ID set verified before read repair (eight assertions, 32.273 seconds).
  • A final-source Linux hook scenario used the actual Model2Vec model and automatic daemon warming in two one-rule semantic workspaces. All 20 CLI/hook commands passed, with five real capabilities observations showing warming through the hook calls and then ready. Recall and fast orientation worked during warming and after readiness; missing-socket and wrong-workspace fallbacks preserved the correct memory. SessionStart took 0.817 seconds and PreToolUse 0.266 seconds in this small fixture. These are measured fixture timings, not a general latency guarantee.
  • On the immediately preceding candidate, which predates the final Mac-only daemon fix, three semantic context scenarios passed with the actual Model2Vec model. A 300-memory reranking fixture requested 160 candidates; the selected portable profile capped that at 96, and all 96 received native rerank scores in 15.319 seconds. Mac boundary migration passed 8/8. Linux installed-hook workflows passed; the corrected final Mac binary also passed all 17 recorded daemon, fallback, workspace-isolation, installed-hook, deduplication and shutdown commands.
  • The unchanged shell installer passed an offline installation of the exact GNU x86-64 archive in a fresh retained container, including mandatory SHA-256 verification and its executable self-test. The installed binary matched the qualified binary byte for byte and reported the exact release source. Process-local cleanup suppression retained temporary files; cleanup, same-host upgrades and semantic model downloads were not qualified by this probe. Public asset downloads are checked separately.

This release is built through DSR without GitHub Actions. Source: d09edf26a0adf8d39897de615610b7d67430bb81. The assets carry SHA-256 checksums and a source-bound build manifest; they are unsigned and have no Sigstore bundle or SLSA attestation. They do not satisfy --require-provenance.

Remaining limits

  • RustSec audit remains nonzero for RUSTSEC-2026-0253, through Tantivy's lru 0.16.4. This dependency was already in 0.14.5. Exact-source review found only a private integer-key cache using new, get, put and len; it neither calls the affected pop operation nor permits a panicking key destructor. A compatible upstream backport is still needed; no new advisory ignore was added. Follow-up: #40.
  • The original high-concurrency library-test SIGSEGV report (#29) remains unresolved. Passing runs under other profiles do not prove that report fixed.
  • A late report exposed a remaining Claude Code installer issue (#41). On the final binary, reinstalling intact managed entries is byte-identical, but removing their eeManaged metadata causes one existing hook per event to become two while status still reports four fresh hooks. This reproduction deliberately removed metadata; it does not establish how the reporter's original settings lost it. The issue remains open.
  • The integration sweep is not entirely green: retained baseline failures include stale fixtures, performance and environment-sensitive checks, and a promoted-rule/source-body selection limitation. These are not claimed fixed by the dependency update.
  • crates.io publication is blocked by six unavailable dependency versions and an API missing from published Asupersync 0.4.11. The binary release uses the exact pinned sibling sources.

ee v0.14.5: Linux compatibility and storage recovery

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 11 Sep 13:06

ee 0.14.5 improves Linux binary compatibility, storage recovery, and runtime resource use.

  • GNU/Linux binaries target glibc 2.28 on x86-64 and ARM64. The release build now checks the ELF binary's actual symbol requirements before packaging, preventing the build host from silently raising the minimum supported glibc version (#38).
  • SQLite busy lock-wait timeouts are retried during concurrent storage operations and CASS imports. Import transactions now retain the database writer lock through commit or rollback and roll back unfinished writes during unwinding. Actual deadlines and cancellation remain terminal. Doctor reports the versions of the dependencies linked into this release.
  • Windows storage now honors the dedicated database worker's existing capability to perform small I/O directly, with the same 64 KiB limit as Unix. Larger transfers and ordinary async callers retain offload. Cancellation and tracked-write outcomes are preserved.
  • The pinned FrankenSQLite update includes legacy V2 certificate-log recovery (#27). A controlled legacy-record fixture preserved its stored canary through migration checks, another write, and a subsequent search; the reporter's original database was unavailable for reproduction.
  • CLI runtimes use bounded, lazy blocking pools. Initialization and migration checkpoint their writes, and doctor warns about excessive WAL growth. Doctor's thread creation dropped substantially in the measured fixture. Generated SessionStart hooks still withhold the orientation payload when it exceeds their token ceiling; #35 remains open for the complete ambient-context experience.
  • Daemons warm their resident search stack at startup and expose warm.posture. Requests received during warm-up fall back with an explanation. Warm-RPC overhead can still exceed the default two-second client deadline on some hosts; #37 remains open, and generated hooks do not yet route orient/recall through the daemon (#39).
  • Workspace backups preserve more recovery state, including authorization keys through encrypted key backups, memory revisions, relationship metadata, tombstones, authenticated audit history, and learned procedural evidence.
  • Explicit stored recipes participate in task recommendations with scope and evidence explanations. An OpenAI-compatible remote embedding backend is available as an explicit opt-in; local operation remains the default.

The pinned stack uses Asupersync 0.4.10, FrankenSQLite 0.3.18, SQLModel 0.4.3, Frankensearch 0.5.0, FrankenNetworkX 0.2.1, and nightly-2026-08-31. The rustls-pemfile maintenance exception remains required by the pinned TLS dependency graph (#22).

Validation: source 214f1ed passes Linux all-target checking, Clippy with -D warnings, formatting, and the forbidden-dependency audit. On 1c9043e, three focused CASS tests, 15 manifest tests, and four public-identifier checks passed. Default-profile Unix library coverage completed across two batches: 9,496 passed and three existing ignores, using 2 MiB stacks and four test threads. The first full invocation timed out after two hours; the unfinished cases passed in a second batch. This does not resolve the original 128-thread report in #29. The subsequent source changes pin Windows-only FrankenSQLite backports for compilation and bounded I/O dispatch. Nine backup, daemon recovery, and writer integration tests also passed on the earlier 612f48f test binaries; one pre-existing bridge test remained ignored. These are self-reviewed results, not an independent verification.

Final GNU qualification: the x86-64 binary passed on Debian 10 (glibc 2.28) and Ubuntu 24.04, passed 36 basic/selected advanced CLI checks, and preserved every write in a six-process contention test. Its real-model search returned 50 reranked results without degradation on a 505-memory fixture. Doctor reported ok with 21 clone calls in 4.4 seconds on a one-memory fixture. The controlled legacy V2 certificate fixture also passed. The ARM64 GNU binary passed the glibc 2.28 symbol gate and completed init → remember → search → pack in an emulated ARM Debian 10 container.

The final static musl binary completed the same memory workflow in Debian 10. The macOS ARM64 binary completed it natively on Apple Silicon and passed eight boundary migration checks. Windows passed all three new storage regressions and the complete memory workflow natively. Initialization took 34.6 seconds after the preceding candidate exceeded the unchanged 180-second limit; host load varied, so this is not a controlled speedup benchmark. Windows was cross-compiled on Linux using cargo-xwin 0.23.1; its release build retains existing platform warnings.

The macOS x86-64 binary completed the memory workflow through Rosetta on Apple Silicon. All six release targets were built from commit 214f1ed009481a5e99824d2e16350aebd934a5f9; the tested binaries are the ones included in the release archives.

The Linux installer passed checksum verification, self-test, and the installed memory workflow in a private destination. Cleanup was excluded from that probe.

Like v0.14.4, this release provides SHA-256 checksums and a build manifest without Sigstore signatures or SLSA attestations; --require-provenance is not supported by these assets.

ee v0.14.4

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 29 Aug 16:31

Agent-facing discovery and input-correctness patch release. This cut makes the
machine-readable capability inventory follow the actual Clap command tree and
closes correctness gaps in tag filters, SEC identifier policy, and local
provenance rendering.

Added

  • Capability discovery now exposes the complete live CLI contract. The
    inventory is derived from Clap rather than a parallel hand-maintained table,
    including nested commands, aliases, environment variables, defaults, value
    constraints, and stable JSON/TOON ordering.
  • Local provenance has actionable repair guidance. Memory list/show output
    preserves supported local URI schemes while redacting sensitive path details,
    and malformed or unsafe provenance explains how to repair the source.

Changed

  • The pinned release stack advances to FrankenSQLite 0.3.11 and
    nightly-2026-08-25.
    The lockfile, path-dependency manifest, and release
    toolchain now describe the same tested source graph.

Fixed

  • SEC identifiers no longer trip the phone-number policy. Canonical
    zero-padded CIKs and accession numbers pass through ee remember, while
    valid NANP phone forms and SSNs remain protected. Secret-detector allow
    phrases and regexes now honor the documented user config layer beneath
    project config.
  • Tag filters now round-trip the same canonical form used by ee remember.
    ee memory list --tag and tag bitmap queries accept mixed-case filters for
    existing canonical rows without requiring reindexing. Hyphens and
    underscores remain distinct outside documented scope-keyword aliases.
  • Local memory provenance no longer loses its URI scheme at output time.
    Redacted list/show views retain enough typed provenance to round-trip through
    machine consumers without exposing the underlying local path.

ee v0.14.2

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 21 Aug 03:58

Patch on the 0.14 team-confederation product. Rebuilds against current franken-stack pins and a crates.io lock refresh. Nightly toolchain only — never stable.

  • asupersync 0.4.9, FrankenSQLite 0.3.7, frankensearch 0.3.2
  • franken_networkx / toon / franken_agent_detection at origin/main
  • SQLModel stays on the 0.4.0 harmonize pin
  • Workspace-id bind campaign after v0.14.1
  • Proven --version: linux gnu, darwin arm64, and darwin amd64 report ee 0.14.2

Install:

curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/eidetic_engine_cli/v0.14.2/install.sh?$(date +%s)" | bash -s -- --easy-mode --verify

ee v0.14.1

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 19 Aug 04:13

Patch on the 0.14 team-confederation product. Rebuilds against current franken-stack pins and a crates.io lock refresh. Nightly toolchain only — never stable.

  • asupersync 0.4.8, FrankenSQLite 0.3.5
  • frankensearch / franken_networkx / toon / franken_agent_detection at origin/main
  • SQLModel stays on the 0.4.0 harmonize pin
  • Assets: darwin arm64 + amd64, linux gnu + musl + aarch64 gnu, windows MSVC
  • Proven --version: linux gnu, darwin arm64, and windows MSVC all report ee 0.14.1

Install:

curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/eidetic_engine_cli/v0.14.1/install.sh?$(date +%s)" | bash -s -- --easy-mode --verify

v0.13.1

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 16 Aug 03:08

v0.13.1

Patch release: the native rerank stage now actually reaches installed binaries, and ee model status no longer misclassifies healthy reranker metadata.

Fixed

  • GH#26 — reranker registry metadata misclassified as corrupt. ee model status parsed every model-registry row's metadata_json as an embedding metadata record, so a valid rerank-default-v1 row (schema ee.rerank_model_registry_metadata.v1) was reported as model_asset_corrupt with an embedding-oriented repair hint, and v0.13.0 search stayed fusion-only. Lifecycle rows now validate against the schema matching their ModelPurpose; malformed reranker metadata still surfaces model_asset_corrupt with a reranker-specific repair (ee model fetch rerank-default). (76c7773)
  • Envelope honesty: ee model status mirrors modelLifecycle.degraded[] into the top-level ee.response.v2 degraded[] (deduped by code+message), so a high-severity lifecycle degradation can no longer coexist with an empty top-level degraded[].
  • Clean-clone builds restored. Cargo.toml, Cargo.lock, and franken-stack.lock had drifted mutually inconsistent (ed25519-dalek pin vs lock, asupersync =0.3.10 pin vs 0.4.4 APIs), breaking --locked builds. The pins are reconciled (asupersync =0.4.4, sqlmodel 0.4.0, ed25519-dalek 3.0.0 closure in the lock) and franken-stack.lock is refreshed to the validated sibling revisions.
  • Windows asset restored (2026-08-17). v0.13.1 initially published with zero Windows assets, because CI's Windows leg hit an upstream rustc nightly internal compiler error (asupersync::Cx import resolution failing under this repo's floating channel = "nightly" toolchain pin) — confirmed not a source defect and confirmed toolchain-specific by a controlled rebuild: identical source and sibling pins, only the nightly date changed, and the failure went away. ee-x86_64-pc-windows-msvc.tar.xz (+ .sha256) is now attached, built and executed on real Windows hardware (ee --version reports ee 0.13.1), and independently re-verified by downloading the published asset back from GitHub and re-hashing it. install.ps1's existing fallback-to-newest-Windows-release logic remains as defense-in-depth for future incomplete releases; it is no longer needed to reach v0.13.1 specifically. The underlying floating-nightly toolchain issue is unresolved upstream and could recur on a future cut.

Changed

  • Everything merged to main since v0.13.0, including the native reranker completion wave (rerank-default-v1 bootstrap, checksum and publication hardening) that v0.13.0 binaries could not execute.

Assets

This release ships locally built, checksum-verified binaries for:

  • ee-aarch64-apple-darwin.tar.xz (+ .sha256)
  • ee-x86_64-unknown-linux-gnu.tar.xz (+ .sha256)
  • ee-x86_64-pc-windows-msvc.tar.xz (+ .sha256) — added 2026-08-17, see Fixed above

install.sh / install.ps1 are attached as usual. Targets from the v0.13.0 matrix still not attached here: x86_64-apple-darwin, aarch64-unknown-linux-gnu, x86_64-unknown-linux-musl.

Known limitation: no provenance or Sigstore attestation on this release (any platform)

v0.13.1 ships without SLSA provenance or Sigstore attestation for any platform — a release-wide regression from v0.13.0 (which shipped both for five targets), not specific to any one platform including Windows. A client running with --require-provenance will fail identically on all three attached platforms until this is fixed. install.sh/install.ps1 treat the missing signature bundles as a warning rather than a hard failure by design, so a default install is unaffected.

Remedy: this needs a genuine CI signing run — cosign sign-blob --tlog-upload=true requires a GitHub-Actions-issued OIDC identity token to produce a .sigstore.json bundle that means anything (it binds the signature to a specific verified CI run in the public Rekor transparency log). There is no local or manual equivalent: a signature produced any other way would not be this attestation, and a .provenance.json manually assembled outside CI would misrepresent its own runDetails.builder.id/workflowRef/invocationId fields, which are supposed to identify the actual CI run that built the artifact. Producing either by hand was considered and rejected for v0.13.1's Windows asset specifically for this reason — a fabricated attestation is worse than an absent one, because absence is visible and a fake would verify as if it meant something it does not. Fixing this requires re-running the release workflow's signing steps on a real GitHub Actions runner against the already-published artifacts, not a local patch.

rerank-default-v1 model artifact

Choose a tag to compare

Pure-Rust native reranker model artifact for ee v0.13.0. Size: 82767464 bytes. SHA-256: adaada3ccc15ae535e9bea238d2ec05e4f39726bdcad07dd87cba9f85dc10edb. BLAKE3: 42e850f16c60969e23a48b665824be64ad0b245ebca838782df3b191b953d7b3. Contents: model_f32.safetensors, tokenizer.json, config.json. License: Apache-2.0.

ee v0.13.0

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 30 Jul 14:41

Installation

Unix (Linux/macOS)

curl -fsSL https://github.com/Dicklesworthstone/eidetic_engine_cli/releases/download/v0.13.0/install.sh \
  | EE_VERSION="v0.13.0" bash

Windows (PowerShell)

$f = Join-Path $env:TEMP 'install-ee.ps1'; Invoke-WebRequest -UseBasicParsing https://github.com/Dicklesworthstone/eidetic_engine_cli/releases/download/v0.13.0/install.ps1 -OutFile $f; & $f -Version "0.13.0"

Verification

All release artifacts are signed with Sigstore. The official install.sh accepts
either keyless workflow signatures (this release) or the pinned long-lived EE
release key (used as a fallback for manual maintainer-cut releases).

Keyless (workflow-built releases — recommended)

cosign verify-blob \
  --bundle ee-<target>.tar.xz.sigstore.json \
  --insecure-ignore-tlog=false \
  --certificate-identity-regexp "^https://github\.com/Dicklesworthstone/eidetic_engine_cli/\.github/workflows/release\.yml@refs/tags/v[0-9].*$" \
  --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
  ee-<target>.tar.xz

Pinned key (manual-cut fallback releases)

When release.yml is unavailable, the maintainer may sign with the pinned EE release key.
The official installer tries keyless signatures first and only uses this fallback when keyless verification does not match.
Set EE_INSTALL_REQUIRE_KEYLESS=1 to refuse the pinned-key fallback.
The public key lives at signing/cosign.pub in the repo. Verify with:

cosign verify-blob \
  --bundle ee-<target>.tar.xz.sigstore.json \
  --insecure-ignore-tlog=false \
  --key https://raw.githubusercontent.com/Dicklesworthstone/eidetic_engine_cli/main/signing/cosign.pub \
  ee-<target>.tar.xz

Each tarball also ships SLSA provenance. Verify it with the same keyless or pinned-key flow:

cosign verify-blob \
  --bundle ee-<target>.provenance.json.sigstore.json \
  --insecure-ignore-tlog=false \
  --certificate-identity-regexp "^https://github\.com/Dicklesworthstone/eidetic_engine_cli/\.github/workflows/release\.yml@refs/tags/v[0-9].*$" \
  --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
  ee-<target>.provenance.json

Changes

Durable, local-first, explainable memory for coding agents. This release rolls
up 673 commits since v0.12.0
(~102 feat, ~232 fix, ~130 test) across the core memory loop, search
index corpus, pack integrity, daemon write path, installer, and agent
contracts. Minor bump per the pre-1.0 convention (features land as minor).

Version was set in-tree by
861d5fb7
on 2026-06-21; this cut tags v0.13.0 on current main so post-bump
storage, index-publication, and installer fixes ship in the same binary.

Highlights

User-global memory store (ADR 0083)

  • Separate local store at the user data root (…/global/) with schema/migration
    parity to a workspace store.
  • Normal verbs operate on it via --global (selector conflicts with
    --database; workspace-id guard keeps stores isolated).
  • Replaces the earlier policy-only / write-mostly global tier with real open,
    migrate, remember, and list paths
    (09ecf4f8,
    919caaf7;
    ADR 0083).

Learn → Retrieve → Pack loop closed for rules and evidence

  • Procedural rules join the derived search corpus and hydrate into pack
    candidates through source-memory linkage
    (b19d8075,
    f96deb2d;
    bd-3h6bz).
  • Imported CASS evidence spans become searchable documents and hydrate when
    distilled; undistilled spans degrade honestly
    (context_evidence_hit_unhydrated) instead of looking like pack items
    (dba0cf30,
    0e438e14;
    bd-16imy).
  • Typed pack entity identity work (ADR 0085) keeps memory / rule / evidence
    identities distinct for pack, replay, and why surfaces
    (ADR 0085).

Pack ledger integrity and public replay (v2 contracts)

  • Pack history reads prefer the integrity-verified selection ledger over
    denormalized convenience rows (V084 profile domain + ledger read APIs)
    (910b872d).
  • Public ID projection and replay-text redaction so support bundles, handoff,
    and swarm surfaces never echo raw secret-shaped values
    (f78c9963).
  • Wire schemas and handlers:
    ee.pack.replay.v2, ee.pack.diff.v2, ee.context.delta.v2,
    support-bundle pack-replay summary v2, and public attestation projection
    (31fb02ea,
    9789f684,
    900ab215,
    a62b7e95,
    2b0b5667).
  • Top-level JSON envelopes surface degraded[] even under minimal field
    profiles so agents can plan recovery without the full data tree
    (4f07392f).
  • --schema-version selects response renderer generation (v1 = current
    ee.response.v2 wire shape; v0 = legacy compatibility)
    (248bfb12).

Hot-path write + index intake (ADRs 0077 / 0078)

  • Group-commit write intake contract, config, telemetry, and daemon write-owner
    path (ee.daemon.write, journal coalescing, ee.daemon.write_journal)
    (ADR 0077;
    80c250f3,
    a47b71e7,
    7f86703f).
  • Coalesced-batch incremental index intake when the touched set is safe;
    otherwise full rebuild remains the audited fallback
    (ADR 0078;
    306272ed).
  • Corpus publication stamps a deterministic corpus revision and exact
    per-source/per-tier counts; legacy memory-only generations cannot be
    relabeled as current after rule/evidence expansion
    (6ad42dd5;
    bd-1zfau). Migrations V080–V087 cover generation floors, audit timeline,
    memory-debt snapshots, pack profiles, evidence security posture, rule
    generations, and evidence storage rebuild.

Search, capture, and swarm authority

  • Rerank auto|off + top-k config; first-use reranker auto-provision with
    honest fusion-only degradation offline
    (ff9c87e0,
    638998b5).
  • Ambient capture command wiring and coverage-gap / capture-demand reporting
    (b8526743).
  • CASS prefetch coordinator with gated schedule, budget accounting, and
    per-workspace metrics
    (884de00a).
  • Agent Mail snapshot v1 freshness and workspace-binding authority for swarm
    brief / claim evidence
    (9dacddeb).
  • Insights unscoped bundle carries per-section pagination so truncation is
    visible (GH#15)
    (3c444c5e).

Installer

  • Bash 3.2-safe empty-array expansion under set -u (proxy, agent detection,
    box rendering, archive candidates) so proxy-free macOS installs resolve the
    latest release and agent-less hosts no longer fail post-install config
    (7c107614).
  • Compatible GNU archive retry when preferred musl is absent on x86_64 Linux;
    one-byte network preflight instead of downloading the archive twice (already
    staged in Unreleased and carried into this release).

Fixed

  • Evidence rescreen / rebuild atomicity and V087 registry realignment so
    corrupt or legacy evidence rows do not poison publication
    (see fix(db): series culminating in
    5f2aea8c,
    efa2f4e5).
  • Search preserves unfiltered evidence hits when admission filters would drop
    the only supporting document
    (9b492289).
  • RCH / verify path: pinned Franken-stack topology, Cargo config provenance
    attestation, worker-pressure classification, and portable pinned bundles
    (verify series on main after the version bump).
  • Envelope / golden isolation: host topology, process env, and degraded
    mirrors no longer leak machine-specific fields into contract tests.

Migrations agents may need

ee migrate run --workspace .
ee index rebuil...
Read more

ee v0.12.0

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 16 Jun 18:31

Installer correction (2026-07-28): Use the maintained installer command below. The install.sh bundled as a v0.12.0 asset has a version-resolution bug under Apple’s stock Bash 3.2, and this release does not include the x86_64 Linux musl archive. The maintained installer fixes the macOS path and automatically retries the SHA-256-verified GNU archive on x86_64 Linux.

Durable, local-first, explainable memory for coding agents. This release rolls up roughly 300 commits since v0.9.1, focused on swarm-scale observability, RCH topology resilience, deterministic answering, and harness conformance.

Highlights

Scale & contention observability

  • ee.diag.contention.v1 — read-only contention diagnostic aggregating write-lock, read-pool, single-flight, and cache posture into one ranked "top contention" report.
  • Scale-envelope collectors, contract, deterministic fixtures, locality advisor, and an RCH SLO harness for reasoning about behavior under dozens of concurrent ee processes.
  • New telemetry schemas ee.index_intake.v1 (incremental intake) and ee.write_group_commit.v1 (group-commit).

RCH topology resilience

  • scripts/rch_verify.sh --worker-root-canary — a bounded, read-only worker-topology probe (ee.rch.worker_root_canary.v1) that reports whether remote workers can accept this checkout's project roots before a heavy Cargo proof is dispatched, with structured degraded codes and repair actions.
  • Topology-recurrence evidence bundles and handoff export, claim-gate topology surfacing, and a verify topology closure audit.

Deterministic answering & memory lifecycle

  • ee ask — deterministic extractive question answering with citations, conflict sides, calibrated abstention, and fail-closed confidence mode.
  • Session-budget advisory planner: recommends the cheapest useful next command.
  • Typed decision workflow (ee decide), a memory-debt doctor for curation, and query-miss gap mining for capture templates.

Agent integration

  • MCP adapter exposes the wave-surface tools.
  • Harness conformance schema, simulator, and golden proof; toolchain-provenance authority folded into swarm work packets and hook-install freshness auditing.

Platforms

Binaries for macOS (aarch64, x86_64), Linux (aarch64, x86_64 gnu), and Windows (x86_64).

curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/eidetic_engine_cli/main/install.sh?$(date +%s)" | bash

Verify

ee --version   # ee 0.12.0
ee doctor --json