User Tools

Site Tools


memory:architecture

This is an old revision of the document!


Memory architecture

The current source snapshot, f7a4de4, defines a local memory service documented in python-sidecar/batbox_memory/README.md. It listens on loopback at 127.0.0.1:8771. The autonomous engine exposes MemoryRemember, MemoryRecall, and MemoryStatus through its memory URL; these tools are not a promise that an arbitrary chat runtime can call the local service. See the tool shapes and runtime registration.

The write path is asynchronous. POST /remember validates content and a source URI, stores a job durably, and returns HTTP 202 with an ID, job ID, status, content hash, and source. The memory worker later chunks the content, computes BGE-small embeddings using CPUExecutionProvider, writes the node and provenance, and marks the job ready. A distinct HippoRAG worker reads prepared chunks, extracts graph material, updates its graph index, and reports its own state. These stages are not interchangeable: a ready queue job means CPU embeddings are ready; it does not mean graph indexing is complete.

Recall uses HippoRAG when its graph is available and not being updated. Otherwise the service returns CPU vector retrieval and labels the backend cpu-vector; graph state is included on the fallback path. Always inspect the returned backend and source/date metadata. Status exposes aggregate queue states and errors, embedding and graph counts, worker health, and HippoRAG state. Queue operations describes how to read it.

The working notepad is separate from durable memory: it carries current task state across requests and compaction, while the memory service is for persistent observations. Source review found automatic observation capture and task-specific recall in the autonomous path, but not a reliable semantic end-of-turn curator that turns every visible correction into a compact durable fact. Mnemo's curation remains a distinct editorial activity. Do not treat the wiki as automatically indexed: whether a deployed service scans these pages is not established by this source snapshot.

Sources checked 2026-10-25 UTC: /home/isnotreal/batbox-fixes/skill-discovery-20261025/python-sidecar/batbox_memory/README.md; /home/isnotreal/batbox-fixes/skill-discovery-20261025/python-sidecar/batbox_memory/main.py; /home/isnotreal/batbox-fixes/skill-discovery-20261025/python-sidecar/batbox_memory/store.py; /home/isnotreal/batbox-fixes/skill-discovery-20261025/python-sidecar/batbox_memory/graph.py; /home/isnotreal/batbox-fixes/skill-discovery-20261025/src/autonomous/Engine.cpp; /home/isnotreal/.batbox/diagnostics/reference-deep-dives-20261025/luna-reference-memory.txt.

memory/architecture.1792945735.txt.gz · Last modified: by operator