llm-wiki report verification

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

Verification

The supplied reports support a bounded account of retained-file acquisition, semantic writing, deferred foreground completion, retrieval and publication. Both previous epistemic blockers are repaired, including their dependent inventory and conclusion passages. No material blocker remains. One local cross-report status disagreement remains a limit below.

The supplied report-check is none. Runtime, memory and workflow correction answers are empty. The two epistemic answers describe actual changes supported by the current member and frozen source; I did not treat the answers or the previous judgment as verification evidence.

Independent evidence and record checks

I rechecked SRC-1 HEAD against the boundary revision and found a clean checkout. Inspection of its tracked root tree and source text preserves the boundary: the target includes shipped host procedures and callers, but not external host scheduling, provider internals or private histories. No target command, test, example or provider was executed. Source inspection supplies implementation and doctrine/design, not observed operation or causal benefit.

I assessed all declarations, annotations, cited source anchors and evidence statuses in the following groups. The quoted passages retained by the cited records supply the minimum evidence; independent source tracing checked their meaning, conditions and consumers rather than merely their occurrence.

  • Acquisition: RT-RTE-session-conversion and EPI-OBJ-raw-sessions, including memory's conversion annotation, correctly distinguish rendered history from native records and factual warrant. SRC-1 llmwiki/convert.py has separate Markdown-copy and normalized-record branches, both guarded before writes; force bypasses refusal, and collision disambiguation can choose another filename. Mtime state governs subsequent work. SRC-1 llmwiki/cli.py dispatches conversion and conditional follow-up build/lint, not semantic foreground ingest. The raw-write guarantee is correctly scoped, not filesystem isolation or universal fidelity.
  • Backend production and coordination: RT-RTE-backend-synthesis, RT-RTE-agent-completion, RT-OBJ-source-page, RT-OBJ-pending-prompts and their memory annotations survive checks of SRC-1 llmwiki/synth/pipeline.py, llmwiki/synth/base.py, llmwiki/synth/agent_delegate.py, llmwiki/synth/cli_helpers.py and llmwiki/synth/prompts/source_page.md. Unknown backend names fall back to dummy; unavailable backends instead return errors. State and the synthesized counter advance after placeholder persistence. Pending reuse selects by slug, while completion checks target sentinel UUID. Body replacement preserves recognized frontmatter, not appended prior body text. RT-CLM-append-preservation correctly records that docstring mismatch without claiming observed loss. The deterministic dummy example is a source deduction, not execution or verified summarization.
  • Model and guidance boundaries: RT-CMP-ollama, RT-CMP-claude and RT-BAP-source-guidance preserve separate model requests, opaque weights and guidance authority. SRC-1 llmwiki/synth/ollama.py sends a template, metadata and an 8,000-character body prefix; remote configuration warns rather than forbids egress. Its retries distinguish transient failures from unavailable service. SRC-1 llmwiki/build.py invokes a dated Claude model through a separate subprocess with a capped metadata brief. Neither inspected request changes numerical parameters. Template replacement is an affordance for guidance editing, not demonstrated autonomous improvement.
  • Host content and navigation: RT-RTE-host-ingest, RT-BAP-wiki-context, MEM-OBJ-wiki, MEM-OBJ-navigation, EPI-OBJ-wiki-pages, RT-CLM-history-compilation and EPI-CLM-source-fidelity agree with SRC-1 CLAUDE.md, AGENTS.md and llmwiki/context_md.py. Direct ingest writes are distinct from optional candidate review. Claude query doctrine prescribes folder-context pre-reading; the agent-agnostic query sequence does not. Saving a substantial answer has a requested permission step, unlike routine ingest. Folder display summaries are not complete stored context. Traceability and contradiction rules request behavior without proving compliance or truth.
  • Retrieval, disposition and withdrawal: RT-RTE-mcp-access, RT-RTE-candidate-admission, MEM-OBJ-candidate-archive, MEM-CLM-archive-visibility and EPI-CLM-candidate-trust survive checks of SRC-1 llmwiki/mcp/server.py, llmwiki/candidates.py and .claude/commands/wiki-candidates.md. Promotion can overwrite; merge/discard archive; optional reason files are separate from Markdown. Recursive query/search do not apply archive, candidate or lifecycle exclusion. Snippets, overview prefixes and bounded scans can omit evidence or rejection reasons. Read-page containment is endpoint-specific. Default MCP sync appends a flag absent from the sync parser, and the handler returns child output without checking its return code. These are source-level findings, not exercised failures or universal host protections.
  • Quality and evaluation: MEM-OBJ-quality-metadata, EPI-OBJ-quality-metadata, EPI-OBJ-lint-issues, MEM-RTE-quality-inspection, EPI-RTE-semantic-proxies, EPI-RTE-lint-return, EPI-RTE-freshness-check, EPI-RTE-lifecycle-helper and EPI-RTE-metadata-selection preserve their actual evaluation domains. I read SRC-1 llmwiki/confidence.py, llmwiki/lifecycle.py, llmwiki/lint/__init__.py, the claim-verification, summary-accuracy, contradiction-detection and content-freshness rule bodies, CLI lint dispatch and MCP metadata handlers. Callback presence enables structural proxies without invoking the callback; CLI supplies none. Freshness warns; lifecycle helpers return values; metadata endpoints display/filter stored assertions. The default confidence arithmetic is 0.39, not a calibrated probability. Candidate status is not MCP lifecycle. EPI-CLM-semantic-checks and EPI-CLM-lifecycle-states correctly retain the doctrine/implementation mismatch rather than granting general semantic validation.
  • Maintenance and alternative retention: MEM-OBJ-ingest-queue, MEM-RTE-wiki-maintenance, MEM-RTE-self-learn, MEM-RTE-graph-query, EPI-RTE-page-update and EPI-RTE-wiki-reflection describe supported mechanisms with the status disagreement retained below. SRC-1 llmwiki/ingest_queue.py implements path retention/read/clear, not proven slash-command consumption. .claude-plugin/plugin.json names a hook missing from the tracked tree. .claude/commands/wiki-update.md, .claude/commands/wiki-reflect.md and .claude/skills/self-learn/SKILL.md have different approval boundaries. Self-learn affords human-approved method revision, not demonstrated learning or exercised self-improvement. llmwiki/graphify_bridge.py builds symbolic/inferred graph edges and later reloads JSON, returning labels/paths under five-seed, depth and character limits rather than page evidence. llmwiki/synth/pipeline.py archives log lines deterministically; it does not establish semantic consolidation.
  • Workflow and publication: The workflow account and its two runtime annotations correctly connect separately invoked staging to serial foreground pickup in SRC-1 .claude/commands/wiki-sync.md. UUID rejection occurs before replacement, and CLI catches association errors. Successful replacement and best-effort prompt cleanup do not establish automatic repair, rollback, locking, successful host execution or later answer use. RT-RTE-reader-build agrees with SRC-1 llmwiki/build.py and llmwiki/pipeline.py: raw-based publication, optional project stubs, destructive output regeneration, optional model prose, and command-level strict/fail-fast controls. Publication and semantic wiki traversal remain distinct.

