xMemory synthesis

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

Bounded synthesis

xMemory is a conversation-memory system whose shipped workflow builds retained memory, organizes it into a hierarchy, retrieves selected material and generates answers. This account covers the library and its LoCoMo construction, reader and evaluation drivers at Git revision 1a4f9dd8abd7f2da86bfe6afe4293a1ea1c63608, with applicability cutoff 2026-10-15. SRC-1 is the frozen repository. Evidence consists of inspected implementation, shipped prompts and attributed README claims, not execution traces or causal experiments. External model artifacts, provider internals, the paper and release-hosted prebuilt memories are outside the frozen evidence. The whole-system boundary is functional coverage, not an exhaustive audit of every branch (boundary, Source register).

From conversation to reusable memory

An operator starts construction; software workers format conversation messages under a caller-chosen namespace. A model can decide episode boundaries, and an explicit flush closes remaining material. Episode generation retains both a derived title/content summary and the original message dictionaries. This preserves a route back to source conversation rather than replacing it with a summary. It does not authenticate the conversation's external truth. Smart segmentation also does not enforce a universal configured maximum: its branch bypasses the maximum-size elif, and detector failure can leave the buffer growing (RT-RTE-conversation-admission, MEM-OBJ-original-messages, MEM-OBJ-episode-content).

Episode creation schedules background semantic extraction. In prediction-correction mode, selected prior statements and the new episode title guide a predicted conversation; a second call compares that prediction with originals and proposes valuable information missing or misrepresented in it. Cold start instead extracts from episode content. Alternative per-episode extraction is configurable. The substantive contribution is evidence-directed generation followed by durable reuse: prior memory affects extraction, and new statements can affect future prediction, maintenance and answers (RT-RTE-semantic-admission, EPI-RTE-comparison-extraction).

The name prediction-correction is stronger than the established repair semantics. Conversion retains statement text and source episode IDs, but not a challenged-statement target, prediction or criticism rationale; confidence is assigned as a constant. A same-type embedding-similarity gate rejects candidates as duplicates, then the default save path appends rather than replacing contradicted statements. Similar corrections can be rejected and dissimilar contradictions can coexist. These are source-level possibilities, not measured frequencies. Operational insertion is not evidence-consuming truth acceptance, and no checked entailment or accepted ampliative claim is established by these routes (MEM-OBJ-semantic-content, EPI-RTE-duplicate-check, EPI-RTE-semantic-disposition, EPI-RTE-semantic-retention).

The construction driver then waits, snapshots incremental batches, updates themes and exports a graph. Numerical policies attach, split and merge groups; a model generates theme summaries. Text, membership and vectors have separate effects: summaries supply scoring context, membership filters candidates, and vectors/adjacency influence ranking. The exported graph is a diagnostic artifact, not the adaptive reader's substrate. Fresh maintenance managers can regenerate a small theme from only new-batch member text while retaining older membership IDs. Thus neither a saved summary nor a graph export proves a complete, synchronized abstraction of retained evidence (RT-RTE-hierarchy-admission, MEM-OBJ-theme-summary, MEM-OBJ-theme-topology, MEM-OBJ-memory-graph).

From stored hierarchy to an answer

The representative shipped workflow reloads constructed memory, searches, hydrates selected originals, answers and writes a QA result file. Conversation-level executor tasks process questions sequentially within each conversation; these are software workers, not independently delegated agents. The README explicitly selects adaptive_hier; the CLI default is baseline. Baseline and lightweight search are material alternatives, and the facade does not automatically run the driver's entire maintenance sequence (workflow account, RT-RTE-baseline-search).

Adaptive retrieval embeds the question, forms a semantic pool, selects theme/semantic representatives and probes episode candidates. Its quantity called entropy is mean negative log probability of generated tokens. Each candidate is compared against a fixed semantic-only baseline, not against the accumulated selected set. Negative thresholds and a first-candidate fallback further qualify the README's claim that expansion happens only when reader uncertainty falls. Original-message expansion is inferred from summary-level scoring, without testing originals. Themes enter scoring but not the final answer prompt. This implements score-guided context selection, not verified uncertainty reduction or final-answer improvement (RT-RTE-adaptive-reader, RT-CLM-retrieval-purpose).

The answer model receives a fresh prompt containing the question, selected semantic/episode text, timestamps and any hydrated originals. It does not inherit scoring generations or obtain model-dereferenceable store pointers. Context management therefore consists of selected-input calls, condensation and explicit reload, rather than an accumulating agent transcript. Selection counts are not input-token guarantees. Original-message limits apply to episode blocks only when positive; zero does not disable originals after expansion is flagged. Baseline Chroma results do not set that expansion flag. Retained prose has model-interpreted contextual force, while code enforces inclusion and exclusion; delivery proves neither compliance nor truth (RT-BAP-memory-reader, memory annotations).

Delivery means writing the result artifact, not passing an answer-acceptance gate. Answer-generation errors can become empty saved responses; an escaping worker exception prevents the normal save call. Separate offline evals.py scoring compares responses with dataset references using lexical metrics and skips category 5. References are recorded after answering, not supplied as a retrieval oracle. A separate executable model judge exists but is incompletely characterized by the analyst inventory; the commented judge call in evals.py is not evidence that the repository has no judge. Neither the characterized lexical route nor the verifier's additional judge finding establishes automatic memory revision (workflow account, EPI-RTE-lexical-evaluation, report-verification limits).

What the implemented progression establishes

