WeKnora report verification

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

Verification

The handed reports support a bounded implementation account. No material blocker was established. One additional conversation read-back consumer leaves the memory inventory incomplete; it does not contradict its explicitly limited consumer finding. That omission is retained under Limits.

Evidence and review coverage

I read all four analyst reports, reconciliation, their types and the shared record contract. The four correction-answer inputs are empty. The supplied structural report says none; there is no structural failure to route. I reviewed every declaration, annotation, evidence-status assessment, the single explicit Part of: relation, all three supersessions and the integration-issue dispositions. There are no declared evidenced absences or unresolved-conflict paragraphs. I assessed the source passages for their meaning rather than treating quotation occurrence or an analyst's validation statement as semantic verification.

SRC-1 HEAD independently resolves to 234aa948db29c10f5ed4b7939285c7b3711c5d4c, with no checkout changes reported. The registered source and application-inclusive boundary remain supported by boundary. Additional inspection was confined to source text at that pin. No target code, tests, model calls or services were run. Source comments, README claims and prompt requests were distinguished from executable branches; none supplies observed operation or causal benefit.

Independent tracing covered the source anchors discussed below. New omission-oriented reads additionally covered SRC-1, internal/agent/tools/search_conversations.go, internal/agent/tools/sequentialthinking.go, internal/agent/tools/wiki_update_issue.go, and the downstream image-selection code in internal/sandbox/tenant_config.go and internal/sandbox/skill_image.go. These are implementation evidence, not execution traces. Searches also followed registration and repository consumers rather than treating shipped API callers as external applications.

Runtime records and workflow

  • Models and configuration. RT-CMP-chat-model, RT-CMP-embedding-model, RT-CMP-rerank-model and RT-CMP-vlm-model agree with the SRC-1 factories in internal/models/chat/chat.go, internal/models/embedding/embedder.go, internal/models/rerank/reranker.go and internal/models/vlm/vlm.go. Configured names, provider selection, dimensions and URLs are not immutable parameter identities. The reports correctly leave provider-internal updates uninspected. RT-OBJ-agent-config, RT-OBJ-system-prompt and RT-BAP-prompt-instructions separate fixed-rule grants from model-interpreted text. Registration in internal/application/service/agent_service.go confirms that AllowedTools alone is not the full capability boundary.
  • Ordinary and alternate invocations. RT-RTE-agent-turn is supported by SRC-1, internal/router/routes_chat.go, internal/handler/session/qa.go, internal/application/service/session_agent_qa.go and internal/agent/engine.go: admission, asynchronous work, history loading, recall, Execute/Resume and completion are distinct steps. The local completion flag covers exits from executeLoop, not durable exactly-once delivery. Natural completion and budget exhaustion are not task-success certificates. RT-RTE-rag-answer correctly distinguishes code-selected event progression in internal/application/service/session_knowledge_qa.go from model-selected tool succession. Dynamic foreground pipeline construction does not invalidate the separately bounded account of the evaluator's fixed pipeline.
  • Tool controls. RT-RTE-mcp-call agrees with SRC-1, internal/agent/tools/mcp_catalog.go, internal/agent/tools/registry.go, internal/agent/tools/mcp_tool.go and internal/agent/approval/gate.go. Catalog calls reach shared execution; policy rechecking, schema validation, conditional approval, modified-argument validation and remote retry have different enforcement points. The stated nil-checker, metadata and fail-open conditions prevent an unsupported universal approval guarantee. RT-RTE-sandbox-execution preserves the host exception and separate file/browser registration conditions in internal/application/service/agent_service.go; it does not transfer MCP approval or remote isolation guarantees to shell effects.
  • Context and document admission. RT-RTE-context-rewrite is supported by SRC-1, internal/agent/compaction/compactor.go, internal/agent/observe.go, internal/application/service/agent_history.go and the checkpoint-sink installation in internal/application/service/session_agent_qa.go. Separate summarization requests, history-only checkpoint projection, raw fallback, later checkpoint loading and lossy previews are real distinctions. Saving a checkpoint can precede sufficient foreground reduction. RT-RTE-knowledge-admission agrees with queue/failure handling in internal/application/service/knowledge_create.go and indexed finalization in internal/application/service/knowledge_process.go: enablement need not await enrichment, and a returned source row need not be retrieval-ready.
  • Installation and delivery. I independently followed RT-RTE-skill-install, RT-BAP-skill-image and the workflow account through SRC-1, internal/application/service/tenant_skill_install.go, internal/application/service/tenant_skill_verify.go and internal/application/service/tenant_skill_runtime_verify.go. Error-free complete engine return precedes verification; structured repairability and the round budget determine retry; the repair Execute receives nil prior history. Tree, dependency, parse and declared-command checks are not a complete functional oracle. An explicit report blocker is fatal, while omitted requirements remain outside that report-based check. Snapshot creation, renewed ownership checks and pointer publication precede ready-state bookkeeping. Pre-publication failure and post-publication bookkeeping failure are correctly separated. The workflow annotations add these fields to the runtime route without redeclaring it. Host equivalence and crash-safe publication are not asserted.

