Skip to content

Commit 4c344cc

Browse files
NickCirvclaude
andcommitted
release: stage v4.3.2 'Proof' (patch) — ship the post-4.3.1 fixes
npm 4.3.1 was published from the staging snapshot (2026-06-05 22:00Z) and missed the 10 commits made right after it — including the broken-MCP-config README fix. 4.3.1 can't be republished, so this cuts 4.3.2: version bumps (package.json, server.json x2), README banner/install/badge (1149) + a v4.3.2 what's-new note, CHANGELOG [4.3.2], docs/release-notes-4.3.2.md. Bundles: the MCP setup command fix (engramx serve -> engram-serve), gen-ccs fallback, TS interface/type extraction, git-miner self-edge, provider unref, the CI ripgrep fix, and llms-install.md. tsc clean; build ok; full suite 1149/1149; versions consistent; tarball 55 files. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 3e2893d commit 4c344cc

5 files changed

Lines changed: 87 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,41 @@ All notable changes to engram are documented here. Format based on
66

77
## [Unreleased]
88

9+
## [4.3.2] — 2026-06-06 — "Proof" (patch)
10+
11+
**Why:** 4.3.1 shipped from a staging snapshot and missed a batch of fixes made
12+
right after — most importantly a **broken MCP-setup command in the README**.
13+
This patch ships them. All fixes, no new features, no change to the honest claim.
14+
1149 tests.
15+
16+
### Fixed
17+
- **MCP setup (README):** the documented config told MCP clients (Cline, Cursor,
18+
Claude Desktop) to run `npx -y engramx serve <path>` — but there is no `serve`
19+
subcommand (cli has `server` = the HTTP API; the MCP stdio server is the
20+
separate `engram-serve` bin), so the server failed to start with
21+
`error: unknown command 'serve'`. Corrected to `npx -y -p engramx engram-serve
22+
<path>` (verified against the MCP initialize handshake).
23+
- **`gen-ccs`:** on a fresh repo it wrote an empty file and reported a false
24+
"✅ Generated"; now falls back to the top code entities by graph degree (and
25+
warns honestly when there is genuinely nothing to export).
26+
- **AST extraction:** TS `interface` / `type` alias / `enum` declarations are now
27+
extracted as first-class nodes (kinds `interface`/`type`) instead of being
28+
dropped — they were dead reference targets before.
29+
- **git co-change miner:** no longer emits a self-edge when two distinct files
30+
share a basename stem (e.g. `src/index.ts` + `src/miners/index.ts`).
31+
- **Providers:** the mempalace/context7 warmup + availability probes now `unref`
32+
their child processes, so a slow/absent backend can't keep the engram process
33+
alive for seconds after a session's context bundle was already delivered.
34+
35+
### Added
36+
- `llms-install.md` — an agent-readable setup guide (global install, `engram
37+
init`, the `mcpServers` config block) so tools like Cline can configure engram
38+
autonomously.
39+
40+
### Internal
41+
- CI installs ripgrep (best-effort) so the grep never-worse-gate tests run on the
42+
runners; first dedicated tests for the git-miner and the refs cache.
43+
944
## [4.3.1] — 2026-06-06 — "Proof" (patch)
1045

1146
**Why:** a two-pass execution-swarm audit (agents that *ran* engram end-to-end, not just read it)

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p align="center">
2-
<img src="assets/banner-v3.png" alt="engramx — the universal context spine for AI coding tools (v4.3.1 'Proof')" width="100%">
2+
<img src="assets/banner-v3.png" alt="engramx — the universal context spine for AI coding tools (v4.3.2 'Proof')" width="100%">
33
</p>
44

