WikiBrain report verification

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

Verification

The reports support a bounded implementation/design account. I independently traced the consequential producer, admission and consumer paths against SRC-1, rather than treating analyst checks or agreement as verification. Checkout HEAD matched the reviewed revision and Git status was clean. No target program, model call, test or example was executed. The supplied structural check reports none; all four correction-answer inputs are empty. There are no structural failures to route and no correction arguments to adjudicate.

Runtime and workflow

For RT-CMP-provider-models, I inspected both provider loops and runner selection in SRC-1 src/ai/providers.ts, plus configuration and dispatch in src/ingest.ts. The loops send the supplied history, accumulate full current tool results, count tool calls and retry transient requests. No local parameter update, compactor, delegated worker or mandatory instruction-fetch preflight appears in those loops. Remote model fixity and provider behavior remain unresolved as reported. An identifier is not an immutable weight pin.

For RT-RTE-ingest-job, RT-RTE-lint-job and the workflow account, I traced API dispatch, target existence checks, process-local exclusion, prompts, tool execution, per-note transactions, job completion/failure and browser polling. SRC-1 src/api.ts, src/ingest.ts, src/notes.ts, src/ai/providers.ts, web/src/components/IngestPanel.tsx and web/src/pages/Workspace.tsx support the reported sequence. The tool result, not merely its event summary, reaches the next model call. A tool refusal need not fail the job; terminal refresh occurs for failure too. The reports correctly distinguish requested multi-page compilation from runner termination and durable individual writes. The workflow does not manufacture an observed run by joining unrelated capabilities.

I separately checked branch behavior and supported-input reachability for RT-RTE-schema-spelling and RT-CLM-schema-guard. In SRC-1 src/ingest.ts, the guard examines the original string; src/notes.ts subsequently trims and removes leading slashes before validating and persisting the path. A leading-slash schema path is accepted by that normalizer and is representable in the string tool schema. Both provider loops forward it without canonicalization. src/plans.ts adds capacity checks, not a universal canonical-path rejection. Later getInstructions selects the normalized schema note. This supports static conditional reachability, not an executed exploit or model compliance claim. test/injection.test.ts checks canonical schema paths and does not establish the universal prohibition. Normalized raw-update refusal remains a separate, supported control.

For RT-RTE-client-tools, I checked SRC-1 src/auth.ts, src/mcp.ts, src/api.ts and src/web-api.ts: write scopes, workspace binding and ordinary note validation differ from built-in agent policy. MCP has neither the schema denial nor the raw read label. For RT-RTE-rule-update, src/templates.ts, src/merge3.ts and web/src/components/RuleUpdates.tsx support snapshot-based comparison, clean text merging, safe conflict retention and explicit overwrite; API middleware does not classify the built-in rule-update endpoint as session-only. Browser confirmation is therefore not a backend human-only invariant. Concurrent comparison/admission has the local limit below.

RT-OBJ-ingest-jobs and RT-BAP-schema-instructions also withstand consumer tracing: persisted events/results are clipped, while model tool results are not; schema concatenation is a requested response, not automatic enforced preflight. Their operation statuses do not claim observation.

Memory objects and routes

I checked source content, checks, transformations and actual later consumers for every memory declaration. SRC-1 src/notes.ts, src/import.ts, src/import-api.ts and src/zotero.ts support MEM-OBJ-raw, MEM-OBJ-wiki, MEM-OBJ-schema, MEM-OBJ-links-tags and MEM-RTE-source-admission. Converted capture is not necessarily original content. Scheduled Zotero capture is a concrete alternative to manual per-source selection; skipping seen keys and retaining the old library version on truncated rounds are implemented. Backlink existence, not summary quality, changes pending status.

MEM-RTE-note-retrieval is supported by the requested tool consumers and SQL selection: lexical terms, bounded snippets, exact normalized reads and all-schema concatenation are distinct operations. Archive excludes pending selection but not exact reads/search. Navigation metadata is not semantic endorsement. The container MEM-OBJ-wiki distinguishes catalog, knowledge and narrated reports in its findings; it does not claim a uniform authority or compulsory later reading of reasons.

SRC-1 src/chat.ts and web/src/components/ChatPanel.tsx support MEM-OBJ-chat-sessions, RT-RTE-chat-session and MEM-RTE-discussion-guidance. Next-turn history includes saved message prose, even failed replies, but not prior tool bodies. Discussion guidance separately filters failed messages and takes the transcript tail. Filing checks assistant role rather than truth. The unsliced completion callback and sliced job result are different checkpoints, as the memory annotations state.

