Skip to content
Coder8124 edited this page Oct 31, 2026 · 1 revision

Memory

Checkpoints record where work stopped. Memories record what stays true across tasks: a preference, a person, a constraint, a procedure, a decision that held.

Kinds

Kind Example
fact "Deploys go out on Tuesdays"
preference "I prefer terse replies with no preamble"
person "Priya owns the billing service"
context "The team is migrating from Postgres 14 to 16 this quarter"
procedure route: run migrations with --lock | trap: two deploys race without it | verify: make migrate-check

A memory belongs to the current project unless it's marked global (remember with global: true).

Adding, correcting, removing

$ logos memory add "deploys go out on Tuesdays"
remembered — memory #1.

$ logos memory
  [1] (fact  sal 0.70 · conf █████ 0.90) deploys go out on Tuesdays

$ logos memory correct 1 "deploys go out on Wednesdays since October"
$ logos memory forget 1
  • correct replaces a memory but keeps the old version in its history, out of recall. Prefer it over forget-then-add, because the history shows the fact changed rather than vanished.
  • pin <id> always includes the memory in this project's context packs.
  • exclude <id> keeps it on record but never shows it.
  • sal is salience (how prominent it is) and conf is confidence. Memories that aren't used fade over time. logos show names what decay is ranking down.

The review queue

Memories an agent proposes, and instruction files or transcripts you import, can wait in a review queue instead of being written straight away. Nothing from an agent becomes durable memory without a path you control.

logos review                    # accept or reject queued memories
logos review --candidates       # checkpoints distilled from transcripts
logos review --connections      # links a dream proposed between notes

logos config auto config review on lets a narrow class through automatically: a memory that cites a live transcript turn, has nothing redacted, contradicts nothing, and is a decision or a procedure with a trap. Anything contested still waits for you.

Watching what changed

logos memory log                 # every change, newest first
logos memory diff --days 7       # learned or dropped this week
logos memory history 12          # one memory's history
logos memory recall "deploy"     # exactly what an agent's recall would get
logos stats --memory             # composition, growth, what it leans on

Dreaming

logos memory dream is a nightly consolidation pass. It replays recent memories, fades unused ones, and proposes connections between notes, which then wait in logos review --connections. It uses the local chat model, so it needs a runtime. --dry-run shows what it would do. To run it automatically once a day at session start, use logos config auto config dream on.

Open loops

Commitments still to do ("I'll send the migration plan Friday"):

logos memory loop               # list
logos memory loop add "send the migration plan"
logos memory loop done <id>

They appear in context packs until they're closed.

Where it lives

memories/<kind>.md and the files beside it are plain markdown. Each line ends in an <!-- logos id=… --> comment that carries its id, confidence and history. Edit the text in front of the comment to fix a fact, then run logos index; leave the comment alone. memories/log.md is the timeline of every change. Deleting .logos/ and re-indexing brings back the same ids and confidences.

Clone this wiki locally