Harness spec 3.0.0-draft: the memory resource a device reads, by name

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 <noreply@anthropic.com>
This commit is contained in:
HomerandClaude Opus 5.5 committed 2026-10-27 21:01:17 +00:00
1 parent 28ff205ed0
commit 6d5a25cdad
1 file changed
+10 -5
+10 -5
View File
@@ -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 - **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 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 puts into the prompt are the instance's records, read and written through `/mcp`: the tool
the resource holding the entries for the prompt). A call made for a session the client opened `memory` (the spec's, `tools/memory.json`), and the resource **`lembas://memory`**, whose text is
carries `params._meta.lembas.scope: <sessionId>` and lands in that chat's data group; a session of the entries as the memory block of a system prompt shows them (empty: none), which the device
the device's own lands in the data group of the session's model. Local memory files are not reads as a session starts and keeps for that session (the prompt does not change under a
synced up; logged out, there is no memory. 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:
<sessionId>` (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 ## Notes