LLM Wiki epistemic report
Type: agentic-system-analyses/types/agentic-system-epistemic-report.md
Source-and-claim boundary
The question is which routes turn incoming research/security material into content licensed for later reliance, and what actually checks that license. Scope and exclusions are those of the boundary; source identity and evidence layers are in its Source register. SRC-1 supplies implementation and doctrine/design, not observed execution or causal experiments. The runtime is a provisional baseline, not an inspection limit.
The principal distinction is between admitting a file and accepting its claims against evidence for an intended use. The former is implemented in several paths. The latter is requested in prompts and governance, but is not established by parsing, nonempty completions, source counts or verification labels. This is a route-specific finding, not a judgment that the imported material is false.
Consequential claims inspected here are EPI-CLM-knowledge-compilation, EPI-CLM-source-integrity, EPI-CLM-retrospective-validation, and RT-CLM-prompt-ratchet. The newsletter adds a machine-written verification assertion in EPI-RTE-newsletter-admission.
| Entry point or operation | SRC-1 source paths | Coverage and records | Limit / conclusion prevented |
|---|---|---|---|
| File/URL ingestion, feed acquisition and normalization | tools/ingest.py, tools/arxiv_monitor.py, tools/cve_monitor.py, tools/github_monitor.py, tools/rss_monitor.py, tools/curated_monitor.py, tools/common.py, tools/normalize.py |
Supplied RT-RTE-batch-ingestion, RT-RTE-scheduled-drivers; direct normalization and relevance/hash/frontmatter reads | Feed truth, complete provenance and PDF extraction fidelity not independently established |
| CLI extraction, integration and prompt accessors | tools/extract.py, tools/integrate.py, tools/prompts.py |
Direct complete executable reads; RT-RTE-knowledge-admission, EPI-RTE-claim-projection | No model outputs or source-grounded adjudications supplied |
| Batch, manual watcher, immediate CVE, daemon and unified scheduling | tools/pipeline_all.py, tools/watchdog_monitor.py, tools/cve_monitor.py, tools/daemon.py, tools/unified_daemon.py, tools/run_all_monitors.py |
Supplied runtime account plus direct function/entry-point and validation-call searches; RT-RTE-scheduled-drivers | Driver wiring does not show successful execution; different drivers do not inherit each other's checks |
| Lightweight/deep lint and retrospective CLI | tools/lint.py, tools/retrospective_validator.py |
Direct full reads; RT-RTE-research-maintenance, EPI-RTE-reinforcement-selection, EPI-RTE-confidence-update | Semantic evaluator accuracy and human review uptake unobserved; helper check_contradiction is callable but not called by weekly validation |
| Optimizer, fixture builder and metrics | tools/prompt_optimizer.py, tools/create_eval_set.py, tools/metrics_collector.py, eval_set_index.json, eval_set/ |
Direct builder and proposal/evaluation/decision reads; supplied RT-RTE-prompt-optimization, RT-OBJ-metrics | No independent expected-answer oracle or installed candidate treatment; fixtures are not certified ground truth |
| Research execution branches | tools/research_agent.py |
Direct execution/validation/synthesis reads plus supplied RT-RTE-research-maintenance | Task labels and generated queries/outlines do not establish completed searches or evidence acceptance |
| Search, catalog, article edit/read, upload, backlinks and history; browser calls | tools/query.py, tools/index.py, api_server.py, ui/src/App.jsx |
Direct query/index and API read/save/backlink reads; API route search and supplied RT-RTE-api-mutation, RT-RTE-wiki-consumption | Git history is not automatic rollback; ranking is not warrant; rendering/build internals not assessed |
| Newsletter synthesis and verification assignment | tools/newsletter_agent.py |
Direct full read; EPI-RTE-newsletter-context, EPI-RTE-newsletter-admission | Assigned verification has no evidence-consuming check at this write site |
| Ordinary/long paper generation and critique | tools/paper_agent.py, tools/paper_agent_long.py |
Direct ordinary analysis/draft/critique/finalization reads; supplied long-form override in RT-RTE-wiki-consumption | No measured novelty, valid experimental results or validated transfer; long form skips critiques |
| Provider call and model state | tools/common.py |
Supplied RT-RTE-model-call, RT-CMP-main-model, RT-CMP-openrouter-model | Weights, provider state, response grounding and training remain inaccessible |
| Test/configuration/host diagnostic entry points | test_api.py, test_e2e.py, test_ingest.py, test_llm.py, test_phase2.py, test_user_workflow.py, tools/test_daemon.py, tools/test_optimizer.py, tools/test_research_agent.py, tools/check_model_config.py, check_rss_state.py, clear_rss_state.py, configure_lms_max_context.sh, tasks/ |
Boundary coverage plus direct scoped evaluator/verification searches in Python tools/root tests | Not executed; no benchmark result or host deployment guarantee; detailed diagnostic branches unassessed |
| Governance and public specification | README.md, AGENTS.md, llm-wiki.md, research_agenda.md |
Direct README introduction, AGENTS complete, specification trust section; supplied agenda account | Remaining status/design narratives and individual retained page assertions not audited; no system-complete negative across every claim in the repository |
The dispatch search enumerated Python top-level functions/classes, __main__ guards and FastAPI decorators across tools/*.py and api_server.py. A second search across those tools, API and root tests covered validation, acceptance/rejection, withdrawal/retraction, rollback, verification, reinforcement, contradiction helpers, registration, hooks and tool calls. The inspected paths expose CLI functions, HTTP handlers and code-scheduled calls, not a model-native registered-tool loop. This is a bounded search account, not an absence claim about excluded plugin/host behavior. The callable contradiction helper is a counterexample to saying no model contradiction operation exists; the weekly caller does not use it (SRC-1: tools/retrospective_validator.py). Deep lint is another real counterexample to a blanket claim of no semantic checking.
Missing evidence is localized: source/provider truth prevents certifying imported premises; linked extraction/merge traces prevent classifying actual generated propositions or checking preservation; adjudicated evidence decisions prevent claiming produced accepted new knowledge; deployment traces prevent claiming the routes operated; independent interventions prevent attributing quality gains. Tracked wiki artifacts alone do not identify their producing/checking route. No needed supersession of the supplied runtime was found: its broad containers remain valid; this report adds material parts, including the newsletter's verification assignment and omission of conflict status from its model context.
Epistemic-object inventory
Fields owned by records are cited rather than redefined here. All source anchors below are SRC-1 at the frozen revision.
| Object ID | Candidate truth-apt content or none | Claimed role | Evidence source ID and local anchor | Gap/limit |
|---|---|---|---|---|
| EPI-OBJ-source-text | see record | Normalized input | SRC-1 tools/normalize.py |
Source warrant unknown, PDF fidelity untested |
| EPI-OBJ-extracted-claims | see record | Extraction candidate | SRC-1 tools/extract.py, tools/prompts.py |
JSON parsing does not adjudicate claim truth |
| EPI-OBJ-evidence-fields | see record | Requested evidence/relationships | SRC-1 tools/prompts.py, tools/integrate.py |
Not delivered by the integration projection |
| EPI-OBJ-wiki-body | see record | Retained claims and synthesis | SRC-1 tools/integrate.py, tools/newsletter_agent.py |
Import, merge, synthesis and direct-edit lineage differ |
| EPI-OBJ-wiki-metadata | see record | Reliance labels and selectors | SRC-1 tools/integrate.py, tools/retrospective_validator.py, tools/newsletter_agent.py |
Claimed confidence/verification not calibrated warrant |
| RT-OBJ-prompts | see record | Instructions and registry | SRC-1 tools/prompts.py |
Guidance and symbolic selection are separate parts; no truth oracle |
| RT-OBJ-metrics | see record | Evaluation aggregates | SRC-1 tools/metrics_collector.py, tools/prompt_optimizer.py |
Self-confidence/process validity, not adjudicated accuracy |
| EPI-OBJ-eval-set | see record | Fixed test input | SRC-1 tools/create_eval_set.py |
No independently labelled answers in the inspected builder |
| RT-CMP-main-model, RT-CMP-openrouter-model | not determinable for internal state | Inference | SRC-1 tools/common.py |
Unpinned provider-resolved distributed-parametric state; no accessible content-level acceptance account |
Catalogs, alerts, research-task notes and paper drafts are covered by their route records below rather than treated as another uniform knowledge store. Paper assertions remain candidate text; queries/outlines can be non-truth-apt instructions as well as carry claims. Their exact generated content is not determinable without outputs.
Authority-route ledger
All architectural statuses concern the route, not observed operation. Every result here is possible under inspected code; none is claimed observed. Repeated route IDs denote distinct consequential functions within a supplied container. The source record owns generic runtime details (see); this ledger supplies the epistemic distinctions. “No license” means the check described does not establish factual warrant, not that no true claim could pass it.
| Route ID | Route function | Architectural status | Object/candidate ID | Content/update relation | Transition or check target | Evaluator/condition and domain | Activation and timing | Possible or observed result | Implemented force | Epistemic authority and scope | Operational authority: behavior permitted, blocked, or changed | Behavioral-authority path: consumer, channel, force, horizon | Evidence source ID and local anchor | Claim IDs or none | Mismatch marker or none | Gap/limit |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RT-RTE-batch-ingestion | content transformation | implemented | EPI-OBJ-source-text | truth-apt transformation: acquisition/import | External source to normalized input | File/feed admission, not source-truth judgment | see route | Imported text | File creation | Source warrant unknown | Eligible for extraction | Extractor; file body; permissive; later stage | SRC-1 tools/normalize.py |
EPI-CLM-knowledge-compilation | none | PDF and monitor transformations may lose context |
| RT-RTE-knowledge-admission | content transformation | implemented | EPI-OBJ-extracted-claims | truth-apt transformation: indeterminate | Source body to proposed claims | Model instructed to cite evidence and assess confidence | see route | Candidate JSON text | Advisory model generation | No checked preservation/entailment established | Supplies parser input | Parser; completion string; permissive if parse succeeds; current stage | SRC-1 tools/extract.py, tools/prompts.py |
EPI-CLM-knowledge-compilation | unknown semantic relation | Reshaping, derivation and conjecture cannot be separated without content evidence |
| RT-RTE-knowledge-admission | check/evidence production | implemented | EPI-OBJ-extracted-claims | no content change | Completion syntax as JSON | Python json.loads; JSON domain only |
Before sidecar assignment/write | Parse success or exception | Enforcing syntax gate | Parseability only; no schema or factual license | Failed parse exits; parsed values proceed to later field operations | Extractor; parse result; enforcing; current invocation | SRC-1 tools/extract.py |
EPI-CLM-source-integrity | syntax is not evidence validation | Parseable non-object values can still fail later |
| EPI-RTE-claim-projection | content transformation | implemented | EPI-OBJ-extracted-claims, EPI-OBJ-evidence-fields | truth-apt transformation: non-ampliative reshaping | Sidecar to new-claim Markdown | see record | see record | see record | Fixed projection | Claim text retained, evidence lineage degraded at this edge | Reduced claims become direct-write or merge input | Integrator/model; claim body; informational/permissive; current and future pages | SRC-1 tools/integrate.py |
EPI-CLM-source-integrity | evidence omitted | Sidecar remains independently available; omission is not source deletion |
| RT-RTE-knowledge-admission | content transformation | implemented | EPI-OBJ-wiki-body | truth-apt transformation: indeterminate | Old body plus projected new claims to merged body | Model; merge/history/conflict instruction | Existing destination only | Nonempty merge, conflict marker or empty fallback | Guidance; replacement text supplied | No checked semantics; confidence averaging only requested | Supplies write candidate | Writer; completion body; permissive; destination overwrite | SRC-1 tools/integrate.py, tools/prompts.py |
EPI-CLM-knowledge-compilation, EPI-CLM-source-integrity | preservation unenforced | Empty fallback appends, rather than rejecting |
| RT-RTE-knowledge-admission | disposition/acceptance | implemented | EPI-OBJ-wiki-body | no content change | New or merged body admitted to wiki | Existence/nonempty-result rules; marker sets conflict status | see route | Write selected even with conflict | Enforcing software admission, not evidence acceptance | No acceptance criterion naming evidence, use and scope | Permits automatic overwrite | Writer; branch/string result; enforcing; current write | SRC-1 tools/integrate.py |
EPI-CLM-source-integrity | admission differs from acceptance | Human escalation does not veto this write |
| RT-RTE-knowledge-admission | retention | implemented | EPI-OBJ-wiki-body, EPI-OBJ-wiki-metadata | no content change | Selected text to persisted page | see route | see route | Page retained | Durable overwrite | Retention does not add warrant | Future merges/search/synthesis can use it | see RT-BAP-wiki-context | SRC-1 tools/integrate.py |
EPI-CLM-knowledge-compilation | none | Not lifecycle integration after evidenced acceptance |
| RT-RTE-api-mutation | disposition/acceptance | implemented | EPI-OBJ-wiki-body | truth-apt transformation: indeterminate | Caller text replaces article | Path/I/O only; caller controls content | see route | Direct save | Software admission; human browser authorship possible | No source-truth check | Bypasses extraction/merge | API writer then readers; HTTP/file; permissive; subsequent invocations | SRC-1 api_server.py |
EPI-CLM-source-integrity | alternate path | Caller text could preserve or revise claims; no output supplied |
| RT-RTE-research-maintenance | check/evidence production | implemented | EPI-OBJ-wiki-body | truth-apt transformation: indeterminate | Direct factual contradiction among page prefixes | Model sees first 600 body characters with basename identities | lint.py --deep, at least two included pages |
JSON contradiction descriptions or parse failure | Produces advisory semantic judgments | Limited to supplied excerpts; neither fact truth nor complete-page consistency certified | Feeds filename-mapped tagging | Lint tagging; parsed list; permissive; current maintenance run | SRC-1 tools/lint.py |
EPI-CLM-source-integrity | partial semantic check exists | Basename collisions and truncation limit target resolution/coverage |
| RT-RTE-research-maintenance | disposition/acceptance | implemented | EPI-OBJ-wiki-metadata | non-truth-apt policy/content update: conflict annotation | Lint result to status/note | JSON list, filename membership; skip already-conflict page | After deep-lint response | Conflict note/status written | Enforcing tagging; advisory review request | Model diagnosis retained, not independently accepted truth | Adds review visibility; does not block query/synthesis | Writer/catalog; file status/note; advisory to human; later reads | SRC-1 tools/lint.py, tools/index.py, tools/query.py |
EPI-CLM-source-integrity | no withdrawal gate | No automatic prior-page restoration |
| RT-RTE-research-maintenance | check/evidence production | implemented | EPI-OBJ-wiki-metadata | no content change | Metadata presence, high-unverified confidence, existing conflict marker | Fixed rules; metadata/string domain | Lightweight lint / weekly validation | Warnings, existing-conflict counts | Console/report advisory; conflict status update | Validates representation predicates only | Exposes issues, not factual rejection | Human/report reader; console/report/status; advisory; maintenance horizon | SRC-1 tools/lint.py, tools/retrospective_validator.py |
EPI-CLM-retrospective-validation | no new-source comparison in weekly path | Lightweight broken-link counter stays zero; not evidence links were checked |
| EPI-RTE-reinforcement-selection | check/evidence production | implemented | EPI-OBJ-wiki-metadata | no content change | Page deemed reinforced | see record | see record | see record | Threshold classification | Source-count/confidence predicate only; no independence or truth license | Permits confidence-update branch | see record | SRC-1 tools/retrospective_validator.py |
EPI-CLM-retrospective-validation | corroboration not established | Integration increments counts per call, not distinct evidence |
| EPI-RTE-confidence-update | behavior/policy adaptation | implemented | EPI-OBJ-wiki-metadata | non-truth-apt policy/content update: confidence label increment | Reinforced page to stronger reliance label | see record | see record | see record | Enforcing file update | No new evidential license | Changes downstream confidence-driven selection and displayed aggregates | see record | SRC-1 tools/retrospective_validator.py |
EPI-CLM-retrospective-validation | confidence without new corroboration | Operational effect capacity, not observed behavioral activation |
| RT-RTE-prompt-optimization | check/evidence production | implemented | RT-OBJ-metrics, EPI-OBJ-eval-set | no content change | Existing extractor on first ten available fixtures | Process/JSON success, returned confidence; conflict rate fixed zero | see route | Aggregate metrics | Supplies thresholds | Process validity and self-report only | Drives keep/reject label | Optimizer; numeric deltas; enforcing decision; cycle | SRC-1 tools/prompt_optimizer.py |
RT-CLM-prompt-ratchet | candidate installation missing | Not independent correctness or a controlled candidate contrast |
| RT-RTE-prompt-optimization | disposition/acceptance | implemented | RT-OBJ-prompts | non-truth-apt policy/content update: keep/reject experiment bookkeeping | Metric deltas to decision/reset | see route | see route | Keep label or Git reset | Code decision and Git effects | No warrant for proposed prompt effectiveness | Logging/baseline/reset; not candidate activation | see route | SRC-1 tools/prompt_optimizer.py |
RT-CLM-prompt-ratchet | keep is not installation | Mixed reset not a content rollback |
| RT-RTE-research-maintenance | other — describe | implemented | EPI-OBJ-wiki-metadata | non-truth-apt policy/content update: research task selection and result labels | Coverage/confidence/age to tasks | Code thresholds; model query/outline requests | see route | Query, task identified or outline; SUCCESS possible | Task scheduling/logging | No completed corroboration established by labels | Logs tasks, not accepted claims | Research logger; result dictionary; advisory; later metrics/notes | SRC-1 tools/research_agent.py |
EPI-CLM-retrospective-validation | none | Claim-bearing generated outlines remain semantically indeterminate |
| RT-RTE-wiki-consumption | operational admission/selection/consumption | implemented | EPI-OBJ-wiki-body | no content change | Wiki to query/article/paper context | BM25/top five; explicit path; topic matching/truncation | see route | Ranked paths, article or excerpts | Ranking/delivery | Relevance score does not license truth | Conflict/unverified content can be delivered | API/human/model; responses/user message; ranking/informational; request/later calls | SRC-1 tools/query.py, api_server.py, tools/paper_agent.py |
EPI-CLM-knowledge-compilation | semantic-ranking wording exceeds token matching | No fact-based consumer exclusion |
| EPI-RTE-newsletter-context | content transformation | implemented | EPI-OBJ-wiki-body, EPI-OBJ-wiki-metadata | truth-apt transformation: non-ampliative reshaping | Recent pages to newsletter context | see record | see record | Snippets and confidence without status | Fixed selection/projection | Warrant degraded by omitted conflict state/context | Supplies synthesis model | see record | SRC-1 tools/newsletter_agent.py |
EPI-CLM-source-integrity | status collected but dropped | Full files remain available outside model context |
| RT-RTE-wiki-consumption | content transformation | implemented | EPI-OBJ-wiki-body | truth-apt transformation: indeterminate | Wiki insights/snippets to synthesis/draft | Model instructions including novelty/strategic interpretation | see route | Generated newsletter/paper candidates | Generation, not acceptance | Neither entailment nor non-entailment shown for actual outputs | Candidate reaches length gate or draft finalizer | see route | SRC-1 tools/newsletter_agent.py, tools/paper_agent.py |
EPI-CLM-knowledge-compilation | requested novelty not demonstrated conjecture | External-source helper supplies placeholder; no measured experiment |
| EPI-RTE-newsletter-admission | disposition/acceptance | implemented | EPI-OBJ-wiki-body, EPI-OBJ-wiki-metadata | non-truth-apt policy/content update: verification and confidence assignment | Generated body to verified newsletter | see record | see record | Saved with confidence 0.95, verified true | Length admission and durable labels | Verification assertion without evidence acceptance | Enters catalog, search and future synthesis scans | see record | SRC-1 tools/newsletter_agent.py |
EPI-CLM-source-integrity | verified label exceeds check | Count includes all recent paths, not independently corroborating sources |
| RT-RTE-wiki-consumption | check/evidence production | implemented | EPI-OBJ-wiki-body | truth-apt transformation: indeterminate | Ordinary paper draft prefix | Model reviewer asked novelty/rigor/clarity/completeness/impact | Two critique/improve rounds; long form skips | Review and improved draft requested; parser can keep whole result | Model proposal; no independent acceptance veto | Critique request only; no empirical novelty/rigor license | Improved text goes onward and is saved as draft | Drafting model/finalizer; selected completion; informational/permissive; current generation | SRC-1 tools/paper_agent.py |
none | review is not validated research | Review need not persist to next round; missing content-directed criticism evidence |
No post-acceptance lifecycle-integration route is established by these writes. That statement is restricted to the admissions above: ordinary retention/linking/indexing is implemented, but an evidence-consuming acceptance decision antecedent to it has not been established. Human/coding-agent review remains doctrine or external behavior under RT-BAP-agent-doctrine, not a hidden Python gate.
System-claim versus route comparison
| Claim ID | Claimed operation or warrant | Claim source ID/anchor and evidence layer | Doctrine/design support | Implemented route IDs | Observed-run support | Causal support and design limits | Supported conclusion | Mismatch/unknown |
|---|---|---|---|---|---|---|---|---|
| EPI-CLM-knowledge-compilation | see record | SRC-1 README.md; doctrine/design |
Extraction/merge instructions | RT-RTE-batch-ingestion, RT-RTE-knowledge-admission, RT-RTE-wiki-consumption | None supplied | No independent variation or benefit measurement | Persistent compilation and reuse are wired; generation is candidate production | Compounding value and semantic correctness not established; BM25 is token-based ranking |
| EPI-CLM-source-integrity | see record | SRC-1 AGENTS.md, llm-wiki.md, tools/prompts.py; doctrine/design |
Attribution/history/trust/human escalation rules | EPI-RTE-claim-projection, RT-RTE-knowledge-admission, RT-RTE-api-mutation, EPI-RTE-newsletter-context, EPI-RTE-newsletter-admission | None supplied | No source-independence or full-history check | Citations/markers and review notifications have routes; not invariant safeguards | Evidence field omitted at merge; direct edit bypass; newsletter verified without cross-validation |
| EPI-CLM-retrospective-validation | see record | SRC-1 tools/retrospective_validator.py; doctrine/design and implementation contrast |
Docstring promises new-evidence validation | EPI-RTE-reinforcement-selection, EPI-RTE-confidence-update, RT-RTE-research-maintenance | None supplied | Metadata repetition is not independent corroboration | Existing conflict detection, threshold reinforcement and confidence writes are implemented | Weekly validation does not invoke new-source contradiction helper; research validation only identifies task |
| RT-CLM-prompt-ratchet | see record | SRC-1 tools/prompt_optimizer.py; doctrine/design |
Metric thresholds and proposal prompt | RT-RTE-prompt-optimization | None supplied | Proposed text not installed; conflict metric constant; no candidate contrast | Working proposal/evaluation/bookkeeping machinery | Keep/revert labels do not establish installed improvement or safe rollback |
Bounded conclusion
Acquisition and retention: source text, extracted candidates and wiki content have implemented persistence/reuse paths, with source warrant unknown at acquisition. Deterministic claim projection preserves the supplied claim text but removes the evidence field from the integration input. Later merge semantics are indeterminate, not automatically entailed and not automatically novel. See EPI-RTE-claim-projection and RT-RTE-knowledge-admission.
Checks and authority: JSON parsing can enforce syntax; lint can warn about representation predicates, and deep lint can request semantic contradiction judgments over limited excerpts. Those are real but different checks. Parsed/nonempty/long-enough outputs gain operational authority to be saved and reused, without establishing evidence-consuming acceptance for factual reliance. Conflict tags cause advisory review visibility, not a general block on search or synthesis. The newsletter is a particularly consequential counterpath: it drops status from its model context and assigns verified true/confidence 0.95 after a length gate. See EPI-RTE-newsletter-context, EPI-RTE-newsletter-admission, and RT-RTE-research-maintenance.
Deterministic reinforcement: repeated integration of the same input can raise source_count; the weekly validator then uses that count and existing confidence to strengthen confidence without reading additional source evidence. This supports a metadata-feedback mechanism, not corroborated knowledge growth or observed degradation. See EPI-RTE-reinforcement-selection and EPI-RTE-confidence-update.
Derivation, conjecture and acceptance: no inspected route establishes a produced accepted ampliative claim. Actual model output contents are unavailable, so the extraction/merge/synthesis edges remain indeterminate among reshaping, derivation and conjecture. No checked derivation from independently warranted scientific/security premises is established here. The implemented arithmetic predicates and confidence increments support only their narrow metadata-domain deductions. Draft critique requests and publication-ready wording do not certify novelty, experiments or explanatory transfer. Subsequent indexing is retention/organization before established acceptance, not evidence of post-acceptance lifecycle integration.
Independent properties: automated schedules and software admission exist; they do not establish reliable autonomy in opaque reasoning. Metrics represent aspects of extraction and affect later proposal selection, but the optimizer lacks the proposal-installation link, so its own candidate-change path does not establish exercised self-improvement. Its localized method text and consumption are separately supported; content-directed criticism and criticism-fed iteration remain unestablished, as detailed in RT-RTE-prompt-optimization. Paper critique has a request for criticism and two-round revision wiring, but no supplied output establishing a challenged claim, blame placement and carried criticism; that does not justify a theory-builder finding. Retained wiki context and confidence updates can affect later operations independently of the broken prompt installer. No improved future capacity or causal benefit is demonstrated for either. External model parameters, exact versions and provider-side learning remain uninspected under RT-CMP-main-model and RT-CMP-openrouter-model. These conclusions remain separate; they imply no single epistemic score or system-wide verdict.
Shared records
Operative objects
EPI-OBJ-source-text
Label: Normalized source text
Source-native identity: body of raw/normalized/<domain>/<hash>.md; natural-language content stored in filesystem Markdown. Producer is normalization of downloaded/copied text or PDF text; consumers are extraction and fixture builder. Imported propositions can be truth-apt over their source's stated domain; no truth adjudication occurs in normalization. Distinct from RT-OBJ-prompts, which supplies instructions rather than input documents; this input crosses RT-RTE-batch-ingestion, not a separate invocation mechanism. SRC-1: tools/normalize.py.
normalized_content = serialize_frontmatter(metadata, content) ---
tools/normalize.py
EPI-OBJ-extracted-claims
Label: Extracted claim text
Source-native identity: claims[*].text in extraction JSON, with model-assigned confidence. Natural-language propositions plus associated numerical labels, stored as a filesystem JSON sidecar. Producer is an external completion; consumers are integration and optimizer analysis. A proposition's scope depends on its actual text, unavailable as a traced run here. This is a material output object of RT-RTE-knowledge-admission, not the prompt referent RT-OBJ-prompts. SRC-1: tools/extract.py, tools/prompts.py.
"claims": [{"text": str, "confidence": float, "evidence": str}], ---
tools/prompts.py:8-16output_path = filepath + ".json" ---
tools/extract.py
EPI-OBJ-evidence-fields
Label: Extraction evidence fields
Source-native identity: claims[*].evidence, entities, relationships in the requested JSON. Natural-language evidence/labels with symbolic JSON field structure, persisted if returned in the sidecar. Unlike EPI-OBJ-extracted-claims, these fields do not reach the merge request through the inspected integrator. They are a distinct material object in RT-RTE-knowledge-admission, not another extraction mechanism. Presence in every returned object is not schema-enforced. SRC-1: tools/prompts.py, tools/extract.py, tools/integrate.py.
- Cite specific sentences as evidence for each claim ---
tools/prompts.py:18-25
The projection passage in EPI-RTE-claim-projection supports the consumer omission.
EPI-OBJ-wiki-body
Label: Wiki page body
Source-native identity: body of wiki Markdown pages, including synthesis/newsletters. Natural-language claims, historical/conflict notes and links stored in filesystem files. Producers differ: initial claim projection, merge completion, API caller, lint annotation, newsletter completion. Consumers include later integration, query/API delivery, paper/newsletter models. Unlike RT-OBJ-prompts, this is retained subject matter, not shipped instructions; closest supplied route is RT-RTE-wiki-consumption, whose reuse passage supplies evidence. SRC-1: tools/integrate.py, api_server.py, tools/newsletter_agent.py. RT-BAP-wiki-context owns the broad text-to-model path.
EPI-OBJ-wiki-metadata
Label: Wiki frontmatter fields
Source-native identity: source_count, confidence, verified, status and other page frontmatter. Symbolic values under fixed parser/threshold rules, persisted in Markdown YAML; displayed to humans/models as well. Producers are integrator defaults/count increments, retrospective updates, lint, API caller and newsletter constants. Consumers are catalog aggregation, research task selection, validator reinforcement and newsletter context. Verification/confidence can be interpreted as truth-apt assertions about support, but their implemented force is metadata selection/display, not a proof of factual truth. Distinct from RT-OBJ-metrics, which is SQLite/log evaluation state. Closest route containers are RT-RTE-knowledge-admission and RT-RTE-research-maintenance; this object spans both, not a part of exactly one. SRC-1: tools/integrate.py, tools/retrospective_validator.py, tools/newsletter_agent.py, tools/index.py.
'source_count': 1, 'confidence': 0.8, 'verified': False, ---
tools/integrate.py
EPI-OBJ-eval-set
Label: Fixed evaluation sources
Source-native identity: eval_set/ Markdown and eval_set_index.json. Natural-language input bodies with symbolic file/domain manifest, stored in filesystem. Builder copies normalized files, balances domains by traversal order and fills from largest domain; optimizer uses first ten manifest items. This differs from RT-OBJ-metrics, which stores evaluation outputs, and from RT-OBJ-prompts, the method being nominally optimized. It belongs to the evaluation context of RT-RTE-prompt-optimization. SRC-1: tools/create_eval_set.py, tools/prompt_optimizer.py. No independently adjudicated expected answers are established by copying inputs.
shutil.copy2(file_info['path'], dest_path) ---
tools/create_eval_set.py
Routes
EPI-RTE-claim-projection
Label: Claim body projection Part of: RT-RTE-knowledge-admission
Endpoints: parsed sidecar → new_claims_body → initial page or merge input. Owner is integrate_knowledge; fixed Python formatting consumes claim text/confidence/source_id but not evidence/entities/relationships. It is the deterministic material part of the supplied admission container, not a duplicate complete route. SRC-1: tools/integrate.py.
- Immediate return: Constructed Markdown body within integration; no separate external return.
- Later read-back: Written text is reloaded by subsequent merges/search/synthesis; omitted sidecar fields have no automatic delivery there.
- Delegated visibility: Merge model sees the projected claim body, not the full JSON.
- Selection predicate: Every element of
data.get('claims', []); direct keys text/confidence, optional source_id. - Invalidation or expiry: Reconstructed per integration; old destination overwritten by containing route.
- Activation or effect: Projection wired; semantics beyond exact text formatting not adjudicated.
- Evidence limits: Deduction from implementation, not an executed example; arbitrary field contents may contain delimiters/instructions.
- implementation conclusion status: wired
- operation conclusion status: uninspected
new_claims_body = "## Claims\n" for claim in data.get('claims', []): new_claims_body += f"- {claim['text']} (Confidence: {claim['confidence']}, Source: [[{data.get('source_id')}]])\n" ---
tools/integrate.py
Concrete symbolic trace: with source_id = s, one claim text = X is Y, confidence = 0.7, evidence = Sentence E, the constructed body is ## Claims\n- X is Y (Confidence: 0.7, Source: [[s]])\n. Sentence E is not interpolated. This is non-ampliative formatting of the claim, with degraded evidence delivery, not a novel proposition or a check that X is Y. No target execution was needed.
EPI-RTE-reinforcement-selection
Label: Reinforced page selection Part of: RT-RTE-research-maintenance
Endpoints: recently updated page metadata → reinforced list/eligible confidence branch. Owner is find_reinforced_claims; target is the page's recorded count/confidence, not independently verified source agreement. Code decides, no per-page human veto or answer oracle. Mode is open scheduled/CLI maintenance, not a controlled corroboration experiment. SRC-1: tools/retrospective_validator.py.
- Immediate return: List of title/confidence/source_count dictionaries; invokes update branch for eligible pages below cap.
- Later read-back: inapplicable — list is current-run state; durable effects belong to the linked update part.
- Delegated visibility: No source text or model request in this selector; code receives metadata snapshots.
- Selection predicate:
source_count >= 3andconfidence >= 0.75; confidence below 0.9 additionally enables increment. - Invalidation or expiry: Inputs refreshed from mtime-selected files on a later validation invocation; no distinct-source test.
- Activation or effect: Predicate controls update invocation, not acceptance of factual truth.
- Evidence limits: Counts can reflect repeated integrations; no observed invocation or independent evidence comparison.
- implementation conclusion status: wired
- operation conclusion status: uninspected
if page['source_count'] >= 3 and page['confidence'] >= 0.75: ---
tools/retrospective_validator.pymetadata['source_count'] = exist_meta.get('source_count', 0) + 1 ---
tools/integrate.py
Concrete countercase: integrate the same well-formed claim JSON three times at the same destination, with merge calls returning empty strings. First write sets count 1/confidence 0.8; later calls increment count to 2 then 3, preserve append-fallback content and reset confidence to 0.8. The validator predicate can now succeed without a second independent source. This is a code-path deduction, not observed operation; no conclusion about actual deployment counts follows.
EPI-RTE-confidence-update
Label: Reinforcement confidence update Part of: RT-RTE-research-maintenance
Endpoints: selected page metadata → increment → rewritten frontmatter → later catalog/research/validation consumers. Code owns admission: selected confidence below 0.9 increases by 0.05 capped at 0.9. The intended reinforcement guidance is the selector's interpretation of count/confidence; no new-source evidence or expected-answer oracle is consumed. Proposed change is a reliance label; software decides, exceptions can prevent write, no built-in content rollback or human veto. Metadata and log persist. Mode is open maintenance; trigger is weekly/CLI validation. This part owns the write, separately from the predicate in EPI-RTE-reinforcement-selection. SRC-1: tools/retrospective_validator.py, tools/index.py; downstream research selectors are also described by RT-RTE-research-maintenance.
- Immediate return: Frontmatter update, log entry and adjustment count.
- Later read-back: Later scans reload confidence; catalog averages and research low-confidence selection can depend on it.
- Delegated visibility: File readers receive new confidence with unchanged body; no source text is consulted by this update.
- Selection predicate: Linked reinforcement predicate plus confidence below 0.9.
- Invalidation or expiry: Future integrations can reset confidence; later validators can increment again if still selected; no evidence-expiry check.
- Activation or effect: Durable metadata mutation wired; changed downstream behavior not observed.
- Evidence limits: Numerical increase establishes neither better calibration nor increased factual support.
- implementation conclusion status: wired
- operation conclusion status: uninspected
new_confidence = min(0.9, page['confidence'] + 0.05) self.update_page_confidence(page['path'], new_confidence) ---
tools/retrospective_validator.pymeta['confidence'] = new_confidence ---
tools/retrospective_validator.py
For the predicate countercase's 0.8 input, the expression yields 0.85, modulo ordinary floating-point representation. It changes a support label, not the underlying claim or its evidence.
EPI-RTE-newsletter-context
Label: Newsletter context projection Part of: RT-RTE-wiki-consumption
Endpoints: recent wiki files → category entries → first five entries per bucket → model context. Owner is newsletter code. Targets include current, unverified or conflict pages because recentness selection does not inspect status. status is collected in entries but omitted from formatting; confidence remains. This distinct part qualifies the broad supplied synthesis container without superseding it. SRC-1: tools/newsletter_agent.py.
- Immediate return: Concatenated section-context string for the current completion request.
- Later read-back: inapplicable — this string is current-run context; newsletter retention belongs to the linked admission part.
- Delegated visibility: Model receives titles, paths, confidence and 400-character body prefixes, at most five per bucket, but no status field.
- Selection predicate: Mtime within lookback; omit index/log; bucket by domain/path; traversal order within bucket.
- Invalidation or expiry: Context rebuilt per call; full files remain available on filesystem outside model input.
- Activation or effect: Projection wired; no guarantee snippets contain conflict notes or preserve all qualifications.
- Evidence limits: Code deduction supports lost status channel; no observed false synthesis is asserted.
- implementation conclusion status: wired
- operation conclusion status: uninspected
'status': meta.get('status', 'current'), 'snippet': body.strip()[:400], ---
tools/newsletter_agent.pyfor e in entries[:max_items]: lines.append(f"TITLE: {e['title']}\nPATH: {e['path']}\nCONFIDENCE: {e['confidence']}\nSNIPPET: {e['snippet']}\n") ---
tools/newsletter_agent.py
EPI-RTE-newsletter-admission
Label: Newsletter verification assignment Part of: RT-RTE-wiki-consumption
Endpoints: completion body → length decision → fixed frontmatter → saved wiki newsletter → catalog/search/future scans. Code owns admission; model proposes body under an instruction not to invent information. The proposed product is synthesized prose; software rejects absent/short response, otherwise assigns confidence 0.95, verified true and current status. No source-evidence comparison, human veto or independent answer oracle at that decision. Trigger is CLI generation with recent input pages; mode is open synthesis. Guidance persists as source prompt; body/labels persist as dated Markdown. Re-run may overwrite same-date file; errors are not automatic rollback. This material part is not another complete synthesis route. SRC-1: tools/newsletter_agent.py, tools/query.py, tools/index.py.
- Immediate return: Saved newsletter, console/log output and attempted catalog rebuild.
- Later read-back: Query/index include newsletter; future recent-page synthesis and topic-matched paper selection can include it.
- Delegated visibility: Readers receive generated prose with unconditional support labels; raw source evidence is not inspected by the length gate.
- Selection predicate: Nonempty body with length at least 200 characters; recent_paths nonempty before generation.
- Invalidation or expiry: Same-date path can be overwritten; no verification expiry or independent retraction mechanism here.
- Activation or effect: Durable verified/confidence assignment and read eligibility wired; factual grounding and changed behavior unobserved.
- Evidence limits: Label is not an evidence-consuming acceptance decision; source_count counts paths, not independent corroboration.
- implementation conclusion status: wired
- operation conclusion status: uninspected
if not newsletter_body or len(newsletter_body) < 200: ---
tools/newsletter_agent.pyf"source_count: {len(recent_paths)}\n" f"confidence: 0.95\n" f"verified: true\n" ---
tools/newsletter_agent.py"Do not invent information not present in the context." ---
tools/newsletter_agent.py
The last passage is a source-supported counterweight: factual restraint is requested. It does not turn the length predicate into verification.
Claims
EPI-CLM-knowledge-compilation
Label: Stateful knowledge compilation
Claimed operation: sources become a persistent cross-linked, compounding wiki with BM25 semantic ranking. SRC-1 README.md, doctrine/design. No counterpart among supplied claims after comparison: RT-CLM-prompt-ratchet concerns prompt improvement, not source-to-wiki compilation. Relevant supplied routes are RT-RTE-batch-ingestion and RT-RTE-wiki-consumption.
The result is a knowledge base that compounds over time — every new source enriches the existing structure rather than existing in isolation. ---
README.md
- Queryable — the wiki is searched with BM25 semantic ranking ---
README.md
EPI-CLM-source-integrity
Label: Attribution and trust constraints
Claimed operation: claim attribution/confidence follows source tiers; conflicts preserve history and trigger human escalation; specification requires source tier and verification state per claim and independent corroboration before CVE verification. SRC-1 AGENTS.md, llm-wiki.md, tools/prompts.py, doctrine/design. Distinct from RT-CLM-prompt-ratchet; closest supplied evidence is RT-BAP-agent-doctrine, a delivery/authority path rather than this claim.
- Each extracted claim must include a citation inline, linking back to
/raw/normalized/<domain>/<filename>.md.Confidence must be rated based on source tiers in Section 7. ---
AGENTS.mdWhen conflicts arise with a CVSS >= 7.0 or if explicitly flagged by a direct contradiction on a high-confidence topic, pause and raise to the human user by updating the file status to
conflictand bringing it to the user's attention appropriately. ---AGENTS.md- Claims are cross-validated across a minimum of two independent sources before
verified: true---llm-wiki.md
Scope caution: the specification's minimum-two-sources rule explicitly concerns CVE entries, not every newsletter. Newsletter verification nevertheless lacks any evidence check of its own; that finding does not require extending the CVE rule to all products.
EPI-CLM-retrospective-validation
Label: Old claims against new evidence
Claimed operation: retrospective validation checks old claims against new sources, detects contradictions and adjusts confidence. SRC-1 tools/retrospective_validator.py, doctrine/design. Distinct from the supplied prompt-ratchet claim; RT-RTE-research-maintenance supplies the relevant broad implementation container rather than a duplicate claim.
Retrospective validator that checks old claims against new sources. Detects contradictions and adjusts confidence scores. ---
tools/retrospective_validator.pyCheck for contradictions (simplified - would need actual new sources)
For now, just check if page has [CONFLICT] tags
---
tools/retrospective_validator.py
Evidenced absences
none declared in this member
Behavioral-authority paths
none declared in this member