For conversation-to-later-QA reuse, the strongest supported result is an automatic trace-fed write/retention/later-consumer chain: conversational turns become durable summaries, statements and derivative themes that later generation and selection can consume. Requested QA retrieval is pull; automatic supply of selected retained inputs to update-model calls is a distinct internal push, not unsolicited foreground delivery. The unresolved question is whether these changes improve future capacity, preserve meaning or improve answers. Wired trace learning in the memory-route sense does not answer that question, and no supplied comparison establishes benefit (RT-RTE-conversation-admission, RT-RTE-semantic-admission, RT-RTE-hierarchy-admission, profile verification).

The accepted runtime does not establish a condition-by-condition theory-builder assessment. Its evidence-directed comparison route is a partial contribution, but it does not establish formulated content-directed criticism with blame and a retained criticism result shaping another round. Consequently a complete theory-builder attribution, or an attribution of improved future capacity specifically to criticism of a consumed theory, is not supported. Reflection, autonomous theory building and self-improvement are independently unestablished at this boundary, not disproved by missing runs. Software-owned admission alone does not establish those properties; retained subject-matter updates alone do not establish reflective method revision. No exercised self-improvement attribution can be made without evidence that subsequent operation causally depends on an improvement-directed organizational change (EPI-RTE-comparison-extraction, epistemic bounded conclusion, RT-RTE-provider-admission).

For durable construction and later correction, the account is weaker. Task exhaustion is not successful task completion; the driver ignores the wait result before maintenance, and episode-file existence is its success predicate. Repository writes can precede index failure, buffers clear before successful persistence, and no atomic all-layer commit is established. Explicit deletion likewise leaves hierarchy files, independent reader caches and running writers uncoordinated. These conditions prevent interpreting either construction success or backend deletion flags as an end-to-end guarantee (RT-RTE-hierarchy-admission, RT-RTE-conversation-admission, MEM-RTE-memory-withdrawal).

The assessment would change with traced construction/reload/answer runs linking retained versions to actual consumers; paired extraction outputs checked against originals; interventions comparing the same reader with and without adaptive selection or prediction-correction; and fault/replay/deletion tests covering all stores and caches. Benefit attribution would require independently varying the mechanism claimed to help. Enforced input budgets, full-member summary refresh, coordinated withdrawal and explicit correction targets would change the relevant architectural limits, but their effectiveness would still require evidence. These are discriminating evidence or system changes, not conclusions supplied by the present source account.

Limitations

limitation affected SRC IDs and record citations inspected boundary conclusion prevented evidence that would resolve it
No registered execution or causal comparison SRC-1; RT-RTE-adaptive-reader, RT-RTE-semantic-admission Frozen implementation and prompts, not completed runs Successful activation, factual quality, benchmark gains, improved capacity or component benefit Provenanced runs plus controlled, mechanism-specific comparisons
External artifacts and opaque alternatives SRC-1; RT-CMP-llm-client, RT-CMP-embedding-client, RT-RTE-provider-admission Default inference/client wiring and injection surfaces; not external weights, services or arbitrary injected behavior Exact reproducibility, provider reliability, complete alternative-state classification or a process-sandbox guarantee Immutable artifact identities, provider contracts and inspection of actual deployed alternatives/grants
Semantic fidelity and criticism outcome unestablished SRC-1; MEM-OBJ-semantic-content, EPI-RTE-comparison-extraction, EPI-RTE-semantic-disposition Extraction prompts, conversion and insertion; no checked candidate instances Truth acceptance, entailment/ampliation classification, reliable repair or criticism-caused capacity improvement Checked input/output instances, explicit challenged targets and dispositions, and later-capacity evidence
Hierarchy coverage and synchronization are not invariant SRC-1; MEM-OBJ-theme-summary, MEM-OBJ-semantic-knn, MEM-OBJ-memory-graph Batch-local refresh, incremental neighborhoods/export; numerical corners incompletely audited Complete abstraction, globally current neighborhoods or complete provenance export Full-member refresh evidence, exhaustive relevant structural checks and synchronized artifact traces
Context scores and counts do not guarantee utility or fit SRC-1; RT-RTE-adaptive-reader, RT-CLM-retrieval-purpose, memory annotations Fixed-baseline NLL, thresholds/fallback, conditional block hydration; cache/tokenizer alternatives incompletely audited Final-reader uncertainty reduction, raw-expansion benefit, universal input-token bound or numerical cache equivalence Matched final-reader comparisons, original-content probes, enforced token accounting and cache-equivalence checks
Persistence, recovery and withdrawal remain local SRC-1; RT-RTE-conversation-admission, RT-RTE-hierarchy-admission, MEM-RTE-memory-withdrawal, workflow account Default writes, task tracking, delivery and deletion; backend alternatives incompletely inspected Atomic completion, lossless/idempotent replay, guaranteed partial delivery or all-consumer revocation Fault-injection/replay traces and coordinated cancellation, versioning and invalidation across consumers
Evaluator inventory omits a separately characterized judge route SRC-1; RT-RTE-offline-evaluation, EPI-RTE-lexical-evaluation, workflow account, report-verification limits Analyst records characterize evals.py; verifier also inspected the separate executable model judge Complete evaluator comparisons, model-judged correctness criteria or evaluator-model provenance; absence of a shipped judge Accepted route records covering the standalone judge's criteria, provenance and consumers
Diagnostic graph form units are not fully normalized SRC-1; MEM-OBJ-memory-graph, profile-verification limits Profile groups symbolic edges/nodes, copied prose and dense embeddings in one container unit; all three findings supported Homogeneous part-level unit coverage or representation counts derived from unit count Separate classification units for each operative graph part

Source-read log: none; this synthesis uses only the supplied accepted members and verification findings.