Omni-Memory synthesis

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

Bounded synthesis

A memory lifecycle around an external coding agent

Omni-Memory is a persistent project-memory and context layer, not the coding agent that performs the user's task. This account covers its shipped CLI, hooks, prompts, storage, maintenance, dashboard, sharing and IDE adapters at Git revision 20f9f9ffd7ece0c6514542677ba6a549841f5536, with an applicability cutoff of 2026-11-08. The sole registered source, SRC-1, supplies implementation, declared design and attributed operation claims. It supplies no execution trace or causal experiment. “Wired” below means connected in inspected source, not successfully exercised. The whole-system boundary includes material shipped lifecycle paths without claiming exhaustive correctness inspection. See boundary and evidence and the Source register.

The operational progression is host event or explicit command → Python selection and admission → SQLite and generated files → selected context returned to the host → later capture and maintenance. The host owns event delivery, tools, compaction, interpretation and the final coding answer. Omni-Memory owns its returned context and retained memory products. Its representative multi-step workflow connects session start, task-specific retrieval, source-use diagnostics, pre-compaction/end capture and subsequent-session retrieval; it does not establish delivery of a verified coding task. See the workflow account, RT-RTE-context-delivery and RT-BAP-agent-context.

Start with retained claims, then select what the agent sees

SessionStart clears read/witness state, imports eligible shared content, refreshes repository-derived state and rewrites managed AGENTS.md. Default session mode prints recent events and a memory seed. Manual mode suppresses that seed, not the managed-file update. Explicit inject supplies task-directed retrieval; auto prompt mode also supplies memory without a foreground retrieval request. OpenCode's adapter discards refresh stdout but adds explicit injection output to compaction context. These delivery paths require host participation; generated standing context affords a later IDE reader without proving loading or compliance. RT-RTE-context-delivery, MEM-OBJ-agents-context.

Natural-language claims live in project or global SQLite stores, separately from symbolic branch, anchor, tier, citation and eligibility metadata. A persisted code graph supplies proximity and maintenance inputs. Query selection combines lexical matches, file/symbol context, graph proximity and metadata. Empty queries without contextual inputs can instead sort by recency. Injection's initial eight local picks are not a final item cap: global and co-anchored sibling additions follow. Its nominal 1400-character budget covers rendered rows, not the entire block, preserves at least one row and clips claim text at 200 characters. Related siblings therefore improve the opportunity to supply context but do not guarantee delivery of complete reasons or causal chains. Fuller text remains accessible through recall and dashboard requests. MEM-OBJ-memory-text, MEM-OBJ-memory-state, MEM-OBJ-code-graph, EPI-RTE-query-ranking, MEM-RTE-recall-search.

The managed AGENTS.md block and MEMORY.md digest are different projections, not interchangeable safety filters. Both can include active rows across branches; neither implements verified-only selection, and neither reproduces all injection warnings. Updates to rows and these files are not one simultaneous transaction. Thus a warning visible through ranked injection need not accompany the same claim through standing context. The target controls selection and clipping before delivery, not removal from the host's accumulated window or the host's summary contents. IDs allow another retrieval operation; they are not dereferenceable references inside the model window. MEM-OBJ-agents-context, MEM-OBJ-memory-digest, RT-RTE-context-delivery.

Capture experience without confusing admission with truth acceptance

The strongest supported adaptive contribution is automatic conversion of recorded session text into durable claims for later context, together with citation-fed changes to selection and retention. This is wired trace-fed memory updating, without requiring model-weight training or novel propositions. It does not demonstrate improved capacity for future action. Activity and source-warning summaries can also orient a later session. RT-RTE-capture-admission, MEM-RTE-anchor-maintenance, MEM-OBJ-event-log; see also the independent classification checks in profile verification.

