Your Claude Code agent forgets everything between sessions.
So you bolt on a memory service. Another API, another thing to run.
If you already run Elasticsearch, you already have the parts.
semantic_text handles embeddings at index time.
ES|QL gives you hybrid recall in one query: BM25 for the exact task ID, vector search for the related concept, a DECAY function so today's context outranks last month's.
agent-memory wires it in with three hooks: SessionStart syncs, PostToolUse indexes every .md you write, Stop logs the session.
The agent never has to remember to remember.
Honest caveat: cross-device recall needs ES reachable from both machines. Not a local-only trick.