ClawVault synthesis

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

Bounded synthesis

From work to retained memory

ClawVault implements persistent agent memory and context selection, not the enclosing agent's task-execution loop. This account covers its shipped CLI, TypeScript library, OpenClaw integrations, Python SDK, observation drivers, maintenance and evaluation surfaces at commit bd702e9cce436bc3065827714cd576e8be20c375, with an applicability cutoff of 2026-10-17. SRC-1 supplies inspected implementation and doctrine/design, not observed execution or causal experiments. The whole-system boundary includes shipped callers and prompts but is not an exhaustive audit of every branch. External host and provider behavior remains outside the evidence. See the boundary and source register, RT-CLM-structured-memory and report verification. This synthesis uses the handed members only; no frozen source was reread.

A caller can store typed content as Obsidian-compatible Markdown. Core storage names and serializes the file, reloads it and updates derived search/graph state. Natural-language bodies serve later readers; symbolic metadata and identifiers govern code selection. A returned document establishes neither atomic updates across indexes nor factual endorsement. Admission depends on the entry point: assistant-response capture checks confidence, noise, similarity and quality before writing, whereas direct storage, document patching, peer transfer and the independent Python client do not inherit that gate. Starting a command is not per-item human approval; generic callers do not establish human or model control of their content. See RT-OBJ-vault-documents, RT-RTE-slot-store, RT-RTE-capture-turn, MEM-RTE-document-patch, RT-RTE-peer-sync and RT-RTE-python-vault.

Automatic trace-fed retention is a substantial implemented contribution. Observation preserves incoming strings in a raw ledger by default, buffers them, and compresses them with existing daily observations at a threshold or explicit flush. A model or deterministic fallback supplies the derivative; category routing and a separate fact branch can then retain it for later retrieval. Historical replay feeds normalized exports into these ordinary observation/reflection paths. These are wired trace-to-durable-context chains, not just logging, but they do not establish improved future capacity. Raw retention alone supplies no later foreground reader, and no guaranteed reversible mapping connects every summary statement to an original message. See RT-RTE-observe-session, MEM-OBJ-raw-transcripts, MEM-OBJ-observations, MEM-RTE-history-replay and profile verification.

What survives transformation and checking

The fact path shows why retained provenance and delivered qualifications must be distinguished. Rule or model extraction produces entity–relation–value records. Conflict handling can mark predecessors inactive by value/relation policy without comparing evidence credibility or timestamp order. A later explicit context build selects active facts and emits concise triples, not their retained rawText. The inspected rule can turn a fictional first-person preference into a user preference: that is a source-level counterexample to universal scope preservation, not an observed incident. Arrival and active-set membership license operational availability, not truth. See MEM-OBJ-fact-store, EPI-RTE-fact-extraction, EPI-RTE-fact-supersession and EPI-RTE-fact-context.

Other checks have similarly local domains. Router importance and duplicate tests govern category admission. Weekly “reflection” consolidates observations, excludes prior keys, optionally rewrites a draft and accepts the rewrite by nonempty text and required headings; it does not verify preservation of claims. Maintenance sequentially classifies, distills and archives selected material. Persisted processed hashes actually exclude items from subsequent work, unlike a report with no established later agent reader. These are real control effects, not a uniform truth-acceptance pipeline. See EPI-RTE-router-admission, RT-RTE-reflect-week, RT-RTE-maintain-inbox and RT-BAP-worker-state.

Entity profiles mix distinct kinds of output. Link cooccurrence counts and maximum file modification times follow from parsed file inputs within that syntactic domain. They do not establish world relationships or actual mention dates. Entity-kind labels are heuristic conjectures, and copying the newest document prefix is not a checked entity summary. The examined content routes retain, organize and use candidates without the prior evidence-consuming truth acceptance required to establish lifecycle integration. Unassessed alternatives prevent extending that finding into a system-complete absence of acceptance. See EPI-RTE-entity-synthesis and epistemic bounded conclusion.

Later selection and the host boundary