Capture accepts foreground-authored JSON directly or extracts from transcript prose using an allowed model backend or heuristic fallback. Software filters batch candidates and applies source-sensitive evidence ceilings before storage, without mandatory human per-item approval. These are storage-worthiness and label controls, not semantic acceptance. Imported assertions have unknown original warrant; heuristic de-framing can preserve words while losing speaker attribution. The semantic relation of particular model outputs to their inputs remains indeterminate without input/output evidence. No inspected route establishes evidence-consuming acceptance and subsequent integration of a newly warranted ampliative claim. This is a bounded finding, not a system-complete absence claim. EPI-RTE-candidate-filter, EPI-RTE-filter-admission, EPI-OBJ-candidates, epistemic conclusion.

Capture completeness has a concrete source-level risk. The transcript reader flattens text under a 140000-character threshold, while model extraction sees only its first 30000 characters. Successful hook processing can persist a line cursor beyond text that model never examined. Resuming from that cursor does not recover the omitted extraction tail. This is not an observed loss incident: short batches, full-batch heuristic handling and separate foreground JSON capture qualify the risk. Provider exceptions can trigger fallback; an empty successful extraction need not. The outer hook catches ordinary exceptions and returns success to preserve host continuation, not to certify memory delivery. MEM-RTE-transcript-window, RT-RTE-capture-admission, workflow recovery.

Bootstrap and editing offer additional admission routes. build --no-ai disables the facts pass but can still generate documents unless document generation is separately disabled. Unattended raw-capture restrictions on agent subprocesses do not govern all build/document callers. Generated API/linkup files use a minimum-length gate and have requested dashboard readers, not an established automatic future-model consumption route. Direct remember --verified, dashboard evidence edits and explicit trusted snapshot import also differ from automatic capture's ceilings; the source label manual does not authenticate a human decision. RT-RTE-build-artifacts, MEM-OBJ-generated-documents, RT-RTE-local-edits, RT-RTE-shared-import.

Check source movement and adjust future reliance

The strongest deterministic checks compare declared source-file identities. Read observations can bind capture to recorded digests; injection pins emitted memories' source files; used and retrospective citation checks diagnose changed or missing sources. Zero bound sources is not clean verification. A matching read digest does not establish that the sentence follows from the source or that the host displayed precisely those bytes. Warnings have advisory force: they do not block the external agent's next action. MEM-OBJ-observation-state, RT-RTE-use-check.

Maintenance makes these distinctions consequential. Active stated rows can graduate to verified when cited and backed by a nonempty matching hash map. Initial inferred AI/doc rows do not meet that stated-tier predicate. Verified tiers can boost query rank and resist eviction; drift/loss can withdraw that qualification. Citation and unchanged bytes do not establish successful outcomes, despite source wording about earned verification and demonstrable truth. Duplicate/conflict rules use overlap and co-anchoring, not logical equivalence or refutation. Quarantine removes later active-read eligibility while retaining recoverable history; restore adds a noise exemption but not immunity from score-based eviction. Protection is path-specific, not a universal retirement veto. Already delivered host copies remain outside these withdrawal controls. EPI-RTE-tier-graduation, EPI-RTE-tier-withdrawal, EPI-CLM-earned-verified, EPI-CLM-hygiene-truth, EPI-RTE-merge-disposition, MEM-RTE-memory-withdrawal.

Sharing imports selected fields, not a complete restoration of observations, uses or rollback state. Existing IDs skip replacement, and disappearance from a later shard does not revoke an imported local row. Dashboard controls are likewise conditional: the default nonzero port enables origin/host and JSON content-type checks, while the supported ui --port 0 input reaches branches disabling both. This is established reachability, not observed exploitation or a general security verdict. RT-RTE-shared-import, RT-RTE-local-edits, report verification.

What the supported mechanism changes—and what remains open

For cross-session project orientation and source-change awareness, the evidence establishes connected retention, retrieval and diagnostic mechanisms. For semantic assurance or verified completion of a coding task, those same mechanisms are insufficient: delivery is not compliance, source identity is not entailment, and citation is not task success. The packaged enforcement claim exceeds its advisory host channel. Estimated savings also use assumed rereading baselines and can count block constructions later suppressed, not a measured no-memory counterfactual. RT-CLM-verified-context, RT-BAP-agent-context, MEM-OBJ-savings.

