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"