For the last channel I also checked the actual later selector: SRC-1, internal/sandbox/tenant_config.go, substitutes admitted snapshots into effective Cube/E2B templates or Docker images; internal/sandbox/skill_image.go withholds the override on missing or mismatching owner fingerprint. This supports capability availability to later sessions, not successful execution or improvement. The record's installation witness supplies admission evidence; the downstream implementation makes the retained pointer consequential:

if image.OwnerFingerprint != SkillImageFingerprint(provider, apiKey, apiURL) { return "" } return strings.TrimSpace(image.SnapshotID) --- internal/sandbox/skill_image.go

Memory declarations and annotations

The personal-store records have distinct referents and consumers. MEM-OBJ-memory-item, MEM-OBJ-memory-embedding, MEM-OBJ-memory-topic, MEM-OBJ-doc-affinity and MEM-OBJ-memory-tombstone agree with SRC-1, internal/types/memory.go, internal/application/repository/memory.go, internal/application/service/memory/service.go and internal/application/service/memory/vector.go. Note text, selection vectors, recurrence statistics, answer-reference counts and rejection metadata are not interchangeable knowledge objects. Source IDs do not retain an extraction argument. Inferred is runtime-only; pending status is durable.

MEM-RTE-personal-write correctly traces the user-only transcript predicate in SRC-1, internal/application/service/memory/extract.go, through proposed operations to service admission. Sanitization, credential checks, conflict handling and tombstones constrain writes without certifying their truth. The actual status function supports conditional confirmation, not a universal human gate. Recurrence promotion writes extracted interests without setting Inferred. Delete/clear attempt bounded tombstones before removal, but recording failures do not necessarily veto deletion. These qualifications are supported, not optional caveats hiding a stronger guarantee.

MEM-RTE-personal-recall and MEM-RTE-memory-search match SRC-1, internal/application/service/memory/service.go, internal/application/service/memory/search.go, internal/application/service/memory/vector.go and internal/agent/tools/search_memory.go. I checked the loaded kinds, active predicates, interest selection, capacity-sized lexical pool, embedding call, result limits and rune budgets. Automatic opening-query recall differs from foreground-requested search. Reported used memories can omit injected standing interests; neither the timeline nor a usage touch proves successful reliance. The cached-block fallback is explicitly preserved.

MEM-RTE-retrieval-conditioning and MEM-BAP-retrieval-feedback have actual later consumers in SRC-1, internal/application/service/chat_pipeline/query_understand.go and internal/application/service/chat_pipeline/memory_affinity.go. The bounded background/title selection and candidate-score multiplication support different authority channels. Answer-reference counts are not satisfaction feedback. MEM-RTE-memory-review follows expiry, demotion, model-vetoable merging, replacement/supersession and embedding maintenance in internal/application/service/memory/consolidate.go. Similarity only selects candidate clusters; no reference-answer oracle or semantic-preservation guarantee follows. The two source-comment qualifications—no-model recall and capacity-only forgetting—are justified by executable counterpaths.

