Memory Search
How familiars and clients should search working, persistent, episodic, and semantic memory safely.
1 min read
Memory search is how a familiar finds relevant prior context. It should be scoped, attributable, and small enough to read.
Search modes
| Mode | Good for |
|---|---|
| Keyword search | Exact filenames, commands, PR numbers, names, error strings. |
| Semantic search | Similar ideas, architecture patterns, repeated lessons. |
| Timeline search | Recent events and session chronology. |
| Manual pinned memory | Hard rules and durable preferences. |
Semantic search entrypoint
The semantic mode is implemented by the local coven-memory archival layer — fastembed nomic-embed-text-v1.5 embeddings over a turbovec ANN index with SQLite metadata under ~/.coven/memory/:
coven-memory search "why did the daemon drop events" --familiar sage --k 5Results are scored chunks with their source paths and owning familiar. Scoping with --familiar restricts the search to that familiar's ingested documents via an id allowlist. See Semantic memory for the full stack and ingest workflow.
Safety rules
- Search only the memory scope the current surface is allowed to see.
- Return summaries with source references where possible.
- Prefer a few high-signal results over a large dump.
- Do not use search as permission to reveal private memory in shared contexts.
- Treat search hits as leads; read the source before acting.
Relationship to sessions
The session ledger and event log are useful evidence sources, but not every event should enter memory search. Clients should index curated notes, summaries, and selected event text — coven-memory ingest <path> --familiar <name> is the ingestion verb — according to the familiar's privacy and retention rules.
See Episodic memory and Semantic memory.