Omni-Memory report verification
Type: agentic-system-analyses/types/agentic-system-verification.md
Verification
I judged runtime, memory, epistemic, workflow and reconciliation afresh against SRC-1 implementation and doctrine/design. The checkout HEAD matches boundary, and its top-level tracked tree matches the boundary's coverage table. Inspection was static; no target code, tests, hooks, server or provider was executed. There is no registered observed-run or causal-experiment evidence. The supplied report-check contains none, so there is no structural failure to route.
Correction disposition
The runtime answer addresses the previous dashboard reachability objection. I independently followed SRC-1 omni_memory/cli.py from the integer ui --port parser through cmd_ui, then omni_memory/serve.py from run_ui into _handler. Zero is accepted and forwarded unchanged; _ALLOWED_HOSTS is empty for zero, causing _origin_ok to return true and bypassing the guarded JSON content-type requirement. This establishes both branch behavior and supported-input reachability, not exploitation. RT-RTE-local-edits and the Runtime account's enforcement table now correctly distinguish the default nonzero launch from ui --port 0. Both retain external browser/deployment limits. The blocker is resolved, including the dependent account wording.
The other answer files are empty. Reconciliation's statements that no answers were supplied describe its own earlier input state, not this verification's input state. Its connections neither deny nor depend on the old dashboard qualification. This procedural wording does not change any reconciled identity, evidence status or source conclusion; I dismiss it as immaterial to publication rather than manufacture a cross-report mechanism conflict.
Records, evidence and relations
I checked all declared components, objects, routes, claims and behavioral-authority paths, their source anchors and supporting passages, and the specialists' annotations and ledger interpretations. No member declares an evidenced absence. Wired implementation and uninspected operation remain appropriate; neither static requests nor persistence establishes observed compliance or benefit.
- Models and invocation: SRC-1
omni_memory/llm.pysupports the four external backend component records, environment-selected models, mutable resolution and lack of a local training operation. The agent subprocess receives concatenated system/user text, checks return status and uses a timeout, without an established isolation envelope. Provider internals and parameter mutation remain uninspected. RT-CMP-agent-cli, RT-CMP-gemini, RT-CMP-openai, RT-CMP-anthropic. - Production and admission: I traced CLI capture/build/remember/snapshot and dashboard writers into
session_memory.py,cleanup.py,store.pyandartifacts.py. JSON acquisition bypasses extraction; raw prose consults unattended policy; model failure can use the heuristic; malformed JSON-looking input rejects. Cleanup checks storage-worthiness, not sentence truth. Low-level dashboard and manual-source remember can assert tiers without authenticated human approval; explicit trusted import differs from automatic import. Build's independent facts/doc switches support the reachable--no-aicountercase. Model instructions and document length admission do not establish semantic fidelity or accepted ampliative knowledge. RT-RTE-capture-admission, RT-RTE-build-artifacts, RT-RTE-local-edits, RT-RTE-shared-import, EPI-OBJ-candidates, EPI-RTE-candidate-filter, EPI-RTE-filter-admission. - Objects and lineage: Store schema and methods distinguish textual memory from symbolic lineage/access state, separate ledger/witness tables, events, savings and code-graph rows. I checked graph assembly/proximity and the knowledge-graph projection in SRC-1
omni_memory/graph/build.py,omni_memory/graph/proximity.pyandomni_memory/graphbuild.py. Retaining a prior graph when extraction has no real symbols supports the freshness caveat, not a complete parser guarantee. The epistemic retained-row container explicitly accommodates its metadata part; memory's text/state split remains intact. Generated API/linkup files are not SQLite rows or a proven automatic agent read-back route. MEM-OBJ-memory-text, MEM-OBJ-memory-state, EPI-OBJ-memory, EPI-OBJ-evidence, MEM-OBJ-code-graph, MEM-OBJ-observation-state, MEM-OBJ-event-log, MEM-OBJ-savings, MEM-OBJ-generated-documents. - Actual delivery: SRC-1
omni_memory/inject.py,rank.py,agentsmd.py,digest.py,cli.pyandserve.pysupport different consumers and selectors. Global/sibling appends prevent treating the initial item limit as a final cap. First-row retention and non-row overhead prevent calling the character budget a hard whole-block limit. Empty-query browsing can bypass trust multipliers. Managed AGENTS.md and digest use active rows across branches, omit different caveats, and do not implement verified-only filtering. Recall supplies fuller text; model-visible injection can omit reasons. Code chooses supplied context, while the host owns compaction and downstream action. RT-RTE-context-delivery, RT-OBJ-inject-cache, MEM-RTE-recall-search, MEM-OBJ-agents-context, MEM-OBJ-memory-digest, EPI-RTE-query-ranking, RT-BAP-agent-context. - Checks and dispositions: I followed SRC-1
omni_memory/staleness.py,branch.py,store.py,rank.pyandeviction.pythrough recompute, integrity verdicts, graduation/demotion, duplicate/conflict decisions and quarantine/restore. Citation plus fresh mapped hashes does not consume an outcome-success reference. Initial inferred AI/doc tiers do not satisfy the stated-tier graduation predicate. Insertion's protected exclusion and relaxed-only citation/tier shield are not universal merge protections. Restore's noise exemption does not prevent score eviction. These support the broad memory maintenance routes and the epistemic separation of check from disposition without treating retention as truth acceptance or post-acceptance integration. MEM-RTE-anchor-maintenance, MEM-RTE-memory-withdrawal, EPI-RTE-staleness-check, EPI-RTE-staleness-flag, EPI-RTE-integrity-check, EPI-RTE-tier-graduation, EPI-RTE-tier-withdrawal, EPI-RTE-merge-reconcile, EPI-RTE-merge-disposition, EPI-RTE-eviction-check, EPI-RTE-quarantine-disposition. - Use and warrant: SRC-1
omni_memory/witness.pypins current file digests, distinguishes matching read observations from pin-time bindings, and requires bound sources for valid coverage. Diagnostics/events do not lock external actions or establish semantic entailment. The skill, graduation comments and eviction comments support the three attributed claims, whose stronger warrant is correctly distinguished from implementation. RT-RTE-use-check, RT-CLM-verified-context, EPI-CLM-earned-verified, EPI-CLM-hygiene-truth.
All explicit Part of: relations have supported containment: transcript preprocessing and candidate check/admission are within runtime capture, query selection participates in context delivery, and evidence metadata belongs to the stated retained-row container. No relation is being used to transfer evidence strength automatically. The two supersessions in reconciliation preserve exact referents: workflow/memory describe the same cursor-window subroute; epistemic/memory describe the same API/linkup file pair. Other maintenance, object and check/disposition overlaps have different scopes and need no replacement. The valid containers remain. I found no unresolved cross-report mechanism conflict, missing required operative part or unsupported status upgrade. The memory integration issues have compatible explicit dispositions.
Consequential omission searches and stopping decision
The frozen tree and shipped producer/consumer responsibilities guided additional searches beyond listed anchors. First, could another model caller or write path defeat the path-specific unattended or evidence account? Package-wide searches for completion, extraction, remember/add and import callers led to capture, build/artifacts, global/direct remember, dashboard and sharing. Direct traces confirmed the distinct gates and exceptions already represented. This supports the bounded account, not universal safety or authenticated human control.
Second, could a shipped consumer change what the later model actually sees? I checked hooks, transcript processing, explicit retrieval, projections and the generated OpenCode plugin in SRC-1 hooks/hooks.json, omni_memory/cli.py, session_memory.py and install.py. Reader cursor advancement covers a larger flattening batch than the successful model extraction prefix. Saving that cursor can skip model-unexamined text; heuristic full-batch handling, short inputs and separate foreground capture qualify the finding. MEM-RTE-transcript-window and WF-RTE-window-handoff state a reachable implementation risk, not observed loss. Workflow delivery and recovery correctly distinguish writes/returns from successful task completion. OpenCode refresh discards start stdout and compaction explicitly pushes injection output; these paths are not excluded host responsibilities or proof of actual loading.
Third, could sharing, withdrawal or telemetry negate the retained conclusions? Store import skips existing IDs and inserts selected fields rather than restoring the entire local state; team sync does not apply disappearance as a tombstone. Edits/reanchor/merge do not reconstruct all source provenance. Savings estimates source rereading and records block construction before hook duplicate suppression; it is not a measured counterfactual. These findings support the qualifications on RT-RTE-shared-import, MEM-RTE-memory-withdrawal and MEM-OBJ-savings. Package searches for flows distinguished schema/flush references from map projection code without establishing a populated retained-flow consumer. The reports already withhold that conclusion rather than assert absence.
Finally, the dashboard alternative was traced through the supported CLI input, not inferred from a factory default or type alone; its repaired account is supported as described above. No identified material challenge remains without disposition. Optional omission expansion stops because the selected questions are resolved at the breadth of the emitted conclusions. Remaining parser, propagation, map, browser and deployment uncertainties already prevent exhaustive correctness, security, evaluator-coverage or benefit conclusions; none invalidates the positive memory mechanisms or local warrant comparisons. Additional inventory would not license a system-complete negative. Faithfully scoped uncertainty here requires no additional publication limit.
Blockers
none
Limits
none