Memory
Persistent memory lets a session record what worked (and what didn't) and pull
those facts back later. SDK sessions have a default file-backed store at
<workspace>/.a3s/memory; the TUI defaults to ~/.a3s/memory so its /memory
panel and live session browse the same durable store. Pass a memoryStore only
when you want to override the path or backend. You can write outcomes explicitly
with rememberSuccess / rememberFailure, then retrieve them with
recallSimilar, recallByTags, or memoryRecent.
LLM extraction is also enabled by default. It runs after significant completed turns to distill durable preferences, workflows, decisions, and failure lessons, while trivial turns are skipped. Default stores consolidate exact and conservative near-duplicate memories into a canonical item, while conflict-like memories remain separate for future recall.
All four SDKs expose explicit memory write/query helpers. In Go these are
RememberSuccess, RememberFailure, RecallSimilar, RecallByTags,
MemoryRecent, and the working/short-term memory methods. The remember methods
take a short task description, the tools involved (also used as tags), and the
outcome text. If the default file store cannot be created, the session falls
back to in-process memory and exposes an init warning.