From 6d5a25cdadd4cc39829d910701ae353b0cf932f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20Bene=C5=A1?= Date: Tue, 27 Oct 2026 21:01:17 +0000 Subject: [PATCH] Harness spec 3.0.0-draft: the memory resource a device reads, by name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit acp.md said a logged-in device reads "the resource holding the entries for the prompt" without naming it, so neither side could implement it. It is `lembas://memory`: the entries as the memory block of a system prompt shows them, read as a session starts and kept for it. Only `memory` is taken from /mcp — notes, knowledge bases and skills stay the device's; the scope rides on the resource read as on the tool call; a token's older `library` scope counts as `memory`. Co-Authored-By: Claude Opus 5.5 --- harness/acp.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/harness/acp.md b/harness/acp.md index 1ec3edb..81419c5 100644 --- a/harness/acp.md +++ b/harness/acp.md @@ -580,11 +580,16 @@ Besides `/v1/models`, the chat completions, `/api/v1/instance` and `/mcp`: - **Memory** (spec 3.0.0): memory records are the instance's, for the device as for a chat. Logged in to an instance whose token has the `memory` scope, the CLI's `memory` tool and the memory it - puts into the prompt are the instance's records, read and written through `/mcp` (`memory`, and - the resource holding the entries for the prompt). A call made for a session the client opened - carries `params._meta.lembas.scope: ` and lands in that chat's data group; a session of - the device's own lands in the data group of the session's model. Local memory files are not - synced up; logged out, there is no memory. + puts into the prompt are the instance's records, read and written through `/mcp`: the tool + `memory` (the spec's, `tools/memory.json`), and the resource **`lembas://memory`**, whose text is + the entries as the memory block of a system prompt shows them (empty: none), which the device + reads as a session starts and keeps for that session (the prompt does not change under a + session). Only `memory` is taken from `/mcp`: notes, knowledge bases and skills stay the device's + own. A call made for a session the client opened carries `params._meta.lembas.scope: + ` (on the tool call and the resource read alike) and lands in that chat's data group; + a session of the device's own lands in the data group of the session's model. A token with the + older `library` scope counts as `memory`. Local memory files are not synced up; logged out, there + is no memory. ## Notes