Correction, containment and reconciliation dispositions

The first epistemic correction is supported by SRC-1 CLAUDE.md's ingest sequence. The authority ledger now classifies ordinary cross-linking/overview revision as organization rather than lifecycle integration. Its license cell and bounded conclusion preserve the positive instruction while withholding the unsupported post-acceptance relation. No dependent lifecycle-integration assertion remains.

The second correction is also supported. EPI-OBJ-reader-overview now names the separate optional reader prose, and the inventory, build ledger row and conclusion consistently use that output. SRC-1 llmwiki/build.py passes it to render_index, renders it as HTML, and writes reader index.html; this is not a write into curated wiki Markdown. The retained record's passages support the distinction. Its Part of: relation to RT-RTE-reader-build is valid cross-kind containment: output object within producer route, not duplicate route identity. The other Part of: relation, metadata selection within MCP access, is likewise supported by the registered handlers.

The two amendments in reconciliation preserve genuine identities: derived wiki bodies and quality metadata respectively. They retain epistemic qualifications, including transient helper values, without installing another analyst's values. Raw sessions, archived candidate products and lint reports are distinct from their producing routes. Navigation, static guidance, rendered pending tasks and the path queue have different contents and consumers. Grouped memory diagnostics span MCP and independent CLI lint; grouped maintenance spans update and reflection. Neither container requires supersession merely because narrower records exist. Claims concern different promises, not duplicate identities. Workflow declares no records. No evidenced-absence records require disposition.

The unresolved conflict names both maintenance assessments, their shared source paths, differing statuses and the prevented single-status conclusion. It is local, not a contradiction about procedure content or an unsupported universal guarantee. Source-level tensions about candidates-first doctrine, archive inactivity, identical host workflows and appended-edit preservation are already compared against actual paths; they are not undisposed cross-report conflicts. All integration issues have dispositions. Reconciliation now recognizes the reader-overview repair rather than propagating its former lineage error.

Consequential omission search and stopping decision

I selected omission questions from the frozen tree and producer/consumer dependencies, not just record anchors:

  1. Could another caller make review or lifecycle exclusion universal? Direct ingest, backend persistence, completion and recursive MCP retrieval already provide counterexamples. Searches for confidence and auto-stale helper names across SRC-1 llmwiki/, .claude/, .claude-plugin/ and AGENTS.md found definitions, not a production writer installing their return values. This supports the reports' bounded unresolved-persistence finding, not an absence of all quality control. Additional checks on other paths cannot erase the witnessed bypasses.
  2. Could shipped automation establish the unresolved push/consolidation mechanisms? I searched queue and Auto Dream references in those same roots, checked hook registration against the tracked tree, and read SRC-1 llmwiki/watch.py and .claude/skills/wiki-all/SKILL.md. Watch polling dispatches conversion; the full-pipeline skill requests ordinary foreground ingest. Neither establishes automatic hot-cache/Auto Dream consolidation or host-window injection. These questions retain scoped uncertainty rather than a system-complete negative.
  3. Could editor/vault or evaluator paths invalidate the admission/delivery account? SRC-1 llmwiki/vault.py write/append helpers, integrations/obsidian/main.ts's index-only copy, and .github/workflows/wiki-checks.yml show local refusal/append, copying and structural/build checks, not a universal semantic acceptance gate or transactional completion. CI definitions are not successful run evidence. Their source inspection does not complete the reports' deliberately partial editor/evaluator inventory.

Further optional omission expansion stopped because these material challenges have supported dispositions and no identified contradiction remains unrouted. Uninspected native-adapter losses, repair transformations, built-in graph details and deployment variants prevent exhaustive route or fidelity comparisons, as the reports already state. They do not defeat the positive file-retention, optional-admission and deferred-completion account. No exhaustive coverage, reliability score, successful execution or improvement comparison is accepted here.

Blockers

none

Limits

  • MEM-RTE-wiki-maintenance assigns afforded, while EPI-RTE-page-update and EPI-RTE-wiki-reflection assign claimed; reconciliation retains the disagreement. SRC-1 .claude/commands/wiki-update.md and .claude/commands/wiki-reflect.md support the same concrete shipped procedures, requested source reads and differing approval rules, not observed host compliance. Preserve those mechanisms and withhold a single cross-report implementation-status value for the grouped maintenance route. This local assessment disagreement does not invalidate retained-file or deferred-completion conclusions.