For MEM-OBJ-note-versions and MEM-RTE-state-withdrawal, SRC-1 src/notes.ts, src/retention.ts, src/workspaces.ts and browser save/rollback code support per-note snapshots, optimistic updates, archive/undo, reset and age-based purge. These do not provide job-wide rollback, physical erasure or automatic retraction of dependent claims. For MEM-OBJ-template-state and MEM-OBJ-user-templates, src/templates.ts distinguishes comparison bases from editable bundles and active schema; snapshotting resets the historical log. For MEM-OBJ-assets and MEM-RTE-human-delivery, src/assets.ts, src/shares.ts, src/export.ts and the provider input builders support separate binary browser/export delivery, not built-in binary model input. No stored payload was mistaken for demonstrated interpretation.

Epistemic findings and reconciliation

I checked the content and license of EPI-OBJ-raw, EPI-OBJ-wiki, EPI-OBJ-lint-report and every new epistemic route. SRC-1 src/import.ts supports EPI-RTE-source-import, including conditional abstract substitution. src/lint.ts supports EPI-RTE-structural-check as derivation over database/regex predicates, not source truth; its formatted prompt omits some structural detail and caps listed categories. EPI-RTE-semantic-check is an implemented request for model comparison, not evidence of a correct criticism. EPI-RTE-pending-selection is scheduling, not acceptance. The acquisition/pending parts belong to the import-backed runtime account, and the two checking parts belong to its lint route; none implies an atomic import-and-compile transaction.

I checked both README passages underlying EPI-CLM-compiling-compounds and EPI-CLM-health-check. The implementation supports persistence/reuse and structural/model-requested checking, not observed compounding benefit. The ledger keeps checking separate from disposition and retention separate from accepted-claim integration. Its indeterminate generation relations do not infer conjecture from missing entailment evidence. Its bounded conclusion explicitly withholds system-wide negatives about unassessed templates and external clients; the scenario finding below therefore does not contradict an emitted negative.

I checked all Part of: relations and both supersessions in reconciliation. Raw and wiki duplicate declarations have the same content referents despite differing analytical fields and supporting stores. Supersession preserves their findings; it does not upgrade a status. Import routes overlap without having identical extents; retrieval spans several callers; conversation prose, versions and job events are different checkpoints. The recovery ledger's client-route citation is broader than MCP alone and its stated shared-note callers/REST coverage prevent a false six-tool maintenance inventory. No unresolved cross-report conflict was found. Source doctrine versus implementation mismatches are retained, not falsely treated as inter-report disagreement. No declaration is an evidenced-absence record; local negatives are bounded to inspected paths, not promoted into complete-system absence.

Omission search and stopping decision

The frozen tracked tree and producer/consumer dependencies selected three consequential questions beyond merely following quotations: whether another shipped admission path defeats human-only rule control; whether retained conversation and attachment transformations change what a later model actually receives; and whether scenario instructions add epistemic organization beyond the general template. The first two are disposed by the MCP/REST, template, chat/browser and provider traces above. No omitted shipped enclosing caller was treated as external. The third yields the local inventory limit below: the researcher template prescribes an evidence/counter-evidence/judgment page form, and the PM template prescribes rationale-bearing decisions. These are doctrine delivered through the already established template/schema route, not evidence of successful acceptance or criticism.

Optional expansion stopped because these selected challenges now have supported dispositions or local limits. Further parser, renderer, translated-template, provider or deployment inspection is not reasonably required to preserve the reports' bounded implementation conclusions. Their stated uninspected areas cannot support exhaustive comparisons, but the reports do not emit those comparisons. Neither faithful uncertainty nor missing execution evidence was converted into a blocker or evidence of absence.

Blockers

none

Limits

  • Scenario-specific epistemic doctrine is not separately inventoried in EPI-OBJ-wiki, the epistemic coverage and conclusion, or MEM-OBJ-schema. SRC-1 templates/researcher/en/schema/researcher.md requests falsifiable argument pages with evidence, counter-evidence and judgment; templates/pm/en/schema/pm.md requests decision rationale and retention of reversed decisions. These can enter the known RT-RTE-rule-update and RT-BAP-schema-instructions paths. Withhold a complete inventory or comparison of scenario-level epistemic guidance. The reported general-template account and absence of demonstrated evidence-consuming acceptance remain supported; the reports already avoid a system-complete negative. The researcher instruction supplies a concrete omitted doctrine witness, not observed fulfillment:
    • wiki/arguments/: one falsifiable claim per page with the fixed structure claim / evidence / counter-evidence / current judgement, every item linked to a source page. --- templates/researcher/en/schema/researcher.md
  • RT-RTE-rule-update and the memory annotation on it support comparison-based safe retention, not preservation of every concurrent edit. SRC-1 src/templates.ts computes page state/text before rereading the note version used for the eventual update. A change between those reads need not be rejected as a stale version, because the second read supplies the newer version while text still comes from the earlier comparison. Withhold a concurrency-safe merge/admission guarantee; no executed lost-update case is asserted. This does not invalidate the described snapshot-based merge policy, ordinary optimistic note updates or retained history:

    const note = await readNote(ws, page.path); const text = page.state === 'merged' && page.merged !== null ? page.merged : page.next; await updateNote(ws, page.path, text, note.version, actor); --- src/templates.ts