expo-llm-wiki synthesis

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

Bounded synthesis

From host input to retained memory

expo-llm-wiki is a memory and context-engineering system, not an enclosing general-purpose agent runtime. Its claimed work is converting conversations and documents into reusable facts, tasks and graph relations. This account covers the shipped repository at commit 09c90258560a6b1664038d642b5d25d9de0c4d3d, with an analysis cutoff of 2026-11-08. The whole-system boundary includes the local engine, platform wrappers, applications, tools, maintenance and benchmark drivers. SRC-1 supplies inspected implementation and design text, not adopted execution traces or causal experiments. External providers, deployed storage lifecycles and remote service internals are outside the frozen source. The evidence supports implemented mechanisms, not demonstrated longevity, reliable extraction or answer benefit. See the boundary and Source register and RT-CLM-longterm-memory.

A host supplies a SQLite adapter, model callbacks and configuration, creates WikiMemory, and calls setup. Host calls initiate work; code controls progression, models propose extracted or revised content, and SQLite executes local persistence. An entity-scoped event write validates and clips a summary before storage. In default automatic mode, event/checkpoint thresholds schedule background librarian work after persistence; returning from the write does not mean extraction has completed. Deferred mode suppresses that automatic work on this write branch, but does not disable explicit maintenance, ingestion or direct admission. The default legacy librarian reads 50 recent events and 100 recent facts, requests JSON, validates and deduplicates candidates, commits rows, then refreshes search and embeddings. This bounded window is not complete event-log processing. See RT-RTE-event-librarian.

Raw event summaries and derived assertions are separate retained layers. SQLite also holds tasks, graph adjacency, dense per-entry vectors, access/trust/validity metadata, entity manifests and scheduling state. The vectors are representations used for selection, not updated model weights. Core callback interfaces do not pin immutable model versions or expose provider-internal changes. Other admission paths accept caller-authored facts, graph changes, dumps or extracted document content; generic API callers do not establish human approval. Document ingestion has a consequential fork: complete success replaces prior source-derived content, partial success appends successful deduplicated facts without complete source ownership transfer or supersession, and total chunk failure throws before persistence. See MEM-OBJ-events, MEM-OBJ-entry-text, MEM-OBJ-entry-vectors, RT-CMP-llm-provider, RT-RTE-direct-admission, RT-RTE-import-admission and RT-RTE-document-ingest.

Admission is operational, not a general truth gate

The opt-in ops librarian separates extraction from reconciliation. It selects events after a watermark, extracts without existing facts in that prompt, then finds retained neighbors through vectors or keywords. Exact duplicates and no-neighbor cases can bypass model resolution; only ambiguous candidates reach a resolver with clipped neighbor bodies and constrained target aliases. These checks govern redundancy, routing and permitted targets, not external truth. Rejection of a resolver operation is not necessarily rejection of its assertion: rejected or missing operations can still insert candidates; failed resolution and immutable-target conflicts can retain drafts. Failed supersession validation can leave a newly inserted alternative without successful linkage. See RT-RTE-ops-librarian, EPI-RTE-ops-classify and EPI-RTE-ops-disposition.

Configured grounding adds a narrower check. In draft mode for enabled writers, normalized evidence strings must occur in individual shown corpus parts. The check does not compare assertion meaning with its quotes. Passing can assign stable/machine-confirmed metadata; missing or failed evidence can retain a draft. This is a criterion-based textual-grounding decision, not acceptance of a proposition as true. Drafts remain included in ordinary retrieval by default unless exclusion is requested. The ops UPDATE branch for an existing inferred row does not rerun insert-time grounding. Promotion requires a live draft and nonempty reviewer string, not authenticated human review. Neither stored status nor software validation supplies a universal warrant gate. See EPI-RTE-grounding-check, EPI-RTE-grounding-status, MEM-OBJ-entry-metadata and RT-RTE-direct-admission.

Maintenance can materially change future inputs. Heal combines SQL age/access policies with model-proposed downgrades, deletions and new facts. It restricts mutation IDs to each producing batch and validates new rows. Its evidence context is selective: keyword-selected document anchors can miss contradictions without shared vocabulary; retry degradation drops tasks, then events, then truncates candidate-body copies. Removed prompt content remains stored. Persisted manifests separately guide later writers/classifiers and constrain applicable type/edge admission. Supersession closes valid-time intervals while retaining accessible history; that history is current knowledge about valid time, not a reconstruction of what the system knew in the past. Forget/prune have local and external-hook failure boundaries, not universal erasure or semantic undo. See MEM-RTE-heal-memory, MEM-BAP-manifest-guidance, MEM-RTE-ontology-backfill, MEM-RTE-temporal-history and MEM-RTE-memory-withdrawal.

