Only memory comes from the server's /mcp; notes, knowledge and skills stay local
Harness spec 3.0.0 (acp.md *Memory*): memory records are the server's for the device as for a chat; everything else in the library is the device's own. - `library: lembas` (the default when the login's token has the `memory` scope, or the older `library`) adds the server's /mcp with its `memory` tool alone, in place of this machine's memory tool; notes_*, knowledge_* and skill_* are always this machine's. No prompts, resources or instructions are taken from it. - The memory in the prompt is the server's: the resource lembas://memory, read as a session starts (McpManager.readResource) and kept for it — put in while nothing has been sent, so the prompt never changes under a session. - A session the client opened (session/new, or opened from the store) sends its id as `_meta.lembas.scope` on every memory call and on the resource read (App.setScope); a session of the device's own sends none. - An instance's `library` context (its knowledge bases) is no longer read: the knowledge block names this machine's bases only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
10 files changed
+134
-93
No files matched your search
@@ -220,7 +220,7 @@ test("every {{variable}} in a description is declared, and none reaches a model"
|
||||
else expect(system).not.toContain("The current plan")
|
||||
}
|
||||
}
|
||||
app.setContext({ instructions: "Be brief.", prototypes: { offered: true, sources: "" }, library: { bases: [{ id: "k", name: "K" }] } }, "example")
|
||||
app.setContext({ instructions: "Be brief.", prototypes: { offered: true, sources: "" } }, "example")
|
||||
const withContext = app.engine.o.system("manual", app.engine.model, plan)
|
||||
expect(withContext).not.toContain("{{")
|
||||
expect(withContext).toContain("## Instructions from example\n\nBe brief.")
|
||||
|
||||
Reference in new issue
Block a user