design: Honcho as the M5c spec settles it (P23, amended)

Memory items 4 and 5: two workspaces per agent and one fleet workspace
for untrusted notes; the private ceiling, secret sessions never synced;
trusted memory writes mirrored as conclusions; the agent's peer not
observed; no rebuild, corrections by contra-fact or deleting our own
conclusion; the fleet workspace always untrusted. Recorded in
docs/decisions.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-27 22:32:32 -07:00
co-authored by Claude Opus 5.5
parent 4abed5bdd9
commit cdedf26987
+16 -10
View File
@@ -199,16 +199,22 @@ the inference contract, and it must not become a way for injected text to persis
3. **Local index.** SQLite FTS5 over the session logs and `memory/notes.md`, kept by `memoryd` 3. **Local index.** SQLite FTS5 over the session logs and `memory/notes.md`, kept by `memoryd`
and rebuildable with `bxctl reindex`. It needs no network and no model, so it still answers and rebuildable with `bxctl reindex`. It needs no network and no model, so it still answers
when Honcho is down. `memoryd` counts `recall` hits per note and when each was last found. Retrieval sits behind a `Retriever` trait. when Honcho is down. `memoryd` counts `recall` hits per note and when each was last found. Retrieval sits behind a `Retriever` trait.
4. **Honcho.** The fleet's memory service; it and the models it calls run on the owner's hosts. Each 4. **Honcho.** The fleet's memory service; it and the models it calls run on the owner's hosts.
Boxmaker writes finished turns to its own workspace, and only turns from sessions that saw no Each Boxmaker writes finished turns (the speaker's message and its own final reply, from their
untrusted content and are within a configured data class; `memoryd` enforces this itself. Entries own peers) to two workspaces of its own: a trusted one for turns from sessions that saw no
moved by `consolidate` are written there too. Honcho's own extraction, summaries and untrusted content, an untrusted one for the rest. Nothing above `private` is written, and a
consolidation replace a flush job of ours. What Honcho holds is derived from the session logs and session that reached `secret` is never synced; `memoryd` enforces this itself, asking
`memory/notes.md`, and can be rebuilt from them. `brokerd` for the session's state when the turn ends. Every trusted memory write is mirrored
5. **Workspaces and trust.** `memoryd` can read other workspaces. The owner marks each one there as a conclusion at once; untrusted notes go, as messages, to one workspace the whole
trusted or untrusted; untrusted is the default. Results from an untrusted workspace are marked fleet shares. The owner and other people are observed peers; the agent is not, so Honcho draws
untrusted and taint the session. Honcho's conclusions carry no per-entry provenance, so the no conclusions from its replies. Honcho's own extraction, summaries and consolidation replace a
filter is applied when writing and the label is per workspace. flush job of ours. Honcho is not rebuilt from the logs: what it holds wrongly is corrected by
writing a contrary fact, or, for a conclusion `memoryd` wrote, by deleting it.
5. **Workspaces and trust.** `memoryd` reads other agents' trusted workspaces, which the owner
marks trusted or untrusted (untrusted is the default), and the fleet workspace, which is always
untrusted. Results from an untrusted workspace are marked untrusted and taint the session.
Honcho's conclusions carry no per-entry provenance, so the filter is applied when writing and
the label is per workspace.
6. **Provenance on recall.** Recalled text is presented as data with its source and data class, 6. **Provenance on recall.** Recalled text is presented as data with its source and data class,
never placed in the system prompt, and taints the session with that class; a `memory-tainted` hit never placed in the system prompt, and taints the session with that class; a `memory-tainted` hit
marks the session untrusted. marks the session untrusted.