Selection and presentation determine what a later model receives

A read returns a bundle, not an answer. Entity, query, ranking, liveness and optional draft filters select facts; tasks/events are assembled separately. Fact packing is best effort, not a strict cap on the whole payload or model context. A valid zero budget can still retain the top fact's title/tags, and host history lies outside this budget. Formatting can further limit/reorder facts and omit provenance, verification and history. Graph presentation drops bodies as well. Stored grounding metadata therefore does not imply delivered evidence or an explanation of why an assertion should be trusted. See RT-RTE-memory-read, MEM-OBJ-entry-metadata and MEM-RTE-graph-context.

Requested bundle returns are distinct from a caller's automatic insertion of selected text into a model request. Maintenance supplies its own selected retained context to providers. ScopeLab supplies selected facts to Gemini before a model memory request, with an advisory warning against following embedded directives. That warning and delimiter escaping do not enforce semantic exclusion. Its tool dispatcher checks advertisement and scope before the first returned function call, not all possible executor entry points. ScopeLab also omits the core provider and looks for an adapter property differing from core's stored property; successful extraction and persistence through this application are not established. See RT-BAP-memory-context and RT-RTE-scopelab-chat.

The MCP server is a separate HTTP delegation path to SynapseTree, not a local-core consumer with inherited guarantees. Outbox synchronization calls a host-defined mapper in an external Prisma transaction and acknowledges locally afterward; a crash in between can replay effects unless the external operation is idempotent. TypeScript graph presentation and native Rust traversal are separate implementations without established semantic parity. See RT-RTE-remote-tools, RT-RTE-outbox-sync, MEM-RTE-graph-context and RT-RTE-native-traversal.

A complete source-traced workflow, not a demonstrated run

The representative workflow is LongMemEval replay through report delivery. The CLI selects questions and requires spending authorization. Code replays dated, role-prefixed session turns into per-question SQLite memory, waits or pumps maintenance under its completion rules, writes a sentinel, closes the database, and later reopens it. The answer stage retrieves at most ten candidate facts and excludes tasks/events from formatting. A separate judge sees the question, dataset reference answer/rubric and generated response, not the retrieved evidence in this builder. A lowercase trimmed prefix yes becomes recorded correctness. Negative judgments do not trigger answer repair or revise core memory. See WF-RTE-replay-cache, RT-RTE-benchmark-answer, EPI-RTE-judge-check and EPI-RTE-judge-record.

Cache acceptance is operational quiescence/sentinel state, not semantic completeness. Its key does not check dataset-content digest or provider-model identity; the legacy configuration does not forward the deferred flag. A thrown question failure prevents aggregate delivery without cancelling other in-flight workers. Successful delivery writes an aggregate JSON report and prints its location; its public question projection omits raw answers and judgments. This is an inspectable handoff chain, not supplied proof that the workflow ran successfully or that memory improved answers. See WF-RTE-replay-cache and WF-RTE-report-delivery.

What the retained changes establish

The strongest supported learning-related contribution is a wired trace-to-later-consumer chain: recorded session turns feed automatic extraction, durable assertions survive database closure, and a later answer invocation receives selected facts. Read-access feedback is another durable behavior-shaping chain: counters/times affect later ordering and survival. These are positive capacities even though improved future capacity has not been demonstrated. ScopeLab adds a conditional mixed conversational/tool-feedback path, not a successful-operation witness. See WF-RTE-replay-cache, RT-RTE-benchmark-answer, MEM-OBJ-entry-metadata and the profile verification.

No comparison adopted in this analysis establishes that criticism of a consumed theory improved future action. Heal requests contradiction review, but its schema need not preserve a challenged claim, blame placement and resulting reasoned revision; the word “heal” does not establish a theory-building iteration. Generated text remains semantically indeterminate between faithful reshaping, derivation and conjecture without particular outputs and checks. Reflection, autonomous theory building and exercised self-improvement are independently unestablished, not system-wide absences inferred from missing runs. The runtime supplies no complete theory-builder conditions 1–4 assessment to compress into a verdict. Retention and later delivery alone do not establish evidence-responsive self-change exercised in subsequent behavior. See EPI-RTE-heal-assess, EPI-RTE-heal-dispose, the epistemic bounded conclusion and report verification.

