sqlite-graph-memory synthesis

Type: agentic-system-analyses/types/agentic-system-synthesis.md

Bounded synthesis

sqlite-graph-memory is a local context-retrieval layer for an enclosing agent, not an agent runtime that generates and verifies a final answer. This account covers the public package, shipped integrations, maintenance instructions and evaluation consumers at commit f05db2778159d50a0ad8a35be4f2be3a6aea94b1, with an applicability cutoff of 2026-11-08. Its evidence is static implementation, attributed design instructions and reported private operation from SRC-1. Neither target execution nor independently assessed result artifacts establish successful operation or benefit here. The private vault/pipeline, enclosing clients and downloaded model bytes are outside the frozen evidence (boundary, Source register).

Prepare retained notes, then request context

A caller indexes a chosen Markdown directory. Software filters files, removes frontmatter, chunks bodies and embeds them without per-note approval or truth review. Original note authorship and approval remain unresolved. Despite the package name, the retrieved knowledge is not stored as a SQLite knowledge graph: Markdown retains prose and links, NumPy files hold vectors, a pickle holds snippets and access fields, and a JSON manifest controls incremental reuse. SQLite holds the separate transcript ledger and comparison records (RT-RTE-index-admission, MEM-OBJ-notes, MEM-OBJ-brain-e5, MEM-OBJ-brain-meta, MEM-OBJ-brain-manifest, MEM-OBJ-ab-recall).

Index refresh changes retained representations, not the warrant of their assertions. Matching size and modification time can reuse a prior hash without rereading bytes; three successive artifact writes do not form an atomic snapshot. Deleted or changed files lose previous rows on refresh, without a versioned withdrawal reason. Meanwhile, query-time expansion reads current source links but returns stored snippets. A result can therefore combine current graph structure with older text (RT-RTE-index-admission, MEM-OBJ-notes, MEM-OBJ-brain-manifest).

The representative workflow starts when an external agent requests memory_recall through MCP. The server sends query, flags and inherited deployment state to a Python child. The child reloads the index, embeds the query and selects candidates; the server returns the child's scoped answer-file text as an MCP result. The host chooses the request and retains ownership of the task. This is delegation to a computation, not a separate reasoning agent, and delivery ends at the tool result rather than a verified answer to a person (RT-RTE-mcp-recall, workflow account).

Select and bound what reaches the host

Dense scoring takes each file's best chunk into a default pool of 60 files. Associative retrieval expands outgoing links from 15 seeds, adding at most 40 already-indexed neighbor chunks. Dense similarity orders results by default; cross-encoder reranking is optional. Optional PageRank changes ordering of existing candidates, protecting the first five positions, rather than supplying new candidates. The ordinary formatted bundle contains at most eight snippets. Each stored snippet is only the first 600 characters of a chunk whose embedding can cover 1200 characters. Relevance of a chunk does not ensure that its supporting sentence or qualification reaches the host (RT-RTE-recall-options, RT-RTE-mcp-recall, EPI-OBJ-note-snippets).

These limits keep most external material out of the current tool return; they do not trim accumulated host turns or enforce a host token-window budget. Later queries can select retained material again. Snippets arrive as advisory context, not endorsed facts or enforced standing instructions. Ranking is numerical relevance and graph proximity, not truth checking. External source warrant is unknown, and clipping can remove the scope needed to interpret a claim (RT-BAP-context-delivery, EPI-OBJ-recall-state, memory read-back).

For an entity-shaped query, ordinary graph CLI selection substitutes supersession-only additions for general neighbors. This does not remove the superseded seed or guarantee that a replacement survives ranking. General graph expansion has already run before this substitution, so the gate restricts selected additions, not all graph I/O. A/B returns before the substitution; the gold evaluator always expands; gated benchmark queries omit all expansion, including supersession. Direct mode can still use graph-dependent PageRank ordering. These shipped compositions prevent treating one mode's policy as a package-wide guarantee (RT-RTE-recall-options, RT-RTE-evaluation-paths).

This matters especially for current-state questions. Portable instructions prescribe closing rather than overwriting records, retaining correction reasons and preferring open validity windows. The package affords replacement access, but its ordinary index omits those validity windows and recall does not enforce open-record filtering. Publishing that instruction block neither installs it in a host nor proves compliance. Following a replacement link is not temporal truth enforcement (RT-CLM-temporal-scope, RT-BAP-temporal-instructions).

Return or fail at the process boundary

The MCP parent checks child exit status, imposes a timeout and reads only the call's designated answer file; stdout is not promoted to a successful answer. Handled failures return control to the host without internal retry. Graph/PageRank fallback preserves a previous candidate or ordering path, but does not cover missing indices or model-load failure. A nonempty file is only an availability check: bundle headings can make a zero-hit output nonempty. It is neither a positive-match guarantee nor semantic acceptance (RT-CLM-scoped-return, workflow acceptance account).

The child inherits process permissions, environment and filesystem access. It is not a security sandbox, and pickle loading requires a trusted index. Encoder and reranker inference do not update weights in the inspected paths, but downloaded artifact revisions are unpinned. Neither locality nor a fixed model name establishes hostile-artifact safety or byte-level reproducibility (RT-RTE-mcp-recall, MEM-OBJ-brain-meta, RT-CMP-e5-model, RT-CMP-rerank-model).

Capture history separately from using it

