docs: give Data a memory it lands itself, in its own checkout - #7
Conversation
|
This pull request, titled "docs: give Data a memory it lands itself," introduces a new memory model for Data. Previously, Data's conversations and memory were ephemeral, residing only in the runtime. This change establishes a durable memory within the
Reviewers should begin by examining |
1 similar comment
|
This pull request, titled "docs: give Data a memory it lands itself," introduces a new memory model for Data. Previously, Data's conversations and memory were ephemeral, residing only in the runtime. This change establishes a durable memory within the
Reviewers should begin by examining |
The inbox-and-sweep design predates the self-hosted Letta cutover, where the claim it rested on stopped being true: Data's model no longer lacks a shell or write tools, and its memory is a git-backed directory it commits to itself. The prompt now tells Data to land a durable, source-cited record in its own memory in the same turn it learned it, rather than staging it for another process to commit. AGENTS.md and README.md describe that memory as the agent's own checkout, separate from the published artifacts in this repository.
34e0b24 to
3f90c86
Compare
Two gaps the prompt left open, now closed in the prompt and the two guides that describe memory: - Records live outside `system/`, under `records/<topic>.md`. Nothing said so, so an agent could park a record where the runtime loads it on every turn and pay for it forever, or drop the `description` frontmatter and lose the index that makes the tree navigable. - A commit outlives the session but not the host: the memory checkout has no git remote, so durability rests on the weekly local memory backup. The text read as if git meant synced.
|
Review follow-ups landed in
Green: |
|
Merged as
Note for this thread: the inbox-and-sweep design described in the earlier discussion is dropped — Data lands records in its own memory checkout, and there is no inbox or sweep. Automating the re-seed is tracked separately in #16. |
Data does not persist between sessions, and it keeps nothing of a conversation unless it lands somewhere durable. This makes that memory real and makes Data proactive about it.
Rewritten 2026-09-25 for the self-hosted cutover. The first version of this branch described an inbox plus a scheduled landing sweep, because the pre-cutover Data was a Zo persona with no shell and no write tools. That premise is gone: Data now runs as a self-hosted Letta agent (
wazootech/data#10) whose memory is a git-backed tree of markdown it reads and commits to itself. The inbox, the sweep automation, and the.gitignoreentry are dropped; the surviving idea — Data lands what it learned, itself, as a source-cited record — is now aimed at that memory.What changed
agent/instructions.md— narrows the read-only rule to the codebase (Data's own memory is the one place it writes) and adds a Memory section: Data lands a durable record in its own memory in the same turn it learned it; a valid record is verified against source with the repository, path, and line numbers it used, is reusable next quarter, and is safe to publish; corrections land next to the thing they correct; paths and lines are read, not recalled; Data never claims to have landed something it has not committed; engineering findings still hand off to Computer.AGENTS.md— describes Data's memory as the agent's own checkout (~/.letta/lc-local-backend/memfs/<agent-id>/memory, seeded fromagent/instructions.mdassystem/persona.md), adds a Memory records section, and restates the write boundary: Data writes only to its own memory.README.md— adds a Memory bullet under How Data runs and widens the toolset bullet to name the memory write.Verification: docs only; no code path touched, CI's typecheck and test are unaffected.
After merge: run
npm run sync-personainwazootech/datato seedagent/instructions.mdinto the live agent's memory assystem/persona.md— until that runs, the live persona is the pre-cutover text. The pausedData Memory Landing Sweepautomation (b59efac2-ea45-4353-b7a3-3472c1ca55c6) is obsolete under this design and can be deleted.Merge gate: merging to
mainis Ethan's call per the workspace boundary.