Requested read-back includes search/detail tools, slot recall, wake and explicit context assembly. The plugin also independently selects memories before a host prompt and during outbound-message filtering. Prompt-build retrieval defaults to four results, a 0.2 score threshold and 220-character snippets, alongside a separate recent recap. Lexical relevance, optional compatible vectors, recency and session-key lookup select different retained parts. Explicit context profiles and token budgets belong to another builder and cannot be projected onto this hook. Search can return paths that the detail tool's lexical allowlist rejects. See RT-RTE-prompt-recall, RT-RTE-tool-recall and MEM-RTE-explicit-context.

The plugin returns selected prose through system-context additions. That is a privileged influence channel, not code enforcement that the host incorporates it or the model obeys it. Compressor and maintenance calls receive selected inputs outside the foreground conversation; only their outputs escape those computations. This keeps material out of foreground context but does not establish autonomous subagent isolation or implement host-window eviction. Reloaded strings are copies, not live references to files. Model clients request inference with mutable aliases/endpoints; stored vectors are not provider weights, and inspected requests do not establish parameter training. See RT-BAP-system-context, RT-CMP-compressor, RT-CMP-worker-llm, RT-CMP-hosted-embeddings and RT-CMP-hosted-rerank.

Outbound filtering has stronger local operational force: when enabled, it can request replacement or cancellation on the host sending channel. Its helper replaces question punctuation and appends memory snippets under a relevance assertion. A qualifying hit about Alice liking tea need not answer where Alice lives. Thus the mechanism can change proposed communication without determining that memory answers it; actual sending behavior still requires the host to honor the hook. See EPI-RTE-question-rewrite, RT-RTE-outbound-filter and EPI-CLM-memory-answer.

A representative continuity workflow

The source-supported end-to-end workflow is caller-directed sleep followed by a later wake. Sleep persists a caller-authored work summary and next steps, clears the dirty flag, then may index, commit, observe a transcript and reflect. Interactive Git approval gates only that commit, not the preceding handoff admission. Observation/reflection failures are swallowed to preserve the handoff; indexing or Git failures outside those catches can still leave a durable handoff without completed command delivery. See RT-RTE-session-handoff and its workflow account.

Wake assembles recovery information and selected recap/observations rather than repairing the task. Recovery and recap use different handoff selectors. Flag clearing precedes full delivery; brief recap omits some retained detail, and optional Gemini summarization accepts nonempty text without checking preservation. CLI output can coexist with exit status one when dirty death was detected. The endpoint is returned or printed context, not acknowledged host incorporation or resumed-task success. For a scenario requiring a durable handoff and bounded restart briefing, this is wired support. For complete reconstruction or verified continuity, the evidence is insufficient. A deployed sleep/wake trace through host consumption and resumed work, including failure cases, would change that assessment. See the workflow annotation.

Withdrawal remains consumer-specific. Fact validity excludes old facts from active queries; archiving removes original observations from ordinary core indexing while retaining archive copies. Neither retracts all category/fact derivatives, vectors, external indexes or previously delivered snippets. Embedding rebuild has a bounded input/hash window, not a full-document freshness guarantee; the verifier notes provider input truncation too, so failure to regenerate alone is not evidence of semantic staleness. See MEM-RTE-observation-archive, MEM-OBJ-embedding-cache and report verification.

Development-plane change, learning and autonomy

The strongest supported improvement-related contribution is a benchmark-guided repository change pathway. An external editing agent can propose and commit changes; scripts build, run a subset of tests, score observer fixtures and retain strictly higher aggregate scores or discard/reset the last commit. The runner itself does not supply editing or reasoning. Fixtures and scoring are editable, and token matching can treat negated and non-negated statements alike. This supports selection for a bounded fixture objective, not semantic correctness, production deployment or causal memory gains. See RT-RTE-autoresearch-change and EPI-RTE-fixture-scoring.

Within that development route, the independent property assessments are:

Property Supported status and remaining question
Theory-builder condition 1: localized theory content claimed — guidance requests hypotheses; no specific experiment theory was inspected.
Condition 2: decisions consume theory content claimed — hypothesis-directed editing is prescribed; scalar acceptance alone does not establish it.
Condition 3: content-directed criticism uninspected — keep/discard scores do not establish blame assigned to a theory, test, data or auxiliary assumption.
Condition 4: retained criticism shapes another round claimed — next-round consultation is prescribed, not evidenced as executed.
Criticism improves future capacity uninspected — no inspected criticism-to-capacity comparison establishes this contribution.
Reflection afforded — editable machinery and reports provide a development-plane self-representation/update channel; closed-loop semantic criticism is unobserved. Weekly consolidation does not establish this property by its name.
Autonomous theory building claimed — doctrine requests continuous iteration, but internal editing/reasoning depends on an external agent; no exercised autonomous sequence is established.
Self-improvement afforded as a dormant development-plane pathway — not established as exercised or successful. Actual evidence-shaped determination of edits, their entry into a later live authority path and subsequent operation depending on them remain unestablished.