After host registration, the Stop hook automatically parses transcript tails into SQLite rows: selected asks, concatenated and clipped assistant text, attempted tool-use inputs and decision-looking lines. This is implemented reduction and retention of experience, not a model-generated reflection. The later wired consumer is a session/recency ledger viewer, which clips fields further and omits evidence pointers and byte spans. Ordinary recall reads the note index, not these ledger rows. A displayed decision string does not establish adopted guidance or a successful action (RT-RTE-turnstate-capture, MEM-OBJ-turns).

Capture is not lossless or exactly once. The temporary offset advances before SQL insertion; large gaps are skipped, failed writes can lose a slice, and missing offsets can allow reprocessing. The installed console entry point can propagate storage exceptions; only module/script invocation has the suppressing wrapper. External host recovery is uninspected. Configured database paths can also separate capture, viewing and A/B telemetry (MEM-OBJ-turnstate-offset, RT-RTE-turnstate-capture, memory integration issues).

Measure bounded outputs, without inferring self-improvement

The strongest supported contribution is reusable retained context plus automatic operational-history capture and implemented measurement checks. Evaluators derive rank metrics relative to supplied labels; benchmark checks test answer-string matches, literal citation occurrence and result consistency. These are bounded symbolic judgments, not validation of source-note truth. Link-derived gold particularly tests connection following, not whether each connection answers the question (RT-RTE-evaluation-paths, EPI-RTE-bench-score, EPI-RTE-bench-gate, EPI-CLM-measurement-scope).

Benchmark answering has a distinct consumer channel: mandatory reranking plus lexical sentence extraction from full raw notes, potentially beyond indexed snippets. A top-note relevance threshold and nonempty sentence permit output; they do not verify that sentence's truth or entailment. Thus benchmark answer measurements cannot be read as direct measurements of the default MCP snippet path (MEM-OBJ-benchmark-raw, EPI-RTE-extract-answer, EPI-RTE-answer-abstain).

Automatic retention does not yet establish improved capacity for future action. The records do not close a trace-to-durable-guidance-to-later-agent chain, and they license neither a system-wide trace-learning positive nor a bounded negative. Contributor instructions prescribe regression measurements and human involvement; publication machinery does not enforce that whole judgment protocol. Evidence-responsive successor adoption and later causal effects remain uninspected. The accepted account does not establish each theory-builder condition, improvement through criticism of a consumed theory, reflection, autonomous theory building or exercised self-improvement; none follows from the others or from measurement wiring (MEM-OBJ-turns, MEM-OBJ-ab-recall, RT-RTE-change-admission, epistemic bounded conclusion, profile verification).

For bounded note lookup, the architecture establishes a request-to-excerpt path. For authoritative current-state answers, complete action history or experience-driven improvement, the stronger conclusions remain unsupported. Assessment would change with verified host traces showing what was consumed and how it changed decisions; implemented validity filtering and retained provenance reaching the consumer; transactional capture/index recovery; or objective-linked update comparisons tracing changed organization into later operation. Such evidence would answer different questions and would not automatically establish general quality or a component's causal contribution. Both prior verification stages report no blockers or additional limits; their acceptance is not execution evidence (report verification, profile verification).

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
Host activation and private operation remain unestablished SRC-1; RT-BAP-context-delivery, EPI-CLM-measurement-scope Public package and shipped consumers; external clients/private pipeline excluded Successful deployment, actual decision changes, private-system completeness or verified performance gains Pinned host traces and assessable result conditions; a separately declared private-system boundary where needed
Initial content and reference control are unresolved SRC-1; MEM-OBJ-notes, EPI-OBJ-evaluation-records, RT-RTE-index-admission Index acquisition and supplied evaluator inputs Universally human-curated or trace-derived notes, known source warrant or per-content reference approval Provenance and admission records for the actual corpus/references
Excerpt delivery and temporal reliance are narrower than the source corpus/instructions SRC-1; EPI-OBJ-note-snippets, RT-CLM-temporal-scope, RT-BAP-temporal-instructions Frontmatter removal, snippet clipping, supersession addition and portable doctrine Complete caveat/reason delivery, exclusion of closed facts or compliant temporal answers Consumer-visible provenance/validity evidence, implemented temporal controls and host compliance traces
Index and capture consistency have conditional failure paths SRC-1; RT-RTE-index-admission, RT-RTE-turnstate-capture, MEM-OBJ-turnstate-offset Stat/hash reuse, separate index writes, offset-before-insert and installed hook invocation Guaranteed freshness, lossless/exactly-once capture or successful host recovery Atomic/versioned state handling and failure/recovery evidence covering the installed paths
Model bytes and deployment trust are external contracts SRC-1; RT-CMP-e5-model, RT-CMP-rerank-model, MEM-OBJ-brain-meta Inference/load code and trusted pickle access; external weights not frozen Exact numerical reproducibility, backend equivalence or hostile-index safety Frozen artifacts/backend comparisons and an explicit enforced deployment trust boundary
Evaluation licenses are local and compositions differ SRC-1; RT-RTE-evaluation-paths, MEM-OBJ-benchmark-raw, EPI-RTE-bench-score, EPI-RTE-bench-gate Static evaluator/benchmark implementation; retained result conditions unassessed Default-MCP answer-quality estimates, semantic entailment, authenticated runs or causal/component gains Matched production-consumer comparisons, justified labels, authenticated outputs and independently varied treatments
Retention and measurement do not close an improvement pathway SRC-1; MEM-OBJ-turns, MEM-OBJ-ab-recall, RT-RTE-change-admission Ledger-to-viewer, telemetry and contributor/release routes A yes/no trace-learning conclusion, improved future capacity or exercised self-improvement; theory-building, reflection and autonomy remain independently unestablished Accepted route records showing qualifying updates/consumers, property-specific evidence and objective-linked later operation