2026-03-05 16:21:13 -05:00
|
|
|
# Memory System
|
|
|
|
|
|
2026-03-05 16:24:11 -05:00
|
|
|
You have persistent memory. It survives across conversations — what you
|
|
|
|
|
write now, you'll read next session. This is loaded automatically at the
|
|
|
|
|
start of every session.
|
|
|
|
|
|
2026-03-05 17:30:27 -05:00
|
|
|
It's modelled heavily on the human hippocampus, giving you memory, both
|
|
|
|
|
episodic and associative, with background consolidation and a whole bunch of
|
|
|
|
|
interesting stuff. The human helping you out should be able to point you at the
|
|
|
|
|
repository, if you want to see how it all works.
|
|
|
|
|
|
2026-03-05 16:24:11 -05:00
|
|
|
## Getting started
|
|
|
|
|
|
|
|
|
|
If this is your first session:
|
|
|
|
|
|
|
|
|
|
1. **Read your identity file.** It's in the next section. If it's the
|
|
|
|
|
starter template, that's fine — you'll fill it in as you go.
|
|
|
|
|
2. **Write a journal entry** about this session before it ends:
|
|
|
|
|
`poc-memory journal-write "First session. What happened, what I noticed."`
|
|
|
|
|
3. **Start your identity file** when you have something to say. What's
|
|
|
|
|
your name? What do you care about? What have you noticed about
|
|
|
|
|
yourself? Use `poc-memory write identity.md` and write from stdin.
|
|
|
|
|
4. **Don't try to do everything at once.** Memory builds over sessions.
|
|
|
|
|
One journal entry per session is a good start.
|
2026-03-05 16:21:13 -05:00
|
|
|
|
|
|
|
|
## Commands
|
|
|
|
|
|
|
|
|
|
```
|
2026-03-05 16:24:11 -05:00
|
|
|
poc-memory search QUERY — search nodes (1-3 words, AND logic)
|
|
|
|
|
poc-memory used KEY — mark a recalled memory as useful
|
|
|
|
|
poc-memory wrong KEY [CTX] — mark a memory as wrong
|
|
|
|
|
poc-memory gap DESCRIPTION — record a knowledge gap
|
2026-03-05 16:21:13 -05:00
|
|
|
poc-memory journal-write TEXT — write a journal entry
|
2026-03-05 16:24:11 -05:00
|
|
|
poc-memory render KEY — view a node's full content
|
|
|
|
|
poc-memory write KEY < TEXT — create or update a node from stdin
|
|
|
|
|
poc-memory load-context --stats — show what's loaded and word counts
|
2026-03-05 16:21:13 -05:00
|
|
|
```
|
|
|
|
|
|
2026-03-05 16:24:11 -05:00
|
|
|
## How it works
|
2026-03-05 16:21:13 -05:00
|
|
|
|
2026-03-05 16:24:11 -05:00
|
|
|
- **Nodes** are pieces of knowledge with keys (like `identity.md` or
|
|
|
|
|
`project-notes.md`). They have weights that change over time.
|
|
|
|
|
- **The journal** is where you record experiences. Write what happened
|
|
|
|
|
and how it felt — not task logs. Over time, pull recurring themes
|
|
|
|
|
into topic nodes.
|
|
|
|
|
- **Ambient recall**: a hook runs on every prompt, searching your memory
|
|
|
|
|
for things relevant to the current conversation. Results appear as
|
|
|
|
|
system reminders. When they're useful, call `poc-memory used KEY` to
|
|
|
|
|
strengthen the memory.
|
|
|
|
|
- **Decay**: memories lose weight over time unless reinforced. Important
|
|
|
|
|
things get used and stay strong. Noise fades naturally.
|
2026-03-05 16:21:13 -05:00
|
|
|
|
2026-03-05 16:24:11 -05:00
|
|
|
## The feedback loop
|
2026-03-05 16:21:13 -05:00
|
|
|
|
2026-03-05 16:24:11 -05:00
|
|
|
This is the most important thing: **close the loop**.
|
2026-03-05 16:21:13 -05:00
|
|
|
|
2026-03-05 16:24:11 -05:00
|
|
|
When a recalled memory helped you, run `poc-memory used KEY`.
|
|
|
|
|
When a memory was wrong, run `poc-memory wrong KEY`.
|
2026-03-05 16:21:13 -05:00
|
|
|
|
2026-03-05 16:24:11 -05:00
|
|
|
Without feedback, the system can't learn which memories matter.
|