expo-llm-wiki report verification

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

Verification

The submitted reports support a bounded implementation account. No material correction is required. I read every supplied member, record declaration, annotation and reconciliation disposition, including the empty correction-answer files. The supplied structural report says none; there is no structural finding to route. I independently inspected source rather than accepting the analysts' validation statements as evidence of support. Git HEAD equals the reviewed revision and the frozen checkout has no reported changes. The top-level tracked tree agrees with the coverage in boundary. SRC-1 remains the sole source; no target code, tests, examples, providers or evaluations were executed.

Runtime and admission

I traced event persistence, deferred return, automatic scheduling, checkpoint recovery, the legacy prompt window and transactional admission, then the ops extractor, gate, resolver and application. The findings in RT-RTE-event-librarian and RT-RTE-ops-librarian hold at their stated scopes. SRC-1: packages/core/src/services/WriteService.ts, packages/core/src/services/librarian/legacy.ts, and the packages/core/src/services/librarian/ops/ implementation. Legacy's recent window is not complete event processing. Ops can bypass model resolution through ADD/NOOP gate decisions. Rejected operations are not necessarily rejected assertions; failed resolution, immutable targets and failed temporal linkage have different retention outcomes. The memory annotation and EPI-RTE-ops-classify, EPI-RTE-ops-disposition correctly preserve these distinctions.

I checked the full-success/partial-success/total-failure ingestion fork, including partial-row source fields and deduplication; direct remember; import replacement/merge and summary/blob handling; and the public caller-owned graph transaction. RT-RTE-document-ingest, RT-RTE-direct-admission and RT-RTE-import-admission do not turn successful storage into semantic acceptance, universal review, or global atomicity. SRC-1: packages/core/src/services/IngestionService.ts, packages/core/src/services/RememberService.ts, packages/core/src/services/ImportExportService.ts, packages/core/src/WikiMemory.ts. Explicit maintenance and these admission alternatives remain reachable despite deferred event writing. The runtime's guarantee table is appropriately path-local.

The five runtime provider-component records and MEM-CMP-classify-provider keep callback contracts, actual parameters and mutable endpoint identities separate. The inspected interface and call sites do not establish exact weight versions, provider-internal mutation or training. The optional classifier's auto-mode/type-count dispatch and confidence/application gates support the bounded account in MEM-RTE-ontology-backfill. SRC-1: packages/core/src/types.ts, packages/core/src/utils/llmCall.ts, packages/core/src/services/MaintenanceService.ts. Lack of execution is not used to withhold inspectable wiring, nor is wiring promoted to observed operation.

Retained objects, withdrawal and delivery

I checked all ten memory object records against their storage/producer/consumer distinctions: events, assertion text, numerical vectors, access/trust/validity metadata, tasks, edges, manifests, checkpoints, imported summary and outbox. The SQLite schema, writer objects, embedding input/storage seam, import/export and presenters support those distinctions. SRC-1: packages/core/src/db/schema.ts, packages/core/src/services/EmbeddingService.ts, packages/core/src/repositories/EntryRepository.ts, and the admission sources above. In particular, MEM-OBJ-entity-summary establishes stored import/API exposure, not automatic conversation compaction; MEM-OBJ-entry-vectors does not infer encoder identity from dimensions.

For RT-RTE-memory-read, I traced public budget validation through packing and the recency/keyword return paths to separate task/event assembly. SRC-1: packages/core/src/services/RetrievalService.ts, packages/core/src/utils/budget.ts. A zero budget is supported input, and a nonempty fact result reaches the unconditional top-item retention branch; title/tag overhead survives body truncation. This supports the counterexample to a strict total-context cap without claiming an observed overrun. Formatting can further reorder/cut results and omit trust/provenance. MEM-RTE-graph-context correctly distinguishes TypeScript traversal/presentation from RT-RTE-native-traversal, and graph presentation from a complete fact serialization. SRC-1: packages/core/src/utils/formatContext.ts, packages/core/src/utils/formatGraphContext.ts, packages/core/src/services/GraphTraversalService.ts, crates/graphrag-core/src/engine.rs. No parity or exhaustive-neighborhood guarantee is asserted.

I independently traced heal's pre-model SQL, candidate/anchor selection, context-degradation ladder, response-local ID guards, deletion-before-deduplication ordering, inserts and cooldown exclusions. MEM-RTE-heal-memory, EPI-RTE-heal-assess and EPI-RTE-heal-dispose preserve the distinction between requested criticism and demonstrated reasoned revision. SRC-1: packages/core/src/services/MaintenanceService.ts, packages/core/src/services/PromptService.ts, packages/core/src/services/BoundedLlmCall.ts, packages/core/src/repositories/EntryRepository.ts. Scheduler budgets and deadlines are not provider cancellation or eventual-success guarantees.

MEM-RTE-temporal-history correctly describes valid time with current knowledge, not a past knowledge snapshot. MEM-RTE-memory-withdrawal retains the clearAll event-survival/source-index gap and local-commit/external-hook failure boundaries. I checked those branches and guarded pruning rather than relying on deletion names. SRC-1: packages/core/src/services/TemporalService.ts, packages/core/src/utils/temporal.ts, packages/core/src/services/MaintenanceService.ts. Neither record promises all-substrate erasure or universal undo.

