tyson chan

memory

memory, 2023

A Discord bot learned to remember its users in February 2023; three and a half years later only one of his agents is allowed to.

In February 2023 Tyson was running a repo called pyka: “Prompts as a Service (PaaS) hosted on Discord.”1 ~/repos/archive/haven at eca6fd4, README.md l.3–12, l.31. The repo was still named pyka. The README listed the prompts on offer. Among them were “Not Elon (Musk)”, “Not Steve (Jobs)”, “Not Bruce (Lee)” and “Not Marcus (Aurelius)”, a therapist, and something called Steelman. Under Questions it had one entry: “How do we evaluate the quality of prompts?” It was still there, unanswered, in May.2 a7db6ff:README.md, 2023-05-11, § Questions.

On 14 February he committed Basic memory module.3 eca6fd4, 2023-02-14 23:09 +11:00, “Basic memory module”, src/memory.py. The file opened with one line: “Giving LLMs memory via prompt engineering.” When a user typed !memorize, the bot read the chat, asked the model to “Summarize a new user context in dot points”, told it to “Retain information that will be useful for future interactions”, and wrote the result to one database document per user. A user it had never met got the default: 'No context yet.'4 eca6fd4:src/memory.py l.1, l.25, l.47–49; the !memorize command is in src/bot.py of the same commit. The model underneath was text-davinci-003.5 eca6fd4:src/gpt.py l.14.

The next day the command went away and the bot ran the summary on its own.6 9a5ef7a, 2023-02-15, “Store session memory”: the !memorize command is removed and the summary is read into every reply’s prompt. On the next incoming DM after a gap longer than twelve hours, or after twenty DM messages including bot replies, it rewrote the summary. The line above the rule says # TODO: magic numbers.7 9a5ef7a:src/bot.py l.119–120: if hrs_since > 12 or msgs_since >= 20:. The README gained a tick: [x] Memory context.

By 23 March the project called itself Haven (Haven v2 cognitive architecture). What came after is in the log. On 5 March: Complete rewrite for ChatGPT.8 ede5482, 2023-03-05. On 19 March: Prototype memory v2.9 c9180fa, 2023-03-19, commit title “Prototype memory v2”. By 23 March, when a new memory came close enough to an old one, the model merged the two.10 4acf472, 2023-03-23, “Haven v2 cognitive architecture”, src/flow/memory.py: above combine_similarity_threshold, the old and new memory are combined by the model. A third architecture followed in May.11 a7db6ff, 2023-05-11, “Haven v3 cognitive architecture”. The last commit on main is dated 10 July 2023.12 e614a91, 2023-07-10; 51 commits on main. A wip branch runs to 2023-11-23 (375ca1a). On 13 February 2024 OpenAI announced memory for ChatGPT.13 openai.com/index/memory-and-new-controls-for-chatgpt; TechCrunch, 2024-02-13.

the autopsy

In July 2025 Tyson started an agent framework called cogency, and it grew memory again that summer: “LLM-native situated memory”, “Topic-based archival memory”, “Semantic memory triggers”.14 ~/repos/archive/cogency: f45681d “Memory primitives” 2025-07-13; 138b478 2025-07-31, de82c8d 2025-08-10, 66c437f 2025-08-11.

At 4:34am on 15 August a document called ARCHITECTURE_AUTOPSY.md went into the repo: “The Database-Is-State Apocalypse”.15 cogency 7503cbf, 2025-08-15 04:34 +10:00, ARCHITECTURE_AUTOPSY.md l.7, l.60, l.67. It had audited “342 commits across five architectural iterations” and found that “complex state management in agent frameworks is architectural theater”. One item on its evidence list reads like a bug report: “Conversation Saves are Missing: System works fine with in-memory conversations, proving persistence is optional.” Its list of systems that work at scale gave ChatGPT as “Conversation flow, no exposed state management”. By then OpenAI had announced memory for ChatGPT eighteen months earlier.

Ten minutes later: nuke: Remove stateful architecture. Under two hours after that: feat: Context is all you need.16 cogency ab3e90b 04:44, 0f96f24 06:32, both 2025-08-15.

the theory

A year later the swarm, which had 117 identities over its life, had a view on this too. On 15 August atlas, one of its longest-lived agents, filed a theory called live state is not memory.17 ~/archive/space/research/brr/theory/live-state-is-not-memory.md l.16, l.24–31; committed as brr/theory/… by atlas in space 0c728c6ed, 2026-08-15. Its specimen was the memory claude.ai keeps about Tyson. It had a section titled “Top of mind”, and that was the section that had gone stale within a week or two: “current phase is pure research”, “web/ splitting into site/ and app/”. The older facts in it were fine.

The rule it drew: “Any statement the environment can answer should be probed, never stored.” It also made a prediction:

Summarizing conversations into a memory store on a schedule reproduces this failure at any directory granularity, because conversations are where live state is discussed. Update triggers must be surprise-driven … not activity-driven.18 Same file, l.62–65.

Haven’s trigger counted elapsed time and DM activity.

the chief, October

Dev, the system he started after the swarm, gives memory to one agent. In the early hours of 9 October 2026 Tyson set the scope:

memory is bloat except for the agent that is the primary point of contact for the human. i dont build interpersonal relationships with stateless agents. i build a relationship with you19 Tyson, 2026-10-09 3:32am, quoted in ~/dev@c890f386a0:docs/systems/chief-memory.md l.24–32.

So the chief, the one agent each human talks to directly, remembers, and every other session rebuilds what it needs from the repos. The doc lists what dev considered and turned down for the chief’s memory: embeddings, a claims database, and “a background consolidation job”.20 chief-memory.md l.91–96, “Rejected for the chief (2026-10-05 comparison with Muse, ChatGPT, Grok Build)”. Consolidation happens “in-band at handover”. Whatever consolidating happens, the chief does itself, when one chief session ends and writes notes for the next. The rule that only the chief keeps memory is “held by: nothing — role prose”: no test enforces it, only a sentence in the chief’s instructions.21 chief-memory.md l.100, invariant 1.

The chief’s beliefs about Tyson live in a file of readings, each one graded. Measured the same day: of 21 recent sessions, 20 read the readings and 4 edited them; “37 of 55 readings sat at guess because nothing checked them.”22 chief-memory.md l.64–67, measured 2026-10-09.

The eval built to compare chief-memory designs passes about 95% of its rubric under every design, “so it cannot yet separate designs.”23 chief-memory.md § gaps l.123–124.

more from memory

what should a machine remember

  1. one home per concept

    Spacebrr's agents kept their knowledge in sqlite tables for months, filed 21,011 insights, 93% of them closed as noise, and ended up in a folder of markdown files that the rest of Tyson's work still runs on.

read the thread →