llm-wiki epistemic report
Type: agentic-system-analyses/types/agentic-system-epistemic-report.md
Source-and-claim boundary
This report asks what licenses reliance on llm-wiki's retained knowledge and how results reach later behavior. Scope and frozen evidence are those of boundary; source identity and layers are in its Source register. All source citations below use SRC-1. Direct inspection supplies implementation deductions and doctrine/design, never observed operation. External hosts, models, real bundles and remote services remain outside the frozen implementation. No run trace or causal experiment was supplied.
The assessed families are caller-authored concepts, raw-source registration, metadata and link reshaping, diagnostics, write admission, retirement, synchronization and instruction delivery. Public claims include RT-CLM-form-equivalence, EPI-CLM-format-check, EPI-CLM-knowledge-recording and EPI-CLM-attester-demo. A name such as “Attested Computation” is not itself evidence of an attestation event.
| Operation | Source path | Coverage and records | Limit |
|---|---|---|---|
| list/search/get | packages/core/lib/bundle.mjs, packages/core/lib/search.mjs; CLI and MCP get handlers |
Direct full core reads and selected handler reads; RT-RTE-bundle-read, EPI-OBJ-concept | No real retrieval workload; adapter response need not expose source/trust metadata. |
| create/update | packages/core/lib/write.mjs |
Direct full read; supplied adapter admission findings in RT-RTE-concept-create, RT-RTE-concept-update | Host proposal/approval events unavailable; no semantic warrant inferred. |
| ingest | packages/core/lib/ingest.mjs |
Direct full read; RT-RTE-source-ingest, EPI-OBJ-reference, EPI-OBJ-derived-reference | Copy precedes lookup; a separate excerpt concept is conditional, not a uniform ingest output. |
| validate/lint | packages/core/lib/validate.mjs, packages/core/lib/lint.mjs, packages/core/lib/yaml.mjs, packages/core/lib/doc.mjs |
Direct full reads; CLI/MCP diagnostic handlers read; EPI-RTE-format-check, EPI-RTE-health-check | DSH/pi registration searches locate analogous handlers, not independently certified adapter/vendor equivalence. |
| deprecate/index | packages/core/lib/write.mjs, packages/core/lib/indexlog.mjs |
Direct full reads; CLI/MCP retirement handlers; EPI-RTE-directory-deprecate, EPI-RTE-index-refresh | Not an enforced retrieval ban or evidence-consuming acceptance. |
| hooks/rules/tools | packages/pi/extensions/index.ts, packages/dsh/wiki.mjs, packages/mcp/lib/tools.mjs, packages/codex/hooks/inject-context.mjs |
Supplied RT-RTE-context-delivery, RT-BAP-rule-delivery; direct MCP get/diagnostic handlers and registration searches | Supplied host-channel traces used, not re-established as observed compliance. |
| sync/delete | packages/core/lib/git.mjs, packages/core/lib/feishu.mjs |
Supplied RT-RTE-remote-sync | Exhaustive branches and remote execution uninspected; cannot conclude universal safety or semantic reconciliation. |
| legacy migration | scripts/migrate.mjs |
Direct full read; EPI-RTE-legacy-migration | Renaming and metadata loss do not validate imported propositions. |
| cloud migration | scripts/migrate-to-feishu.mjs |
Direct full read; EPI-RTE-cloud-migration | Markdown-only copy omits non-Markdown computation assets. |
| evaluation | scripts/smoke-test.mjs |
Direct full read; EPI-OBJ-smoke-checks | Synthetic assertions, not observed passes or causal evidence. Other tests remain uninspected here. |
| example computation/attester and human views | examples/demo-bundle/computations/revenue.md, examples/demo-bundle/references/attesters/sql-equality.md, obsidian/dataview-examples.md |
Direct full reads; EPI-OBJ-attester, EPI-CLM-attester-demo | SQL receipt, live executor/attester and external Dataview behavior unavailable. Other examples/templates and Chinese README not independently assessed. |
These remaining available-but-uninspected paths prevent a system-complete negative about every possible evaluator or knowledge-producing practice. Missing host traces prevent attribution of synthesis, acceptance, critique, model adherence or benefit. Missing original-source warrant prevents treating imported propositions as warranted. Missing upstream specification prevents independently establishing OKF conformance beyond the local implementation's predicate. No supplied runtime fact requires supersession: its broad read/write containers remain useful, while this report adds diagnostics and maintenance routes.
Epistemic-object inventory
| Object ID | Candidate truth-apt content or none | Claimed role | Evidence source ID and local anchor | Gap/limit |
|---|---|---|---|---|
| EPI-OBJ-concept | Domain propositions, definitions, pitfalls and computation descriptions | see record | SRC-1 packages/core/lib/write.mjs |
Authorship and retention do not establish truth; individual production relation depends on proposed body. |
| EPI-OBJ-reference | Imported source payload, truth aptitude depends on content | see record | SRC-1 packages/core/lib/ingest.mjs |
Raw copy preserves bytes when new; existing destination is not refreshed. |
| EPI-OBJ-derived-reference | Registration assertion and shortened first-line excerpt | see record | SRC-1 packages/core/lib/ingest.mjs |
Generated only when stem-based readConcept returns null; excerpt can lose qualifications. |
| EPI-OBJ-trust-fields | Assertions of generation, verification, source lineage and lifecycle state | see record | SRC-1 packages/core/lib/write.mjs |
Labels can outlive content revision; no authenticated approval witness. |
| EPI-OBJ-health-results | Claims about parsed structure, graph connectivity and timestamps | see record | SRC-1 packages/core/lib/lint.mjs |
Not claims that domain content is correct. |
| EPI-OBJ-index-log | Concept membership/descriptions and action history | see record | SRC-1 packages/core/lib/indexlog.mjs |
Derived navigation, not evidence acceptance. |
| RT-OBJ-agents | Policy; gate type list has no domain-truth judgment | see record | SRC-1 packages/core/lib/rules.mjs |
Gate allows behavior, not knowledge warrant. |
| RT-OBJ-append-system-prompt | Instructions, possibly including domain claims | see record | SRC-1 packages/core/lib/bundle.mjs |
Meaning and compliance host-dependent. |
| EPI-OBJ-attester | Proposed equality relation between executed and sanctioned SQL | see record | SRC-1 examples/demo-bundle/references/attesters/sql-equality.md |
Placeholder prose; receipt/verdict not supplied. |
| EPI-OBJ-smoke-checks | Expected properties of synthetic bundle operations | see record | SRC-1 scripts/smoke-test.mjs |
Test text supplies expectations, not outcomes. |
Authority-route ledger
Fields owned by cited shared records are referenced with “see”; this ledger supplies architectural status and edge-specific epistemic interpretation. Repeated citations identify different functions of the same route, not new record identities.
| 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-source-ingest | content transformation | implemented | EPI-OBJ-reference | truth-apt transformation: acquisition/import | External file → raw reference copy | Copy if destination absent; no truth evaluator | Explicit request; before concept lookup | Possible retained copy; existing destination unchanged | Filesystem retention | Source warrant unknown; new raw bytes preserved | Makes imported payload available | Later caller, resource read or Markdown graph read, permissive, later invocations | SRC-1 packages/core/lib/ingest.mjs |
EPI-CLM-knowledge-recording | Copy ≠ semantic synthesis | Copied Markdown can itself satisfy subsequent concept lookup |
| RT-RTE-source-ingest | content transformation | implemented | EPI-OBJ-derived-reference | truth-apt transformation: indeterminate | External source first eligible line → excerpt in Reference concept | readConcept must return null; first-line selection and 200-character cap, not truth evaluation | After raw-copy stage, only on missing concept | Possible separate Reference with resource/path/time and excerpt | Conditional core create and retention | Excerpt may degrade source scope; registration metadata does not warrant domain truth | Makes excerpt and resource pointer available | Later graph/get consumer, concept Markdown, permissive, later calls | SRC-1 packages/core/lib/ingest.mjs |
EPI-CLM-knowledge-recording | No generated Reference on existing-concept branch | Existing destination and current external excerpt can differ; source/proposition comparison is needed to distinguish scope-preserving reshaping from a changed, possibly non-entailed claim |
| RT-RTE-concept-create | disposition/acceptance | implemented | EPI-OBJ-concept | no content change | Proposed write admission | See record: type gate, caller flag, ID/type/existence; not truth criterion | Before adapter/core write | Possible refusal or admission | Enforcing on covered create path | No recorded evidence-consuming acceptance of domain truth | See record | See record | SRC-1 packages/core/lib/write.mjs |
EPI-CLM-knowledge-recording | Confirmation is caller assertion | Update/core/ingest alternatives remain |
| RT-RTE-concept-create; RT-RTE-concept-update | retention | implemented | EPI-OBJ-concept; EPI-OBJ-trust-fields | truth-apt transformation: indeterminate | Caller body/metadata → Markdown | Caller supplies semantics; serializer persists | After admission; see records | Possible durable candidate and labels | Filesystem write | Retention only; no general entailment or non-entailment proof for arbitrary body | New text eligible for later reads | Graph/get consumer, files, permissive, later calls | SRC-1 packages/core/lib/write.mjs |
EPI-CLM-knowledge-recording | Verified label need not cover current body | Generated labels do not prove a model produced the body |
| RT-RTE-bundle-read | operational admission/selection/consumption | implemented | EPI-OBJ-concept | truth-apt transformation: non-ampliative reshaping | Stored concepts → selected response | Lexical score/ID/title/prefix; see record | Caller read request | Possible summaries/body/backlinks | Ranking and delivery | Relevant matches, not endorsed facts; backlinks mean textual relationship | Supplies answer context, not a warranted answer | See record; MCP formatted text may truncate | SRC-1 packages/core/lib/search.mjs |
RT-CLM-form-equivalence | Retrieval ≠ acceptance | MCP/CLI get omit structured sources/verified metadata |
| EPI-RTE-format-check | check/evidence production | implemented | EPI-OBJ-health-results | truth-apt transformation: entailed derivation | Parsed bundle structure | Local parser and explicit checks, not complete YAML or domain truth | Explicit diagnostic request | Possible ok/errors/warnings | Diagnostic output | Only inspected predicate over parsed inputs | No mandatory admission block | Caller, returned result, advisory; CLI nonzero on errors, current invocation | SRC-1 packages/core/lib/validate.mjs |
EPI-CLM-format-check | Compliance label exceeds demonstrated external conformance | No upstream comparison or executed result |
| EPI-RTE-health-check | check/evidence production | implemented | EPI-OBJ-health-results | truth-apt transformation: entailed derivation | Links, timestamps, title/description/index structure | Graph membership/date comparisons | Explicit request; current time or opts.now | Possible issue list/counts | Advisory diagnostics | Facts about graph/time, not semantic contradiction or source truth | May guide human/model repair; no automatic rewrite | Caller, text/results, advisory, current and discretionary later use | SRC-1 packages/core/lib/lint.mjs |
EPI-CLM-knowledge-recording | Stale ≠ false | MCP output cap may omit issues |
| EPI-RTE-directory-deprecate | disposition/acceptance | implemented | EPI-OBJ-concept; EPI-OBJ-trust-fields | non-truth-apt policy/content update: mark deprecated | Selected subtree → lifecycle label | Caller chooses subtree; no truth evaluation | Explicit request | Possible status change/counts | Retained label, not exclusion invariant | Withdrawal recommendation, not falsification | Changes status shown in results; search/get still possible | Later host, metadata/display, advisory, until changed | SRC-1 packages/core/lib/write.mjs |
EPI-CLM-knowledge-recording | Retirement does not forbid use | No content-specific veto in core; body retained |
| EPI-RTE-index-refresh | content transformation | implemented | EPI-OBJ-index-log | truth-apt transformation: non-ampliative reshaping | Graph → index Markdown | Deterministic grouping/sorting/descriptions | After writes or explicit refresh | Possible regenerated navigation | Filesystem overwrite | No new warrant for described claims | Changes later navigation, not accepted-claim integration | Caller/host, index files, advisory, later reads | SRC-1 packages/core/lib/indexlog.mjs |
none | Not lifecycle integration | Metadata descriptions may already be wrong |
| EPI-RTE-legacy-migration | content transformation | implemented | EPI-OBJ-concept; EPI-OBJ-trust-fields | truth-apt transformation: acquisition/import | Legacy files → bundle concepts | Path/regex-derived types; target-exists skip | --real; default dry run | Possible imported body/new metadata | Direct filesystem admission | Imported source warrant unknown; selected metadata discarded | Eligible for later bundle reads without adapter confirmation | Caller/host, files, permissive, subsequent sessions | SRC-1 scripts/migrate.mjs |
none | Type name not attestation | Legacy approval/source fields not carried generally |
| EPI-RTE-cloud-migration | lineage/freshness/recovery | implemented | EPI-OBJ-reference; EPI-OBJ-concept | truth-apt transformation: acquisition/import | Local Markdown → cache/remote | Extension filter, apply flag, service results | Explicit --apply | Possible copy, push/status or failure | Writes and remote publication | No semantic endorsement; non-Markdown evidence/computations omitted | Changes later accessible bundle content | See record | SRC-1 scripts/migrate-to-feishu.mjs |
none | Partial asset transfer | No successful service result supplied |
| RT-RTE-remote-sync | lineage/freshness/recovery | implemented | EPI-OBJ-concept; EPI-OBJ-index-log | truth-apt transformation: acquisition/import | Local/remote state reconciliation and explicit delete | See record | Explicit or timer; see record | Possible import/conflict/delete | See record | History/ledger comparisons do not resolve semantic disagreement | See record | See record | SRC-1 packages/core/lib/feishu.mjs |
none | Freshness ≠ endorsement | Supplied bounded account, exhaustive branches uninspected |
| RT-RTE-context-delivery | operational admission/selection/consumption | implemented | RT-OBJ-append-system-prompt; RT-OBJ-agents | no content change | Retained guidance → host instructions | See record | See record | Possible delivered or omitted/truncated text | Advisory text; symbolic create gate separate | Delivery confers no factual warrant | Requested query-first, recording and rule-following behavior | See RT-BAP-rule-delivery | SRC-1 packages/pi/extensions/index.ts |
RT-CLM-form-equivalence | Delivery ≠ compliance | Host precedence/model behavior uninspected |
| EPI-RTE-attester-check | check/evidence production | doctrine only | EPI-OBJ-attester | no content change | Receipt executed_sql vs bound sanctioned SQL | Declared deterministic equality attester; SQL string equality domain | No implemented invocation established in inspected core/handlers | Declared verdict, no observed receipt/result | No implemented consumer established | Even realized equality would not establish business definition or data truth | No automatic execution/acceptance licensed by metadata alone | Declared external consumer; channel/verdict consequence not established | SRC-1 examples/demo-bundle/references/attesters/sql-equality.md |
EPI-CLM-attester-demo | Placeholder not running evaluator | Not a system-complete absence of host evaluators |
No accepted ampliative-claim lifecycle integration is established by these routes. This is not a claim that hosts cannot generate or accept knowledge. For arbitrary caller bodies, semantic preservation, entailment and non-entailment are not determinable without the source/proposal/decision trace. The source-copy edge is acquisition; diagnostic deductions are limited to implementation predicates. Neither is evidence of an internally produced accepted ampliative theory.
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 |
|---|---|---|---|---|---|---|---|---|
| RT-CLM-form-equivalence | see record | SRC-1 README.md, doctrine/design |
see record | RT-RTE-bundle-read, RT-RTE-context-delivery | None supplied | No intervention/comparison | Shared core plus differing adapter channels | Full equivalence unsupported. |
| EPI-CLM-format-check | see record | SRC-1 packages/skill/bin/wiki.mjs, doctrine/design and implementation label |
Local schema specifies structural checks | EPI-RTE-format-check | None supplied | No external specification comparison | Implements a bounded local structural predicate | “Compliant” not a domain-truth verdict or full YAML validator. |
| EPI-CLM-knowledge-recording | see record | SRC-1 packages/skill/SKILL.md, doctrine/design |
Requests investigation, user confirmation, unverified-use marking and maintenance | RT-RTE-concept-create, RT-RTE-concept-update, EPI-RTE-health-check, EPI-RTE-directory-deprecate | None supplied | Host cooperation required; no factual accuracy or capacity experiment | Wired storage/retrieval plus declarative epistemic discipline | No evidence-consuming acceptance record; get does not expose all trust/source fields. |
| EPI-CLM-attester-demo | see record | SRC-1 examples/demo-bundle/references/attesters/sql-equality.md, doctrine/design |
Equality-check description | No execution route established in inspected core/handlers | Synthetic candidate only | Equality cannot validate sanctioned premises or component benefit | Declared external attestation pattern | No receipt, verdict or consequential decision. |
Bounded conclusion
llm-wiki provides persistence and later lexical retrieval of caller-supplied knowledge, not an inspected internal semantic knowledge-production loop. Raw ingestion copies an external file only when the destination is absent, then conditionally adds a small Reference if stem-based readConcept finds nothing; source warrant is unknown. A copied Markdown file can itself satisfy that lookup without frontmatter, skipping separate Reference generation. A new raw copy preserves bytes; the optional derived excerpt and adapter presentations can lose context. Core objects retain source/trust metadata, but MCP and CLI get primarily expose title/type/status, description, body and backlinks. A source footnote in the body can survive without its structured source mapping reaching that consumer (EPI-OBJ-reference, EPI-OBJ-derived-reference, EPI-OBJ-concept, RT-RTE-bundle-read).
Its implemented evaluators assess named structural targets. Validation's local predicate, lint's graph/date deductions and identifier ambiguity rejection have bounded warrant; none judges domain propositions. CLI validation can fail the current command, but is not wired as mandatory approval before writes. Lint is advisory and MCP truncation can omit its tail. Confirmation checks grant operational admission on covered creates. A flag and retained human label are not a recorded evidence-consuming acceptance decision with criterion, intended use and scope (EPI-RTE-format-check, EPI-RTE-health-check, RT-RTE-concept-create).
Retirement is a recommendation expressed in retained status. It does not erase bodies or exclude deprecated concepts from unfiltered search/get. Generated metadata refreshes on updates, while earlier verified entries can remain. Navigation refresh and synchronization alter accessibility and organization without establishing post-acceptance integration. The alternative migrations bypass interactive create admission; cloud migration copies only Markdown, so computation/evidence links can outlive omitted assets (EPI-RTE-directory-deprecate, EPI-OBJ-trust-fields, EPI-RTE-index-refresh, EPI-RTE-legacy-migration, EPI-RTE-cloud-migration, RT-RTE-remote-sync).
Retained rules have a live target-side channel into later host context, plus executable type-gate consequences. Their interpretation is external. No direct model-parameter update is established; external model versions, endpoint mutation and weights remain uninspected, not fixed by this target. Retention and changed prompts can support later behavior without demonstrating learning, reflection, autonomous theory-building or exercised self-improvement. These are independent unresolved properties, not a bundled negative. The SQL attester placeholder and synthetic smoke expectations cannot fill the missing receipt, acceptance, operation or causal evidence (RT-BAP-rule-delivery, EPI-OBJ-attester, EPI-OBJ-smoke-checks).
Shared records
Components
none declared in this member
Operative objects
EPI-OBJ-concept
Label: Concept Markdown
Source-native identity: nonreserved concept files, natural-language domain text plus symbolic frontmatter/link fields; substrate: bundle Markdown and reconstructed JavaScript graph. Distinct from supplied rule objects; overlaps RT-RTE-bundle-read as its input, not a duplicate route. SRC-1 packages/core/lib/bundle.mjs, packages/core/lib/write.mjs. Caller supplies the body; type names do not prove its origin or correctness.
return { id, path: relPath, meta, body, title, type, desc, hasFM } ---
packages/core/lib/bundle.mjs
The core retains metadata, but the inspected CLI/MCP get presentations do not serialize sources/verified/generated/stale_after/executor/attester/computation fields. This limits lineage and attestation information reaching the model through that response; direct file reading is a separate possible host operation. MCP additionally caps the assembled response. SRC-1 packages/mcp/lib/tools.mjs, packages/skill/bin/wiki.mjs:
got.body.trim(), ] return { text: lines.join('\n').slice(0, limits.maxGetChars) } ---
packages/mcp/lib/tools.mjs
EPI-OBJ-reference
Label: Registered raw source
Source-native identity: copied references/refDir asset, not the separately generated Reference concept. Representational form: original payload, possibly binary/opaque; substrate: filesystem. This corrects the former combined raw/excerpt finding while preserving its ID and supported copying finding. Same raw referent as supplied MEM-OBJ-reference-source, not a different object because of prefix; RT-RTE-source-ingest supplies the copy passage. SRC-1 packages/core/lib/ingest.mjs, packages/core/lib/bundle.mjs.
Copy precedes stem-based lookup. A readable copied memo.md makes readConcept return an object even without frontmatter, so no separate Reference is generated. A non-Markdown payload needs a separate resource read; a nonreserved Markdown payload can itself enter the graph. Existing destination bytes are not recopied. These paths preserve neither an independent source-warrant judgment nor a uniform raw/derived artifact pair.
const existing = await readConcept(root, conceptId) let sourceConceptId = existing ? conceptId : null if (!existing) { ---
packages/core/lib/ingest.mjsreturn { id, path: relPath, meta, body, title, type, desc, hasFM } ---
packages/core/lib/bundle.mjs
EPI-OBJ-derived-reference
Label: Generated Reference concept
Source-native identity: the conditional stem-named Reference page with registration statement, resource pointer and first-line excerpt. Form: natural-language body plus symbolic resource/type/generated fields; substrate: concept Markdown. It is distinct from the raw asset in EPI-OBJ-reference and supplied MEM-OBJ-reference-source: it is generated only after a null lookup, takes its excerpt from the external source rather than necessarily the retained destination, and reaches graph/get consumers instead of requiring a raw-resource read. It is a material subtype of the ordinary concept container, not another ingestion route. Part of: EPI-OBJ-concept
SRC-1 packages/core/lib/ingest.mjs: raw copy → lookup → optional core create. No truth check or evidence-consuming acceptance intervenes. Existing concepts, including copied Markdown without frontmatter, bypass generation. For a new memo.txt containing “Revenue is gross.\nException: refunds excluded.” with no existing stem concept, copying preserves both lines but the derived page includes only the first eligible line, capped at 200 characters. This is an implementation deduction, not execution. The excerpt cannot replace the source's full scope; if the raw destination already exists, the current external excerpt need not match it.
const firstLine = srcText.split('\n').find((l) => l.trim() && !l.startsWith('---')) || '' ---
packages/core/lib/ingest.mjsresource:
/${rel}, body:> Ingested from \${p.source}` at ${nowIso()}\n\n${firstLine.slice(0, 200)}, ---packages/core/lib/ingest.mjs`
EPI-OBJ-trust-fields
Label: Trust and lifecycle fields
Source-native identity: generated/verified/sources/status/stale_after metadata on concept files. Symbolic keys and natural-language actor/source values, filesystem substrate. Distinct material part of EPI-OBJ-concept; supplied RT-RTE-concept-create and RT-RTE-concept-update establish consumers, not a counterpart object. Part of: EPI-OBJ-concept
SRC-1 packages/core/lib/write.mjs: confirmation adds a human-prefixed claim without authentication; update copies old metadata and only modifies verified inside the confirmed branch. Thus changing body without confirmation can leave historical verified metadata. The supplied update record supports the old-meta copy and body overwrite.
if (p.opts?.confirmed) { const user = p.opts.user || 'human:unknown' meta.verified = [{ by: user.startsWith('human:') ? user :
human:${user}, at: nowIso() }] }---
packages/core/lib/write.mjs
EPI-OBJ-health-results
Label: Validation and lint results
Source-native identity: ok/errors/warnings and issues/summary objects, symbolic diagnostic structures rendered as text; substrate: current invocation memory/stdout/tool results. Different referent from domain concepts and supplied runtime records. SRC-1 packages/core/lib/validate.mjs, packages/core/lib/lint.mjs; passages in the corresponding routes.
EPI-OBJ-index-log
Label: index.md and log.md
Source-native identity: reserved index/log files; natural-language descriptions/action text plus symbolic links/date headers; filesystem substrate. Distinct from supplied AGENTS/APPEND objects and a generated output of supplied write/sync routes, not a duplicate route. SRC-1 packages/core/lib/indexlog.mjs. Index refresh reads the graph; logs record action labels, not evidence-consuming truth judgments.
const line =
* **${action}**: ${entry}---packages/core/lib/indexlog.mjs
EPI-OBJ-attester
Label: SQL equality attester demo
Source-native identity: references/attesters/sql-equality.md linked by the demo revenue computation. Natural-language instructions on filesystem, not executable attester code. Compared with RT-RTE-bundle-read: this is a retained candidate/check specification that retrieval can expose, not another retrieval route. SRC-1 examples/demo-bundle/references/attesters/sql-equality.md, examples/demo-bundle/computations/revenue.md.
attester: { resource: references/attesters/sql-equality.md } ---
examples/demo-bundle/computations/revenue.md
EPI-OBJ-smoke-checks
Label: Smoke test assertions
Source-native identity: script check predicates over synthetic bundles, symbolic JavaScript on filesystem; counters/errors in current-run memory if executed. No counterpart among supplied runtime objects. SRC-1 scripts/smoke-test.mjs. Expected outcomes are authored by test code, not an ordinary domain-answer oracle. Failure drives script exit 1 and temporary files are removed after the checks; no automatic product revision or knowledge acceptance follows.
check('英文检索命中口径', s2.some((r) => r.id === 'computations/revenue')) ---
scripts/smoke-test.mjs
Routes
EPI-RTE-format-check
Label: Bundle format validation
Endpoints: resolved bundle → scan/read/parse → errors/warnings/ok → CLI or tool caller. Owner: deterministic core, invoked explicitly by caller; no proposal selection or content approval. Target/domain: frontmatter presence and nonempty parsed type plus limited reserved-file structure. The parser tolerates lines it cannot map and implements a YAML subset; this is not proof of full YAML validity. Separate from supplied RT-RTE-concept-create: a diagnostic request, not a write admission mechanism. SRC-1 packages/core/lib/validate.mjs, packages/core/lib/yaml.mjs, packages/skill/bin/wiki.mjs, packages/mcp/lib/tools.mjs.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: ok/errors/warnings; CLI exits 1 on errors, otherwise prints a compliance label; MCP returns text.
- Later read-back: inapplicable — diagnostics do not accumulate changed retained material in this route.
- Delegated visibility: inapplicable — no target-side model worker is created by this route.
- Selection predicate: all scanned nonhidden/nonreserved Markdown concepts plus traversed reserved-file checks.
- Invalidation or expiry: recomputed on each explicit call; no durable approval state.
- Activation or effect: current caller receives diagnostics; no mandatory prewrite invocation or automatic semantic repair.
- Evidence limits: no executed result; no independent OKF specification comparison; validation does not check truth, attestation receipts or source accuracy.
return { ok: errors.length === 0, errors, warnings } ---
packages/core/lib/validate.mjsif (!kv) { i++; continue } ---
packages/core/lib/yaml.mjsif (!v.ok) { for (const e of v.errors) console.error('ERROR ' + e); process.exit(1) } ---
packages/skill/bin/wiki.mjs
EPI-RTE-health-check
Label: Bundle health lint
Endpoints: bundle graph/time → structural comparisons → issue array/counts → CLI/MCP/host. Owner: core program; caller elects maintenance. Target/domain: links absent from node set, no incoming/outgoing edges, parsed stale timestamps, deprecated flag, absent description, repeated titles and missing subdirectory indexes. Not semantic contradiction detection. No expected domain-answer oracle; author/program predicates serve only structural diagnosis. Distinct from RT-RTE-bundle-read: produces diagnostic propositions, not search ranking. SRC-1 packages/core/lib/lint.mjs, packages/mcp/lib/tools.mjs, packages/skill/bin/wiki.mjs.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: sorted issues and counts; MCP renders text truncated at maxGetChars, CLI prints issues/summary.
- Later read-back: inapplicable — this route writes no durable issue ledger or changed concepts.
- Delegated visibility: inapplicable — no target-side model worker is created by this route.
- Selection predicate: current graph and concept directories; opts.now or current Date determines stale comparison.
- Invalidation or expiry: recomputed when invoked; time passage may change stale results.
- Activation or effect: advisory facts exposed to caller; no automatic rejection or revision of content.
- Evidence limits: graph/parser fidelity and timestamps bound conclusions; no model-driven contradiction evaluator inside this module; external repair is unobserved.
「矛盾检测」为 LLM 辅助(消费方外部做),本模块输出结构事实。 ---
packages/core/lib/lint.mjsif (!Number.isNaN(t) && t <= now.getTime()) { ---
packages/core/lib/lint.mjsreturn { text: lines.join('\n').slice(0, limits.maxGetChars) } ---
packages/mcp/lib/tools.mjs:408-412
EPI-RTE-directory-deprecate
Label: Directory deprecation
Endpoints: caller-selected subtree → graph nodes → status writes → log/index → count. Owner: caller chooses policy withdrawal; core executes. Distinct from RT-RTE-concept-update: batch status-only path with no content-specific confirmation option. Admission: CLI/MCP online guard may block remote conflicts, otherwise core selects subtree without directory human-confirmation gate. Proposer/decider is caller; no independent truth evaluator or answer oracle; human veto is only through caller choice. Mode: open maintenance request. Rollback: later status update/file restoration; not transactional across subtree writes. Guidance: deprecated means not recommended, retained for history. SRC-1 packages/core/lib/write.mjs, packages/skill/bin/wiki.mjs, packages/mcp/lib/tools.mjs, schema.md.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: deprecated/total counts and adapter flush status.
- Later read-back: status and generated metadata remain for later graph/list/get/lint consumption; body remains unchanged.
- Delegated visibility: inapplicable — no target-side model worker is created by this route.
- Selection predicate: all graph IDs with selected directory prefix, or all IDs for empty dir; skip missing frontmatter and already deprecated.
- Invalidation or expiry: no automatic expiry/undo; subsequent update can replace status.
- Activation or effect: writes status and new generation timestamp; does not force search/get exclusion.
- Evidence limits: retirement recommendation is not evidence that any proposition was falsified; later host obedience unobserved.
meta.status = 'deprecated' const producer = 'llm-wiki' meta.generated = { by:
agent:${producer}/0.1.0, at: nowIso() } await writeFile(file, serializeDoc({ meta, body })) ---packages/core/lib/write.mjs
EPI-RTE-index-refresh
Label: Index regeneration
Endpoints: graph → deterministic directory grouping/title sorting/description projection → index files. Standalone refresh does not append an action log; mutation callers separately log their actions before index maintenance. Owner: core after mutation or caller-triggered refresh. Distinct from supplied RT-RTE-concept-create and RT-RTE-remote-sync: derived-navigation operation called by both, not another concept admission. No semantic evaluator or acceptance transition. SRC-1 packages/core/lib/indexlog.mjs. Concrete deduction: a graph containing only tables/orders yields root directory entry * [tables](tables/index.md) — 1 个概念; descriptions are copied into direct-concept entries, not independently checked.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: refreshIndex returns written file list; writeDirIndex returns after write.
- Later read-back: regenerated reserved index files can guide a later host read; standalone refresh creates no durable action-log entry.
- Delegated visibility: inapplicable — no target-side model worker is created by this route.
- Selection predicate: graph membership and directory path; refresh includes concept-containing directories and existing indexes.
- Invalidation or expiry: later writes/refresh replace derived indexes; logs append action text.
- Activation or effect: rewrites navigation, not accepted-claim lifecycle integration.
- Evidence limits: body meaning and description truth not validated; downstream navigation use unobserved.
lines.push(
* [${k}](${k}/index.md) — ${groups.get(k)} 个概念)---
packages/core/lib/indexlog.mjsconst bodyText = renderIndexBody(graph, dir) ---
packages/core/lib/indexlog.mjsawait updateIndex(root, { dirs: [...dirs] }) return { files: ['index.md', ...[...dirs].sort().map((d) =>
${d}/index.md)] }---
packages/core/lib/indexlog.mjs
EPI-RTE-legacy-migration
Label: Legacy bundle migration
Endpoints: legacy trees → flat legacy-frontmatter parser → mapped type/title/description/tags, annotated body/linkification → target files. Owner: script rules; caller selects roots and --real. Distinct from RT-RTE-source-ingest: bulk legacy mapping, no core create call or directory gate. Mode: open migration, default dry-run; caller authorizes bulk copying, not demonstrated per-content approval. No truth or expected-answer oracle. Existing destinations skipped as conflicts; real writes directly to disk. Recovery: source unchanged, no automatic undo of already written targets. Metadata such as prior verified/sources/enabled is not generally carried by the selected outMeta constructors. SRC-1 scripts/migrate.mjs.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: planned/created file list, conflicts and errors to console.
- Later read-back: new Markdown concepts become inputs to subsequent graph/get; generated marks process:migrate.
- Delegated visibility: inapplicable — no target-side model worker is created by this route.
- Selection predicate: nonhidden .md except README in legacy KB; selected tables/examples/pitfalls directories; SQL regex selects Attested Computation type.
- Invalidation or expiry: existing targets skipped; no freshness or trust invalidation beyond newly mapped metadata.
- Activation or effect: imports candidate knowledge and guessed types without attestation or adapter approval.
- Evidence limits: retained body can preserve claims but transformed metadata loses lineage/approval detail; no successful migration supplied.
const hasSql = /
``sql|select\s/i.test(body) const outMeta = { type: hasSql ? 'Attested Computation' : 'Reference', ---scripts/migrate.mjs`if (!o.dryRun) { await mkdir(dirname(dest), { recursive: true }) await writeFile(dest, content) } ---
scripts/migrate.mjs
EPI-RTE-cloud-migration
Label: Cloud bundle migration
Endpoints: local tree → .md selection → Feishu initialization/registration → cache copy → optional index refresh → sync adopt local → status. Owner: caller plus script and backend. Distinct entry from RT-RTE-remote-sync: it first determines which assets enter the new bundle; backend sync is supplied by that record. Caller --apply admits copying, target/CLI errors can terminate; no human per-proposition approval or answer oracle. Recovery: source untouched; partial cloud/cache mutations can precede failure, no transaction established. SRC-1 scripts/migrate-to-feishu.mjs.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: plan on dry-run, otherwise initialization/copy/push/status messages or early failure.
- Later read-back: copied/remote Markdown is accessible to later consumers; non-.md assets are not copied by this selector.
- Delegated visibility: inapplicable — no target-side model worker is created by this route.
- Selection predicate: nonhidden, non-node_modules paths ending .md; explicit --apply; optional --skip-index.
- Invalidation or expiry: backend status/push results determine continuation; not semantic endorsement or source-freshness certification.
- Activation or effect: retained metadata pointers may refer to omitted .sql files, as in the shipped revenue example.
- Evidence limits: remote service execution unavailable; state-count review is not receipt validation or successful computation.
else if (e.name.endsWith('.md')) out.push(child) ---
scripts/migrate-to-feishu.mjsconst sync = await core.feishuSync(spec, { adopt: 'local' }) ---
scripts/migrate-to-feishu.mjs
EPI-RTE-attester-check
Label: Declared SQL equality check
Endpoints declared: receipt plus parameter-bound sanctioned computation → deterministic comparison → verdict. Owner: external consumer unspecified. Different referent from RT-RTE-bundle-read: proposed checking procedure, not retrieval. Mode and proposer/decider/veto roles are unspecified. Intended comparison reference is sanctioned SQL, not independent business truth. SRC-1 examples/demo-bundle/references/attesters/sql-equality.md; no internal invocation established in inspected core exports, write/validate/lint modules or CLI/MCP handlers. See EPI-CLM-attester-demo.
- implementation conclusion status: claimed
- operation conclusion status: uninspected
- Immediate return: uninspected — only a declared verdict; no execution trace or implemented invocation supplied.
- Later read-back: uninspected — no receipt/verdict persistence and later consumer established; the specification itself is static shipped material.
- Delegated visibility: inapplicable — no target-side model worker is created by this route.
- Selection predicate: uninspected — no operative attester selection established beyond metadata pointer.
- Invalidation or expiry: uninspected — no verdict expiry or invalidation route supplied.
- Activation or effect: uninspected — declaration alone establishes no consequential result consumer.
- Evidence limits: doctrine only in inspected paths; host-side implementation not frozen; equality would warrant only executed-versus-sanctioned comparison.
确定性(无 LLM)校验器:输入 receipt,比对
executed_sql与 sanctionedcomputation绑定参数后的 SQL 是否一致,返回 verdict。 ---examples/demo-bundle/references/attesters/sql-equality.md
Claims
EPI-CLM-format-check
Label: OKF compliance label
Claimed operation: validate reports local OKF v0.2 compliance. SRC-1 packages/skill/bin/wiki.mjs, schema.md, doctrine/design and emitted-label implementation. Closest supplied RT-CLM-form-equivalence concerns form parity, not validation criteria; distinct claim. The implementation predicate in EPI-RTE-format-check has structural scope, not domain truth. Full specification equivalence is unestablished.
console.log('OKF v0.2 compliant ✓') ---
packages/skill/bin/wiki.mjs
EPI-CLM-knowledge-recording
Label: Investigate record and confirm
Claimed operation: host guidance requests investigation before recording new facts, human confirmation for configured types, and consumption of unverified material with an unconfirmed mark. SRC-1 packages/skill/SKILL.md, doctrine/design. Different from supplied RT-CLM-form-equivalence: this is an epistemic discipline requested of external hosts, not adapter equivalence. Wired persistence/admission supports the means, not observed investigation, fresh approval or truth.
探查事实(表结构等):可直接
wiki create(自动写generated: {by: agent…},无 verified = unverified 态,可消费但标未确认)。 ---packages/skill/SKILL.md规则声明需 human 确认的类型 → 先向用户展示、确认后加
--confirmed---packages/skill/SKILL.md
EPI-CLM-attester-demo
Label: Demo equality attester
Claimed operation: deterministic executed SQL versus sanctioned SQL comparison yields verdict. SRC-1 examples/demo-bundle/references/attesters/sql-equality.md, doctrine/design, as quoted in EPI-RTE-attester-check. Distinct from supplied equivalence claim and ordinary read route. The file explicitly labels itself demo placeholder; the example's verified field is candidate metadata, not a supplied approval/receipt trace.
sql-equality attester 说明(demo 占位)
---
examples/demo-bundle/references/attesters/sql-equality.md
Evidenced absences
none declared in this member
Behavioral-authority paths
none declared in this member; supplied RT-BAP-rule-delivery covers retained rules, while each new route states its own bounded consumer/channel/force/horizon.