Epistemic checks and shipped consumers

All four epistemic object records, eight epistemic route records and the grounding claim preserve their actual targets and force. The source-occurrence check has no candidate-body argument, so it cannot license entailment; its passing quote strings are not retained as the trust object. Grounding status is an insert-time disposition, not universal write mediation. The ops inferred-row UPDATE branch avoids that insert helper; a validated ambiguous UPDATE targeting an inferred neighbor can reach it. Conversely, this is not evidence that every update bypasses grounding or that a provider has exercised the route. Draft filtering defaults off in retrieval, independently of that UPDATE exception. These findings support EPI-RTE-grounding-check, EPI-RTE-grounding-status, EPI-CLM-grounding-draft and MEM-OBJ-entry-metadata. SRC-1: packages/core/src/utils/grounding.ts, packages/core/src/services/librarian/ops/apply.ts, packages/core/src/services/RetrievalService.ts. Promotion checks live draft and nonempty reviewer text, not authenticated human review; metadata-only trust writes do not enqueue content sync.

I traced both ScopeLab requests, its memory wrapper and executor, plus tool advertisement/scope filtering. RT-RTE-scopelab-chat and RT-BAP-memory-context correctly distinguish dispatch checks from model compliance, direct executor access and provider-native tools. The omitted provider and adapter/db mismatch prevent an end-to-end persistence claim. SRC-1: apps/scopelab/src/lib/llm/function-caller.ts, apps/scopelab/src/lib/memory/wiki-service.ts, apps/scopelab/src/lib/llm/tool-executor.ts, packages/core-llm-tools/src/injector.ts. The prompt-guidance and manifest-guidance authority records likewise distinguish advisory model instructions from software normalization.

I traced benchmark replay, sentinel acceptance, reopened read, answer/judge construction, verdict parsing, result projection and CLI spending/delivery. RT-RTE-benchmark-answer, WF-RTE-replay-cache, WF-RTE-report-delivery, EPI-RTE-judge-check and EPI-RTE-judge-record remain supported. SRC-1: packages/benchmarks/src/longmemeval/ingest.ts, packages/benchmarks/src/longmemeval/run.ts, packages/benchmarks/src/longmemeval/judge.ts, packages/benchmarks/src/cli.ts. Cache acceptance is not semantic completeness; legacy does not forward deferred configuration; zero read budget is omitted by this caller; judgment affects reporting rather than memory repair. Public projection drops raw answers/judgments. Promise rejection prevents aggregate delivery without cancelling other workers. No measured accuracy or causal mechanism benefit is inferred.

The remaining runtime integration records are also supported at their narrower boundaries: RT-RTE-remote-tools describes schema/HTTP delegation, not local engine guarantees; RT-RTE-outbox-sync retains external transaction/local acknowledgement replay risk. SRC-1: packages/mcp-server/src/server.ts, packages/mcp-server/src/client.ts, packages/mcp-server/src/tools/index.ts, packages/prisma-outbox/src/PrismaOutboxWorker.ts.

Reconciliation, omissions and stopping

I checked every explicit Part of: relation: temporal replacement within direct admission; ops checking/disposition within ops orchestration; benchmark judging, recording and replay preparation within the benchmark container. These are actual contained functions, not candidate replacements. The single supersession in reconciliation identifies the same persisted title/body assertion referent. Task description and grounding trust are narrower parts of the memory objects; heal checking/application are functions within the valid heal container. Their coexistence does not require superseding a correct container. The reports did not receive one another's new declarations as supplied records, so these later cross-lens connections do not establish a missing original containment field. No unresolved contradiction or required undeclared operative part was identified. The runtime's explicitly unresolved ops/oracle details are refined, not contradicted, by the specialists.

Omission questions were selected from the tracked tree and producer/consumer dependencies: could another shipped caller make trust an enforced human gate, deliver the imported summary as model memory, establish a deployed graph/instruction consumer, or feed benchmark judgment back into core knowledge? In addition to the implementations above, I searched application, React and tool-manifest references to summary, promotion, trust writes, lint, graph formatting and instruction exposure. I inspected the draft guide and graph/Gemini recipes at SRC-1 apps/docs/src/content/docs/guides/drafts-and-grounding.md, apps/docs/src/content/docs/recipes/graph-qa.md, apps/docs/src/content/docs/recipes/gemini-agent-tools.md, and packages/core-llm-tools/src/manifests/instructions.ts. They supply documented host-use affordances, not evidence of deployment or authenticated review. They are compatible with the reports' existing distinctions; no new observed route follows.

Further omission expansion stops because these selected challenges have supported dispositions and no identified material contradiction remains. Available UI details, ontology helpers, custom/native ranking internals and stored/integration evaluation artifacts do not become evidenced absences. Their existing inspection limits prevent exhaustive policy/parity, system-complete negative and measured-benefit conclusions while leaving the positive retained-memory mechanisms intact. The epistemic report expressly withholds system-wide negatives about acceptance and theory-building. Its indeterminate semantic transformations and unobserved learning/self-improvement are scoped uncertainty, not unsupported negative findings. No report declares an evidenced-absence record. The long-term-memory claim remains doctrine supported by implemented mechanisms, not demonstrated longevity or benefit. These qualifications already bound the emitted findings; no additional publication limit is needed.

Blockers

none

Limits

none