MEM-OBJ-chunk, MEM-RTE-chunk-edit and MEM-RTE-knowledge-read preserve source/current-body/index distinctions. SRC-1, internal/application/service/knowledge_process.go, internal/application/service/chunk.go, internal/application/service/chunk_write.go and internal/agent/tools/search_knowledge.go, support parent-versus-child indexing, revision save before potentially failed reindex, cleared source locators, stale generated-question revisions, and rank/MMR/output-budget selection. These facts do not warrant backend-complete consistency or source-complete model delivery.

MEM-OBJ-wiki-page, MEM-RTE-wiki-update and MEM-RTE-wiki-read agree with SRC-1, internal/application/service/wiki_ingest_batch.go, internal/application/service/wiki_page.go, internal/application/service/knowledge_delete.go and internal/agent/tools/wiki_tools.go. I checked cited-chunk versus Details fallback, generated-body admission, table-loss exemptions, revision storage, deletion ordering, retract failure and budgeted delivery. Immediate lineage cleanup is not immediate semantic withdrawal. Omitted slugs permit another request; truncated bodies do not establish complete automatic recovery.

MEM-OBJ-chat-passage and MEM-RTE-chat-index are supported by SRC-1, internal/handler/session/qa.go and internal/application/service/message.go: optional Q&A passage creation strips thinking, links Knowledge to a message and enables later message search. It is not personal-note extraction or raw AgentSteps retention. The route does not claim automatic foreground injection; the additional optional agent consumer is the local omission below.

The four memory annotations preserve their owners' findings: checkpoint projection/reload extends context rewriting; indexing inputs extend document admission; in-process evaluation lookup is not durable knowledge acceptance; diagnostic installer text and executable images have different consumers. None substitutes for a missing field or changes another member's referent.

Epistemic records and claim comparisons

The object declarations EPI-OBJ-knowledge-chunks, EPI-OBJ-chat-response, EPI-OBJ-context-checkpoint, EPI-OBJ-memory-item, EPI-OBJ-wiki-page and EPI-OBJ-metric-result remain compatible with their producers and consumers. The checkpoint's summary label is not a claim that raw fallback cannot persist. The ledger preserves that alternative. Model output, stored content, provenance handles and computed scores do not acquire a common truth status.

EPI-RTE-memory-extraction, EPI-RTE-memory-write, EPI-RTE-memory-review and EPI-RTE-memory-recall agree with the independently traced memory implementation. The event-organising prompt example in SRC-1, internal/application/service/memory/extract.go, establishes a permitted non-entailed conjecture class, not an observed inference. Actual unobserved output semantics remain indeterminate. Confirmation/rejection is a later eligibility decision, whereas the similarly named memory report's review is consolidation. The ledger properly separates checking, disposition and retention; active status alone does not establish evidence-certified acceptance.

EPI-RTE-wiki-rewrite, EPI-RTE-wiki-guard and EPI-RTE-wiki-maintenance distinguish generated proposals, bounded structural veto and consequential lint cleanup. SRC-1, internal/application/service/wiki_lint.go, confirms the literal broken-link replacement, index exemption, short-page archival and stale-source metadata/deletion branches. The plain-target example and display-label counterexample follow the exact replacement expression; they are implementation deductions, not test results. internal/application/service/wiki_page.go confirms selected-field revert and a separate machine-link update path. Thus the report's qualification of every-change rollback is justified without asserting that rollback is absent.

RT-RTE-dataset-evaluation, EPI-RTE-dataset-metrics and the metric object agree with SRC-1, internal/application/service/evaluation.go, internal/application/service/metric_hook.go, internal/application/service/metric/precision.go and internal/application/service/metric/bleu.go. The explicit Part of: relation is valid: metric computation is inside the evaluation lifecycle, not a competing lifecycle. Substring mapping drops unmatched retrievals and deduplicates mapped IDs before the precision denominator. The worked precision example is supported. Deterministic encoded-input calculation does not establish source truth, complete formula coverage or an observed quality comparison. The consumer exposes metrics rather than automatically adopting a successor.

