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.

Rust
Node.js
Python
Go

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.