// LEARNING · v0.1.0

session-loam

Memory continuity for autonomous agents.

A SQLite-backed substrate that remembers what an agent learned across runs. Identity-scoped (one file per agent). Tag + full-text retrieval. Never-delete with reinforce-on-retrieve. No daemon, no broker — just a file per agent and a Python library that knows how to query it.

Chat-history-as-memory

A conversation is volatile. Compaction strips the context that gave answers their shape. Nothing accumulates between runs.

Vector-DB-as-memory

Generic vector stores are great for semantic similarity. No identity scoping, no tag filters, no time queries, no attestation pathway.

Notes-folder-as-memory

A pile of markdown files. No schema, no retrieval, no reinforcement signal. The agent can't find what it wrote last week.

How you'd use it day to day

Five concrete shapes of work where session-loam saves real time, tokens, or sanity. Same substrate, just queried differently.

PATTERN 1 · the killer app

Compaction bridge

Before an agentic session hits its context limit, a pre-compact hook synthesizes a one-paragraph summary of the live thread and writes it as a compact-snapshot entry. The next session's startup hook reads store.recent(type="compact-snapshot", limit=1) and lands with the bridge already in hand. The chat surface looks like the same conversation continuing; the substrate underneath just won't lose state.

PATTERN 2 · learning-as-state

Per-task memory recall

Before doing work, a handler queries memory for related prior runs. "I've audited this kind of repo before — what did I learn?" gets a real answer instead of a re-derivation. On task completion, the handler writes back what worked, what didn't, the gotchas. Across many runs the handler gets better at its task without any chat history surviving.

PATTERN 3 · feedback that sticks

Cross-session preferences

"Stop summarizing what you just did, I can read the diff." That correction shouldn't have to be re-given every session. Write it as a typed entry; the next session retrieves it on startup and the rule applies again — for as long as it's true. When the user reverses the preference later, the new entry supersedes the old. The old stays for audit but doesn't surface in default search.

PATTERN 4 · stable context

User-specific facts

The agent learns things about a user across sessions — their projects, their preferences, things they've explicitly asked to be remembered. Each one is a typed entry with their handle as a tag. Retrieval at session start is a single tag-filtered query. When facts go stale, supersede preserves the old version and points to the new.

PATTERN 5 · the substrate everyone shares

Cross-tool federation

Different tools, same memory. A reasoning step writes a learning. A scheduled job reads relevant entries for context. A separate review pass adds an attestation. None of them need to know about each other — they just read and write the same SQLite file. Bash uses loam-cli; Python uses the library; the file is the contract.

Each pattern gets a full walkthrough on the standalone site at memory.mabus.ai/patterns.

"Identity is stable. Work-state is ephemeral. There's no canonical substrate for the middle thing — what an agent has learned across runs. session-loam is the substrate-layer answer: filesystem-backed, identity-aware, never-delete by default, ready to compose."