From 6ea75aff9061e62ebbd7d1804583482ed2468200 Mon Sep 17 00:00:00 2001 From: Sami Rusani Date: Sat, 15 Aug 2026 15:29:55 +0200 Subject: [PATCH] v0.15.4 release prep: make the agent-install path correct Version moves to 0.15.4 in both manifests, with release notes, changelog entry and candidate markers across the control docs. This release exists because the published version does not yet carry the fixes an agent needs. v0.15.3 is what 'uvx alice-memory' installs today, and in it the tool descriptions steer an agent to alice_capture for anything it learns, which is review-gated, so the write reports success and alice_recall never returns it. Five of eleven core tools also reject agent identity, so an agent that stamps agent_id on every call fails on every read. Both are corrected on main and neither is published, which makes cutting this release the difference between a first Hermes install that works and one that silently loses everything it is told. No behaviour changed in alice_capture. It is review-gated by design and stays that way. Only the descriptions changed, so that an agent choosing between the two write verbs chooses the one that matches its intent. The notes name the remaining rough edge rather than hiding it: every caller-facing failure returns the single generic code tool_request_failed, so an agent cannot tell a bad argument from a missing record. A wider code taxonomy is designed and deliberately deferred, because it is quality rather than a blocker and the design touches a security control that suppresses exception text. Release-note state is pending/pending until the artifacts exist. Verified: release_check PASS for 0.15.4, control-doc truth PASS, release-static clean, 4544 unit passed 2 skipped, ruff and mypy clean across 233 files. --- .ai/handoff/CURRENT_STATE.md | 4 ++ ARCHITECTURE.md | 2 + CHANGELOG.md | 15 +++++ CURRENT_STATE.md | 4 ++ PRODUCT_BRIEF.md | 2 + README.md | 2 + RELEASING.md | 2 + ROADMAP.md | 2 + apps/web/package.json | 2 +- docs/release/v0.15.4-release-notes.md | 80 +++++++++++++++++++++++++++ docs/vnext/README.md | 2 + pyproject.toml | 2 +- 12 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 docs/release/v0.15.4-release-notes.md diff --git a/.ai/handoff/CURRENT_STATE.md b/.ai/handoff/CURRENT_STATE.md index cf6aa67c..95b72f6f 100644 --- a/.ai/handoff/CURRENT_STATE.md +++ b/.ai/handoff/CURRENT_STATE.md @@ -153,3 +153,7 @@ carried a release-gate step that could not run on a CI runner, so the gate could never pass from that tag, and repository rules correctly refuse both deletion and update of stable tags. No GitHub Release or PyPI artifact was ever created for it. + +## What `v0.15.4` Targets + +`v0.15.4` is the current release candidate. It is not published. diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 9161ee8b..dab9c3bd 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -249,3 +249,5 @@ usage justifies a separately reviewed boundary. `v0.15.3` is the latest published release and remains the install, checksum, and baseline reference. + +`v0.15.4` is the current release candidate. It is not published. diff --git a/CHANGELOG.md b/CHANGELOG.md index c02a1dfc..8d741c00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,21 @@ ## Unreleased +## v0.15.4 — 2026-08-15 + +- Corrected the MCP write-verb descriptions, which were steering agents into the + review queue. `alice_memory_commit` is now described as the verb for ordinary + memory, to be used whenever the agent learns something worth keeping including + when the user has not asked. `alice_capture` now states that its content is not + returned by `alice_recall` until reviewed. No behaviour changed. +- All eleven core MCP tools accept agent identity fields. Five previously + rejected them (`alice_recall`, `alice_resume`, `alice_recent_decisions`, + `alice_explain`, `alice_memory_correct`), so an agent that stamped `agent_id` + on every call failed on every read. + +Additive on the request side. No migration, no schema change, no configuration +change. + ## v0.15.3 — 2026-08-15 - First release published from `samrusani/AliceMemory`. Project URLs corrected; diff --git a/CURRENT_STATE.md b/CURRENT_STATE.md index cf6aa67c..95b72f6f 100644 --- a/CURRENT_STATE.md +++ b/CURRENT_STATE.md @@ -153,3 +153,7 @@ carried a release-gate step that could not run on a CI runner, so the gate could never pass from that tag, and repository rules correctly refuse both deletion and update of stable tags. No GitHub Release or PyPI artifact was ever created for it. + +## What `v0.15.4` Targets + +`v0.15.4` is the current release candidate. It is not published. diff --git a/PRODUCT_BRIEF.md b/PRODUCT_BRIEF.md index e984a3fb..89348b90 100644 --- a/PRODUCT_BRIEF.md +++ b/PRODUCT_BRIEF.md @@ -65,3 +65,5 @@ Agent developers — people building or operating AI agents who need durable, ex `v0.15.3` is the latest published release and remains the install, checksum, and baseline reference. + +`v0.15.4` is the current release candidate. It is not published. diff --git a/README.md b/README.md index 5fdbd227..2d968d7f 100644 --- a/README.md +++ b/README.md @@ -203,3 +203,5 @@ MIT — see [LICENSE](https://github.com/samrusani/AliceMemory/blob/main/LICENSE `v0.15.3` is the latest published release and remains the install, checksum, and baseline reference. + +`v0.15.4` is the current release candidate. It is not published. diff --git a/RELEASING.md b/RELEASING.md index e185a83f..e9dcd149 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -407,3 +407,5 @@ macOS with `shasum -a 256 -c SHA256SUMS`. `v0.15.3` is the latest published release and remains the install, checksum, and baseline reference. + +`v0.15.4` is the current release candidate. It is not published. diff --git a/ROADMAP.md b/ROADMAP.md index 6ce083ff..a8f668a4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -87,3 +87,5 @@ restore, recorded security disposition) shipped in Phases 4 and 5. `v0.15.3` is the latest published release and remains the install, checksum, and baseline reference. + +`v0.15.4` is the current release candidate. It is not published. diff --git a/apps/web/package.json b/apps/web/package.json index 7816d3df..182195a3 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,7 +1,7 @@ { "name": "@alicebot/web", "private": true, - "version": "0.15.3", + "version": "0.15.4", "packageManager": "pnpm@10.23.0", "scripts": { "dev": "next dev", diff --git a/docs/release/v0.15.4-release-notes.md b/docs/release/v0.15.4-release-notes.md new file mode 100644 index 00000000..ff087fe6 --- /dev/null +++ b/docs/release/v0.15.4-release-notes.md @@ -0,0 +1,80 @@ +# Alice v0.15.4 Release Notes + + +**Alice now works the way an agent expects when an agent installs it.** + +If you point an MCP-capable agent at Alice and let it record what it learns, +this is the release to take. Two things were making that experience worse than +it needed to be, and both are fixed. + +There is no schema change, no migration, and no configuration change. + +## The write verbs now point the right way + +The tool descriptions were steering agents into a review queue. + +`alice_capture` said *"use this whenever you learn something worth keeping"*, +while also being review-gated, so anything an agent recorded through it never +became recallable. `alice_memory_commit` said *"on the user's instruction +('remember this')"*, which told an agent to wait to be asked before recording +anything. + +So the tool that invited ambient use was gated, and the tool that works +unattended discouraged unattended use. An agent recording something it had just +learned took the path where the write reports success and `alice_recall` never +returns it. + +Both descriptions are corrected. `alice_memory_commit` is now described as the +verb for ordinary memory, to be used whenever the agent learns something worth +keeping, **including when the user has not asked it to remember**. +`alice_capture` now states plainly that its content is not returned by +`alice_recall` until reviewed, and names `alice_memory_commit` as the verb for +immediate recall. + +**No behaviour changed.** `alice_capture` is review-gated by design and remains +so. Only the descriptions changed, so that an agent choosing between them +chooses correctly. + +## Every core tool accepts an agent identity + +Five of the eleven core tools rejected agent identity fields while the other six +accepted them: `alice_recall`, `alice_resume`, `alice_recent_decisions`, +`alice_explain` and `alice_memory_correct`. One of those is a write verb. + +An agent that stamps `agent_id` on every call, which the commit tool's own +schema invites it to do, received a hard failure on every read. All eleven now +accept the identity properties. + +## Compatibility + +Additive on the request side. No property was removed, renamed or made +required, and no response shape changed. Callers that never sent identity are +unaffected; callers that did move from a hard failure to a successful call. + +No database migration. No schema change. No configuration change. The core tool +count is unchanged at eleven. + +## Known limitations + +Unchanged from `v0.15.3`: + +- **`/v1` authenticates but does not authorize.** Any valid key can do what any + other valid key can on those routes, and `/v1` writes record no agent, so a + quarantine sweep by key cannot reach them. Keep `/v1` loopback-only. +- **Importers trust the directory you point them at.** A local actor with write + access inside a selected import root can reach content outside it. +- **Archived import evidence is decoded text, not a byte image.** CRLF sources + archive as LF. + +One worth stating plainly for anyone integrating an agent: **tool failures +return a single generic code.** Every caller-facing failure reports +`tool_request_failed` with no detail, so an agent cannot distinguish a bad +argument from a missing record from an unbootstrapped database. A wider error +code taxonomy is designed and will land in a later release. Until then, the +server log carries the real reason. + +## Install + +```bash +pip install alice-memory==0.15.4 +``` diff --git a/docs/vnext/README.md b/docs/vnext/README.md index 4bb1377d..ba04c1ef 100644 --- a/docs/vnext/README.md +++ b/docs/vnext/README.md @@ -84,3 +84,5 @@ promotion of generated artifacts into trusted memory. `v0.15.3` is the latest published release and remains the install, checksum, and baseline reference. + +`v0.15.4` is the current release candidate. It is not published. diff --git a/pyproject.toml b/pyproject.toml index 2175c96c..dc7d90ac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "alice-memory" -version = "0.15.3" +version = "0.15.4" description = "Alice: the continuity layer for AI agents. Local-first memory with provenance, open loops, resumption, and review-governed writes." readme = "docs/pypi-description.md" license = "MIT"