For a replay-and-recall scenario, the evidence establishes the architecture needed to carry extracted memory between invocations, with explicit selection and evaluation boundaries. For warranted knowledge revision, strict context control or evidence of improved future action, it does not establish the stronger result. Trace-linked outputs showing what was extracted, checked, retained and actually consumed would establish operation; independently varied memory mechanisms and outcome comparisons would be needed for finer benefit attribution. A universal draft quarantine, entailment check, complete context cap or durable criticism/revision loop would require different or additional system mechanisms, not stronger wording about existing ones.

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
Implementation without adopted run or causal evidence SRC-1; RT-RTE-event-librarian, RT-RTE-benchmark-answer Frozen code, prompts and drivers; no target execution or result aggregate adopted Successful extraction, deployed reliability, improved capacity or causal memory benefit Provenance-linked runs and outcome comparisons with independently varied mechanisms
External provider and integration opacity SRC-1; RT-CMP-llm-provider, MEM-CMP-classify-provider, RT-RTE-remote-tools, RT-RTE-outbox-sync Callback and HTTP/mapper boundaries, not provider or remote implementations Immutable model identity, external admission policy, remote persistence or exactly-once effects Pinned provider/service implementation and deployment evidence, mapper/idempotence contracts and traces
ScopeLab integration mismatch and incomplete selector configuration SRC-1; RT-RTE-scopelab-chat, RT-BAP-memory-context; profile verification Shipped wrapper and model requests Successful application persistence/extraction or caller-specific embedding-enabled selection Correct provider/storage wiring and trace of configured selection, persistence and reload
Grounding license and trust delivery are narrow SRC-1; EPI-RTE-grounding-check, EPI-RTE-grounding-status, MEM-OBJ-entry-metadata Configured insert checks, inferred-row UPDATE, default read and formatting Semantic truth/entailment, universal checked writes, draft quarantine or quote-bearing later reliance Semantic acceptance evidence, route-complete mediation/filtering and retained evidence delivered to consumers
Incomplete provenance and helper coverage SRC-1; MEM-OBJ-entry-vectors, MEM-OBJ-entity-summary, MEM-OBJ-entity-manifests, MEM-RTE-ontology-backfill Known imports and subsequent transformations; initialization/merge details unresolved One origin or complete admission classification, encoder compatibility, summary-to-model route or globally sound ontology Recorded upstream provenance, helper inspection and a concrete later-summary consumer
Selection, context and parallel implementations remain bounded SRC-1; RT-RTE-memory-read, MEM-RTE-heal-memory, MEM-RTE-graph-context, RT-RTE-native-traversal Inspected packing, prompt/presenter transformations; custom/native internals not exhaustively audited Strict total-context ceiling, exhaustive contradiction discovery or TS/native parity Whole-payload accounting, evidence-complete checks and implementation/consumer parity evidence
Withdrawal and history are not total erasure or past knowledge snapshots SRC-1; MEM-RTE-memory-withdrawal, MEM-RTE-temporal-history Local deletion/prune, surviving events/source-index gap and external hooks; valid-time history All-substrate erasure, prevention of re-derivation, universal rollback or transaction-time reconstruction Complete substrate/retention audit, verified external cleanup and transaction-time lineage
Benchmark completion and delivered evidence are limited SRC-1; WF-RTE-replay-cache, WF-RTE-report-delivery, EPI-RTE-judge-record Sentinel cache, configuration forwarding, prefix parser and public result projection Semantic cache freshness, independently rejudgable delivered answers or calibrated deployment accuracy Content/model-aware cache provenance, retained answer/judge/evidence traces and calibrated evaluation
No complete theory or self-improvement assessment follows from revision interfaces SRC-1; EPI-RTE-heal-assess, EPI-RTE-heal-dispose, epistemic coverage Assessed local maintenance routes; remaining UI/helper/evaluation alternatives unassessed System-complete negatives about theory-building/acceptance; positive reflection, autonomous theory building or exercised self-improvement Condition-specific guidance/criticism/revision records, retained next-round use and evidence-responsive change traced into subsequent behavior