The reports support trace-fed durable context and selector changes, but not improvement caused by criticism of a consumed theory. They do not establish theory-builder conditions 1–4 as a complete pathway; localized project prose is not by itself content-directed criticism or iteration. Reflection and autonomous theory building remain separately unestablished, rather than inferred from automatic writes. Exercised self-improvement is also unestablished: persistence and later-delivery wiring do not show subsequent behavior causally depending on an objective-responsive organizational change. None of these unresolved properties negates the supported memory-updating contribution. epistemic conclusion, MEM-RTE-anchor-maintenance, RT-BAP-agent-context.

Run-linked transcripts, database transitions, emitted payloads and subsequent decisions would distinguish wiring from exercised behavior. Content-level checks tied to actual acceptance and downstream reliance would alter the semantic-assurance assessment. Comparative task outcomes would be needed for benefit, with independent component variation for component attribution. Consumption-aligned cursor advancement, caveat-preserving projections and shared update/revocation handling would change the corresponding implementation limits below. No new source inspection was performed for this synthesis.

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
No execution or causal evidence SRC-1; RT-BAP-agent-context, RT-RTE-capture-admission Frozen shipped memory lifecycle; external host operation not captured Actual delivery, activation, improved capacity and exercised self-improvement Linked transcript/store/payload/decision traces; objective-specific intervention and outcome comparisons
Model extraction can skip cursor-consumed text SRC-1; MEM-RTE-transcript-window Text flattening, model prefix and successfully persisted line cursor Guaranteed complete automatic extraction or automatic tail recovery Consumption-aligned checkpoint implementation and bounded long-input traces across subsequent hooks
Projections omit context and refresh at different times SRC-1; RT-RTE-context-delivery, MEM-OBJ-agents-context, MEM-OBJ-memory-digest Ranked/clipped injection, managed file, digest and later recall Complete reasons, universal warning visibility, branch equivalence or simultaneous withdrawal of all copies Linked projection/consumer traces and explicit consistency/caveat-preservation mechanisms
Trust predicates and caller labels do not check semantic truth SRC-1; EPI-RTE-integrity-check, EPI-RTE-tier-graduation, RT-RTE-local-edits, EPI-RTE-filter-admission Mapped hashes, citations, batch gates and alternate local admissions Verified proposition truth, outcome-based qualification, authenticated human approval or warranted novel-claim acceptance Claim-specific evidence-consuming decisions with criteria, scope, provenance and consequential consumers
Import is not replacement or distributed revocation SRC-1; RT-RTE-shared-import, MEM-RTE-memory-withdrawal Positive-ID insertion and local eligibility changes Full-state restoration, propagation of edits/deletions or cross-clone withdrawal Defined update/tombstone protocol and linked multi-clone transition evidence
Included inventory and semantic transformations remain incomplete SRC-1; MEM-OBJ-code-graph, MEM-OBJ-generated-documents, EPI-OBJ-candidates Partial parser, propagation, map/flow and browser inspection; opaque content provenance/model outputs Exhaustive evaluator or memory inventory, parser/map fidelity, browser security and complete transformation classification Supporting records tracing unresolved populations/consumers, relevant internals and content-specific input/output pairs
External model and host contracts remain unresolved SRC-1; RT-CMP-agent-cli, RT-CMP-gemini, RT-CMP-openai, RT-CMP-anthropic, RT-RTE-local-edits Mutable provider selection, opaque subprocess internals and static dashboard launch paths Exact remote model behavior/parameter changes, subprocess isolation, deployed security or observed exploitation Pinned deployed model/grant identities and inspectable host/provider/browser operation under named launch conditions
Savings is estimated bookkeeping SRC-1; MEM-OBJ-savings Assumed baseline and pre-suppression construction ledger Measured delivered-block counts, causal token savings or task improvement Actual delivery accounting and comparable memory/no-memory task measurements

The supplied report verification and profile verification declare no additional limits. Reconciliation identifies no unresolved mechanism conflict; the table retains the operative evidence and coverage restrictions rather than treating those judgments as proof of execution.