55
<p align="center">
@@ -58,7 +58,7 @@
5858
<a href="https://open-vsx.org/extension/nickcirv/engram-vscode"><img src="https://img.shields.io/open-vsx/v/nickcirv/engram-vscode?color=blue&label=OpenVSX" alt="OpenVSX engram-vscode"></a>
5959
<img src="https://img.shields.io/badge/license-Apache%202.0-blue" alt="License">
6060
<img src="https://img.shields.io/badge/node-%3E%3D20-brightgreen" alt="Node">
61-
<img src="https://img.shields.io/badge/tests-1144%20passing-brightgreen" alt="Tests">
61+
<img src="https://img.shields.io/badge/tests-1149%20passing-brightgreen" alt="Tests">
6262
<img src="https://img.shields.io/badge/per--file%20reduction-53--89%25-orange" alt="53-89% per-file structural reduction">
6363
<img src="https://img.shields.io/badge/native%20deps-zero-green" alt="Zero native deps">
6464
<img src="https://img.shields.io/badge/LLM%20cost-$0-green" alt="Zero LLM cost">
@@ -86,8 +86,8 @@ mkdir -p /tmp/engram-demo && cd /tmp/engram-demo && \
8686
echo "export const buggy = () => null;" > src.ts && \
8787
git add -A && git commit -q -m "feat: add buggy helper returning null causing form crashes" && \
8888
git revert --no-edit HEAD > /dev/null && \
89-
npx --yes engramx@4.3.1 init . && \
90-
npx --yes engramx@4.3.1 mistakes
89+
npx --yes engramx@4.3.2 init . && \
90+
npx --yes engramx@4.3.2 mistakes
9191
```
9292

9393
You should see, within 30 seconds, the **bi-temporal pre-mortem** engram auto-captured from your revert:
@@ -121,9 +121,11 @@ Works in 8 IDEs and counting — Claude Code, Cursor, Cline, Continue.dev, Aider
121121

122122
> **v4.3 "Proof" shipped 2026-06-05 — engram's saving is now real *and provable*.** Run **`engram measure`** in your own repo to see the honest structural context-token reduction on **your** code — every disclosure computed live: it's a ceiling, here's the recall, here's the intercept rate, "structural tokens, not your bill." Run **`npm run bench:recall`** for the reproducible proof that engram surfaces the files a change actually touches (recall@10 33% on engram's own repo, decomposed honestly: candidate generation reaches 43%, the PageRank ranker adds +3.2pp over random-within-candidate; 10.4% blind chance).
123123
>
124-
> New this release: a **never-worse gate** on Grep (engram passes through whenever its packet isn't actually smaller — sized to your grep's exact `cwd`/`path`/`glob` scope), **Bash-grep interception** (the shell-only IDEs — Aider, Codex CLI, Cline — now get the call-site packet too), a **sub-agent context broker** (a tight ~100-token ranked slice into each spawned Claude Code sub-agent — the one regime prompt caching can't help), and a **compaction ledger** (a "previously read" list injected at `/compact` so the agent doesn't re-explore). Every number is a measured fact or a labelled bet — **no cost claims**; a *structural* context reduction, not a bill saving (engram's net over prompt caching ≈ 0). 1144 tests. See [CHANGELOG.md](CHANGELOG.md), `docs/COMPARISON.md` (vs the other local code-graph tools — ranking isn't unique, the *combination* is), and `docs/FRONTIER.md`.
124+
> New this release: a **never-worse gate** on Grep (engram passes through whenever its packet isn't actually smaller — sized to your grep's exact `cwd`/`path`/`glob` scope), **Bash-grep interception** (the shell-only IDEs — Aider, Codex CLI, Cline — now get the call-site packet too), a **sub-agent context broker** (a tight ~100-token ranked slice into each spawned Claude Code sub-agent — the one regime prompt caching can't help), and a **compaction ledger** (a "previously read" list injected at `/compact` so the agent doesn't re-explore). Every number is a measured fact or a labelled bet — **no cost claims**; a *structural* context reduction, not a bill saving (engram's net over prompt caching ≈ 0). 1149 tests. See [CHANGELOG.md](CHANGELOG.md), `docs/COMPARISON.md` (vs the other local code-graph tools — ranking isn't unique, the *combination* is), and `docs/FRONTIER.md`.
125125
>
126126
> **v4.3.1 (patch) — 2026-06-06:** a two-swarm execution audit hardened the release. Fixes: the `engram cost` digest no longer prints an unqualified dollar/"% saved" figure (it now carries the structural-not-a-bill-saving caveat); `bench`/`stats` state "Nx LARGER — passes through" instead of a backwards "0.2x smaller" on tiny repos; the incremental reindex now rebuilds cross-file `calls` edges (no graph drift between full re-indexes) **and** does so in ~1ms via an mtime-keyed refs cache instead of re-parsing every file on each edit; the MCP server reports its real version; `doctor` flags a disabled kill-switch; `gen --task <bad>` errors cleanly. No new features, no behaviour change to the honest claim.
127+
>
128+
> **v4.3.2 (patch) — 2026-06-06:** **fixes a broken MCP-setup command in this README** — the config block now uses `npx -y -p engramx engram-serve <path>` (the previous `engramx serve` had no such subcommand, so MCP clients failed with "unknown command 'serve'"). Also: `gen-ccs` now exports a structural fallback on fresh repos instead of an empty file; TS `interface`/`type`/`enum` declarations are extracted as first-class graph nodes; the git co-change miner no longer emits a self-edge for distinct files sharing a basename; provider warmup probes no longer keep the process alive a few seconds after a session starts. Adds `llms-install.md` for agent-driven setup. No behaviour change to the honest claim.
127129
128130
<details>
129131
<summary><strong>Earlier release notes (v4.2 "Loop", June 3)</strong></summary>

docs/release-notes-4.3.2.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# engramx v4.3.2 — "Proof" (patch)
2+
3+
v4.3.1 was published from a staging snapshot and missed the batch of fixes made
4+
immediately after it — most importantly **a broken MCP-setup command in the
5+
README**. v4.3.2 ships them. All fixes, no new features, no change to the honest
6+
claim. 1149 tests.
7+
8+
## Fixed
9+
10+
- **MCP setup (README) — the important one.** The documented config told MCP
11+
clients (Cline, Cursor, Claude Desktop) to run `npx -y engramx serve <path>`,
12+
but there is no `serve` subcommand — the CLI has `server` (the HTTP API) and
13+
the MCP stdio server is the separate `engram-serve` bin. Following the README
14+
produced `error: unknown command 'serve'` and the server never started. Now
15+
`npx -y -p engramx engram-serve <path>`, verified against the MCP `initialize`
16+
handshake. (The other integration docs already used the correct form.)
17+
- **`gen-ccs`** on a fresh repo wrote an empty file under a false "✅ Generated";
18+
now falls back to the top code entities by graph degree, and warns honestly
19+
when there is nothing to export.
20+
- **AST extraction:** TS `interface` / `type` alias / `enum` declarations are now
21+
first-class graph nodes (kinds `interface`/`type`) instead of being dropped —
22+
they were dead reference targets.
23+
- **git co-change miner** no longer emits a self-edge when two distinct files
24+
share a basename stem (`src/index.ts` + `src/miners/index.ts`).
25+
- **Providers:** mempalace/context7 warmup + availability probes `unref` their
26+
child processes, so a slow/absent backend can't hold the engram process open
27+
for seconds after a session's context bundle was delivered.
28+
29+
## Added
30+
31+
- `llms-install.md` — an agent-readable setup guide so tools like Cline can
32+
configure engram autonomously (global install → `engram init` → the
33+
`mcpServers` config block).
34+
35+
## Internal
36+
37+
- CI installs ripgrep (best-effort) so the grep never-worse-gate tests run on the
38+
runners; first dedicated tests for the git-miner and the mtime-keyed refs cache.
39+
40+
**Upgrade:** `npm i -g engramx@4.3.2` (or `npx engramx@4.3.2`). No migration.
41+
If you set engram up as an MCP server from the old README, update the command to
42+
`npx -y -p engramx engram-serve <absolute-project-path>`.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "engramx",
3-
"version": "4.3.1",
3+
"version": "4.3.2",
44
"mcpName": "io.github.NickCirv/engram",
55
"description": "The context spine for AI coding agents. 9 built-in providers + mcpConfig plugin contract (wrap any MCP server in 10 lines), generic MCP-client aggregator (stdio), pre-mortem mistake-guard, bi-temporal mistake memory, Anthropic Auto-Memory bridge, SSE streaming context packets, dual-emit AGENTS.md+CLAUDE.md. Up to ~89% per-file structural context reduction (codebase-dependent; reproducible bench included). Local SQLite, zero cloud.",
66
"repository": {

server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
"url": "https://github.com/NickCirv/engram",
77
"source": "github"
88
},
9-
"version": "4.3.1",
9+
"version": "4.3.2",
1010
"packages": [
1111
{
1212
"registryType": "npm",
1313
"identifier": "engramx",
14-
"version": "4.3.1",
14+
"version": "4.3.2",
1515
"transport": {
1616
"type": "stdio"
1717
},

0 commit comments

Comments
 (0)