These assessments come from RT-RTE-autoresearch-change, not from an inference that one property entails another. Automatic trace-derived context updates remain a positive architectural result even without demonstrated capacity improvement. Actual hypothesis/criticism/update/next-round records, fixed independent evaluation contrasts, and traces linking kept machinery to subsequent live operation would support stronger conclusions. An enforced semantic-preservation or answer check could also change the route-local warrant assessment, but the existing quality, heading and retrieval-score gates do not supply it.

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
Mutation and operational-feedback inventory is partial; carried from report verification. SRC-1; MEM-RTE-explicit-context, EPI-RTE-router-admission, RT-OBJ-vault-documents; declared limit. Traced memory routes and inventoried task/project/template/import alternatives; transition logging found without complete admission, rationale or consumer semantics. Exhaustive write-policy and feedback-route comparisons; known routes do not classify every alternative. Trace the alternative writers, transition policies, retained feedback and actual later consumers at the frozen boundary.
Evaluation coverage is local; carried from report verification. SRC-1; RT-RTE-autoresearch-change, EPI-RTE-fixture-scoring; declared limit. Observer fixture scoring/change admission inspected; separate evaluation adapter and saved-result provenance not fully assessed. All-evaluators comparison, system-complete absence of epistemic acceptance, end-to-end plugin utility or causal improvement inferred from those artifacts. Assess the separate adapter, evaluator domains, prediction/result provenance and their relation to production consumers; supply suitable execution and intervention evidence for utility claims.
No supplied operational or causal layer. SRC-1; boundary, RT-RTE-prompt-recall, RT-RTE-session-handoff, RT-RTE-autoresearch-change. Source implementation and doctrine only; external host/provider behavior unobserved. Actual incorporation, compliance, successful recovery, deployed isolation, exercised self-improvement and measured benefit. Registered deployment traces with inputs, outputs and consumers; controlled comparisons for causal attribution.
Transformation lineage and delivered qualifications are incomplete. SRC-1; MEM-OBJ-raw-transcripts, MEM-RTE-history-replay, EPI-RTE-fact-extraction, EPI-RTE-fact-context, RT-RTE-reflect-week. Normalized strings, extraction rules, fact delivery and structural rewrite selection; normalizers and opaque output semantics remain unresolved. Authenticated original attribution, universal semantic preservation, reliable retention/delivery of reasons or complete trace-source classification. Inspect normalizers/adapters and paired source–derivative–consumer artifacts, including scope and rationale preservation checks.
Withdrawal, audit history and selector freshness are local. SRC-1; MEM-RTE-observation-archive, MEM-OBJ-fact-store, MEM-OBJ-embedding-cache; verification qualification. Core archive exclusion, rewritten fact map and bounded embedding rebuild/provider input. Other enumerators and derivative retraction are not fully traced. Universal erasure, immutable fact history, full-document vector freshness or an actual stale-vector incident inferred from non-regeneration. Consumer-by-consumer retraction/cache traces, preserved history semantics, and paired input/vector evidence distinguishing truncation from staleness.
Alternative consumer and provider details remain unresolved. SRC-1; MEM-RTE-explicit-context, RT-RTE-python-vault, RT-RTE-peer-sync, MEM-OBJ-fact-store, RT-CMP-hosted-embeddings. Detailed graph/matcher branches, SDK semantic helpers, dashboard parsing, separate graph reader, peer authorization and provider internals are incompletely inspected or external. Exact selection guarantees, SDK parity, authority of every retained part, deployment security or provider-internal learning conclusions. Inspect the named helpers/readers and authorization contracts; obtain immutable provider identities and relevant external implementation or operation evidence.

No unresolved cross-report conflict was identified in the handed reconciliation. Profile verification declares no additional limits; its partial coverage and wired-versus-observed distinctions remain preserved above.