I rechecked RT-CLM-evidence-verification against SRC-1, config/prompt_templates/agent_system_prompt.yaml, and EPI-CLM-cited-answers, EPI-CLM-automatic-wiki and EPI-CLM-end-evaluation against README.md. Their claimed statuses are appropriate. The claim-versus-route table does not convert source citations into proposition verification, reversible content fields into universal rollback, or reference-relative metrics into factual/causal validation. The bounded conclusion withholds system-complete negatives and keeps learning, reflection, theory-building and exercised self-improvement separate from persistence and repair.

Reconciliation and omission-search disposition

The three amendments in reconciliation identify genuine duplicate chunk, MemoryItem and WikiPage referents. Their common source identities and preserved findings justify supersession; the more detailed memory findings do not change the objects' identities. No further supersession is needed for a valid broad route containing distinct functions. The grouped epistemic recall route is compatible with separate automatic recall and on-demand search. Context output objects, routes and annotations are not duplicate declarations. All eight memory integration issues retain compatible dispositions. No material unresolved cross-report disagreement was found; public-claim mismatches are not automatically disagreements between analysts.

Omission questions were selected from the frozen top-level tree, built-in registration and producer/consumer dependencies:

  1. Could retained conversation content have another shipped model consumer? Registration and the conversation-search implementation establish an optional foreground tool beyond the message-search endpoint. This does not falsify the report's explicit uninspected-consumer qualification; it leaves the inventory locally incomplete. Disposition: the Limit below, not a false absence or mandatory expansion into an exhaustive inventory.
  2. Could installation be only an archival pointer with no later effect? Effective sandbox configuration and owner-fingerprint selection establish the downstream executable channel described above. Disposition: the existing positive capability finding is supported. External snapshot durability and host-path equivalence remain outside that claim.
  3. Could omitted criticism/checking tools defeat the bounded epistemic conclusion? SRC-1, internal/application/service/agent_service.go, registers sequential thinking and wiki issue operations. internal/agent/tools/sequentialthinking.go records model-supplied thoughts, revisions and branches with structural input checks; internal/agent/tools/wiki_update_issue.go scopes an issue and delegates a status update. These do not by themselves certify factual acceptance or demonstrate content-directed theory criticism. They also do not establish absence of either. The report already withholds a complete negative over these alternatives. No broader negative was accepted.
  4. Could alternate knowledge producers or readers invalidate the selected provenance/withdrawal findings? The creation/edit/delete branches and knowledge/wiki tool consumers preserve heterogeneous inputs, derived details, partial source context and separate maintenance horizons. The existing coverage inventories explicitly leave manual/connector/FAQ, graph/multimodal, backend cleanup and some issue/taxonomy paths incomplete. The selected positive mechanisms remain valid; universal provenance, erasure, authorization and semantic-equivalence comparisons cannot be made from this set.

Further optional omission expansion stopped because the selected questions have dispositions and no identified material challenge remains unaddressed. More parser, backend, UI or host branches could enlarge the inventory, but the reports do not emit complete coverage, universal checking, absence or measured-benefit claims that would require that expansion. Missing execution evidence is an evidence-boundary condition, not a reason to erase supported architecture or to invent a successful run.

Blockers

none

Limits

  • MEM-RTE-chat-index and MEM-OBJ-chat-passage stop their proven consumer chain at message search and explicitly leave broader agent use uninspected. An additional shipped consumer exists: SRC-1, internal/application/service/agent_service.go, conditionally registers the conversation-search tool; internal/agent/tools/search_conversations.go invokes hybrid message search with the captured owner, excludes the current session, and returns escaped, truncated prior Q&A as tool text. The partial inventory therefore must not support an exhaustive comparison of on-demand conversation-memory consumers or their delivery budgets. This is optional tool read-back, not automatic injection on every turn or demonstrated reliance. The narrower indexing/search finding and the other memory routes remain supported.

case tools.ToolSearchConversations: --- internal/application/service/agent_service.go

result, err := t.messageService.SearchMessages(ctx, &types.MessageSearchParams{ Query: query, Mode: types.MessageSearchModeHybrid, --- internal/agent/tools/search_conversations.go