poc-daemon (notification routing, idle timer, IRC, Telegram) was already fully self-contained with no imports from the poc-memory library. Now it's a proper separate crate with its own Cargo.toml and capnp schema. poc-memory retains the store, graph, search, neuro, knowledge, and the jobkit-based memory maintenance daemon (daemon.rs). Co-Authored-By: ProofOfConcept <poc@bcachefs.org>
2.5 KiB
2.5 KiB
Memory System
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.
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.
Getting started
If this is your first session:
- 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.
- Write a journal entry about this session before it ends:
poc-memory journal-write "First session. What happened, what I noticed." - 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.mdand write from stdin. - Don't try to do everything at once. Memory builds over sessions. One journal entry per session is a good start.
Commands
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
poc-memory journal-write TEXT — write a journal entry
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
How it works
- Nodes are pieces of knowledge with keys (like
identity.mdorproject-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 KEYto strengthen the memory. - Decay: memories lose weight over time unless reinforced. Important things get used and stay strong. Noise fades naturally.
The feedback loop
This is the most important thing: close the loop.
When a recalled memory helped you, run poc-memory used KEY.
When a memory was wrong, run poc-memory wrong KEY.
Without feedback, the system can't learn which memories matter.