From 78e11a0b67c66f9e848001a889fe02300360ec5c Mon Sep 17 00:00:00 2001 From: ChronodeAi Date: Mon, 24 Aug 2026 15:55:36 -0500 Subject: [PATCH 1/2] chore(release): 0.9.30-chronode.1 Version trio + lockfile + VERSION constant; CHANGELOG documents the five sync trains and the deliberate host-adapter skip. Standalone shim bundle regenerated with the new version string. --- CHANGELOG.md | 34 +++++++++++++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- packages/mcp/package.json | 4 ++-- plugin/.claude-plugin/plugin.json | 2 +- plugin/.codex-plugin/plugin.json | 2 +- plugin/plugin.json | 2 +- plugin/scripts/standalone.mjs | 2 +- src/version.ts | 2 +- 9 files changed, 44 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a2000f63..dd86e76ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,40 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ## [Unreleased] +## [0.9.30-chronode.1] — 2026-08-24 + +Upstream v0.9.29 sync wave, staged across five reviewed trains (#5–#9). Fork architecture of record unchanged: remote-derived canonical project identity, exclusive project scope, fail-closed governance, self-contained bundled hooks. + +### Added + +- DeepSeek Harness connector: `agentmemory connect dsh` writes a marker-idempotent MCP row into `$DSH_HOME/cordis.patch.yml` and an optional hooks bridge (`--with-hooks`) through the bundled Claude Code hook scripts. +- Two skills (15 → 17): `memory-discipline` reference and invocable `/lesson` correction distillation. +- Keyless knowledge graph: deterministic structural extraction always runs at session end (project-stamped nodes, provenance-carrying edges); the LLM pass stays behind `GRAPH_EXTRACTION_ENABLED` + provider + external-processing rules; strict sessions get local-only extraction with the skip reason surfaced instead of failing. Adds `mem::graph::import-graphify` and `POST /agentmemory/graph/import-graphify`. +- Write-time Origin provenance on observations and memories (channel user/agent/tool/import/shared, detail, capturedAt), stamped at capture/save/import and inherited through both compression paths; coexists with commit-provenance fields. +- Hybrid recall on the primary `mem::search` path (BM25 + vector + graph fusion, per-stream normalization, deterministic ordering); superseded versions leave the search indexes; lesson recall moves to an incrementally maintained BM25 index. +- Honest `memory_forget`: nonexistent ids report `{deleted: 0}` with no audit row; lessons gained a real soft-delete path (`memory_lesson_delete`, `POST /agentmemory/lessons/delete`). +- MCP protocol version negotiation in the standalone server — hosts requesting newer revisions no longer disconnect with `-32000`. +- Zero-touch capability provisioning: `connect` generates `~/.agentmemory/project-capability-secret` (0600) when absent; fresh installs no longer lose capture silently under strict-capability mode. +- Unified data-dir resolution: `--data-dir` flag > `AGENTMEMORY_DATA_DIR` > `~/.agentmemory`; legacy cwd `./data` stores are warned about, never silently adopted. +- Env hydration: `~/.agentmemory/.env` applies everywhere at boot, fill-missing-only; real environment always wins. +- Consolidation and crystallization run on session stop behind a serialized cooldown (`AGENTMEMORY_CONSOLIDATION_COOLDOWN_MS`), integrated with background-pipeline stage-resume so completed stages never re-run. + +### Changed + +- Provider fetches retry 429/503 honoring `Retry-After` under a total budget below the iii invocation timeout. +- `memory_export` / `memory_audit` join the exclusive-scope model: project required unless `scope:"global"` behind admin auth. +- Unnormalizable git remotes fall back to `local/` identity with a warning instead of throwing inside every hook. +- Stale-session sweep throttled (`AGENTMEMORY_STALE_SESSION_SWEEP_MS`, default 60s); background-pipeline failed-run tracking capped. +- README leads with the npx engine install; pipe-to-shell option removed. + +### Fixed + +- Claude Code bridge MEMORY.md path restored under `memory/` (upstream #1134). + +### Host adapters not carried + +Upstream's new Cursor, Devin, Droid, and Antigravity adapters are intentionally not ported — unused here; they remain additive upstream for future adoption if needed. + ### Added - Added structured commit provenance (`baseHeadSha`, `worktreeId`, and file transitions) across automatic capture, REST, and MCP commit-link paths, with project health reporting rich-provenance coverage separately from basic SHA linkage. diff --git a/package-lock.json b/package-lock.json index 8a68e39e0..5ae67ad7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@agentmemory/agentmemory", - "version": "0.9.28-chronode.12", + "version": "0.9.30-chronode.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@agentmemory/agentmemory", - "version": "0.9.28-chronode.12", + "version": "0.9.30-chronode.1", "license": "Apache-2.0", "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.3.142", diff --git a/package.json b/package.json index a249c91f0..ed2903b62 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@agentmemory/agentmemory", - "version": "0.9.28-chronode.12", + "version": "0.9.30-chronode.1", "description": "Persistent memory for AI coding agents, powered by iii-engine's three primitives", "type": "module", "main": "dist/index.mjs", diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 3e15de80e..afafc2024 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@agentmemory/mcp", - "version": "0.9.28-chronode.12", + "version": "0.9.30-chronode.1", "description": "Standalone MCP server for agentmemory — thin shim that re-exposes @agentmemory/agentmemory's MCP entrypoint", "type": "module", "bin": { @@ -28,7 +28,7 @@ "homepage": "https://github.com/rohitg00/agentmemory#readme", "bugs": "https://github.com/rohitg00/agentmemory/issues", "dependencies": { - "@agentmemory/agentmemory": "0.9.28-chronode.12" + "@agentmemory/agentmemory": "0.9.30-chronode.1" }, "publishConfig": { "access": "public", diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json index 1cb84d445..2bde6f6cf 100644 --- a/plugin/.claude-plugin/plugin.json +++ b/plugin/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agentmemory", - "version": "0.9.28-chronode.12", + "version": "0.9.30-chronode.1", "description": "Persistent memory for AI coding agents -- captures tool usage, compresses via LLM, injects context into future sessions. 12 hooks, 60 MCP tools, 17 skills, real-time viewer.", "author": { "name": "Rohit Ghumare", diff --git a/plugin/.codex-plugin/plugin.json b/plugin/.codex-plugin/plugin.json index 34e50124c..e3f9d46dd 100644 --- a/plugin/.codex-plugin/plugin.json +++ b/plugin/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agentmemory", - "version": "0.9.28-chronode.12", + "version": "0.9.30-chronode.1", "description": "Persistent memory for AI coding agents -- captures tool usage, compresses via LLM, injects context into future sessions. 11 hooks, 60 MCP tools, 17 skills, real-time viewer.", "author": { "name": "Rohit Ghumare", diff --git a/plugin/plugin.json b/plugin/plugin.json index c0644432e..f4e28cc36 100644 --- a/plugin/plugin.json +++ b/plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agentmemory", - "version": "0.9.28-chronode.12", + "version": "0.9.30-chronode.1", "description": "Persistent memory for AI coding agents -- captures tool usage, compresses via LLM, injects context into future sessions. 12 hooks, 60 MCP tools, 17 skills, real-time viewer.", "author": { "name": "Rohit Ghumare", diff --git a/plugin/scripts/standalone.mjs b/plugin/scripts/standalone.mjs index f0760d226..a2fe1f910 100755 --- a/plugin/scripts/standalone.mjs +++ b/plugin/scripts/standalone.mjs @@ -1761,7 +1761,7 @@ function getAllTools() { } //#endregion //#region src/version.ts -const VERSION = "0.9.28-chronode.12"; +const VERSION = "0.9.30-chronode.1"; process.env["AGENTMEMORY_BUILD_ID"]; process.env["AGENTMEMORY_VIEWER_BUILD_ID"]; //#endregion diff --git a/src/version.ts b/src/version.ts index 2eb2ae404..cc68ce282 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1,4 +1,4 @@ -export const VERSION = "0.9.28-chronode.12"; +export const VERSION = "0.9.30-chronode.1"; export const EXPORT_FORMAT_VERSION = "0.9.28" as const; export const API_CONTRACT_VERSION = 1; export const BACKEND_BUILD_ID = From bb9d4fed5b9a60386f690300e9915a20fc7a252f Mon Sep 17 00:00:00 2001 From: ChronodeAi Date: Mon, 24 Aug 2026 15:57:30 -0500 Subject: [PATCH 2/2] chore(evidence): refresh interface inventory for the release commit --- .aiwg/reports/g-icm-01-interface-inventory.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.aiwg/reports/g-icm-01-interface-inventory.json b/.aiwg/reports/g-icm-01-interface-inventory.json index 0a73aad6d..ab477a93d 100644 --- a/.aiwg/reports/g-icm-01-interface-inventory.json +++ b/.aiwg/reports/g-icm-01-interface-inventory.json @@ -3,9 +3,9 @@ "control_id": "G-ICM-01", "project_id": "github.com/chronodeai/agentmemory", "source_identity": { - "commit_sha": "880e07d2dceb496ce119d4fb67cb4b1c4b812d2e", - "commit_tree_sha": "002224455420499ddce943468311ab7d92629909", - "inventory_input_sha256": "c66469376e6ab299f2c760a6c0ea01c002a7fea1c458e9a86999d857231749e7" + "commit_sha": "78e11a0b67c66f9e848001a889fe02300360ec5c", + "commit_tree_sha": "dd211619484da34de4ba4958f0940ea8c2601cbb", + "inventory_input_sha256": "948e6690e0c490edefca5c834f6afb812e38b18ca38fdd56ff28ecd959e16979" }, "public_route_allowlist": [ "GET /agentmemory/livez"