MemWiki epistemic report
Type: agentic-system-analyses/types/agentic-system-epistemic-report.md
Source-and-claim boundary
The question is how MemWiki turns project material into retained assertions, checks those assertions and licenses later reliance. Scope and exclusions: see boundary. Evidence identity and layers: see the Source register, SRC-1. This report directly inspected the source paths below at the registered revision; runtime findings are supplied context, not substituted for those reads. No target execution occurred. No new source or evidence layer is introduced.
MemWiki's executable installs text; its continuing epistemic routes are instructions to an external agent. The relevant public claims are EPI-CLM-project-memory, EPI-CLM-primary-truth, EPI-CLM-health-fixes and RT-CLM-safe-update. The model component remains opaque: see RT-CMP-host-agent. Missing host implementation prevents conclusions about actual discovery, compliance, approvals or weight changes. Missing raw inputs and model traces prevent reconstruction of individual synthesis edges. Missing execution comparisons prevent benefit and causal attribution. Missing npm artifact prevents installed-byte equivalence.
| Entry point or operation | Source path directly read, SRC-1 | Covering records or bounded exclusion |
|---|---|---|
| Declared CLI and build selection | package.json, src/index.ts |
RT-RTE-cli-init, RT-RTE-protocol-update; build configuration supplied through runtime, not directly reread |
| Alternate executable | src/index.js |
RT-RTE-legacy-init; init only, older protocol |
| Host hooks | .cursorrules, CLAUDE.md, .github/copilot-instructions.md |
RT-BAP-host-protocol, EPI-CLM-primary-truth |
| Raw-source reading, discoveries, hot/log writes, page/index organization | AGENTS.md, src/index.ts |
RT-RTE-agent-session |
| Repository ingestion | AGENTS.md, README.md |
RT-RTE-agent-commands |
| Health checking and proposed fixes | AGENTS.md, README.md |
EPI-RTE-wiki-lint |
| History condensation | AGENTS.md, README.md |
EPI-RTE-log-fold |
| Retained statements and routing | .memory/wiki/hot.md, .memory/wiki/index.md, .memory/wiki/stack.md, .memory/wiki/patterns.md, .memory/wiki/bugs.md, .memory/wiki/decisions.md, .memory/wiki/log.md |
EPI-OBJ-hot, EPI-OBJ-domain-pages, EPI-OBJ-log, EPI-OBJ-index |
| External model/tool implementations and published distribution | Boundary exclusions | No claim about their evaluators or runtime behavior; prevents deployment-complete conclusions |
CLI dispatch admits only init and update; there is no registered executable slash-command tool in either inspected executable. Lint and fold are nevertheless material shipped operations because the installed protocol requests them. Available protocol and maintenance paths were assessed, including the strongest counterexample to a blanket “no checking” claim: lint explicitly requests a health evaluator. The absence conclusion below concerns an explicit acceptance decision, not all possible model checking.
Epistemic-object inventory
| Object ID | Candidate truth-apt content or none | Claimed role | Evidence source ID and local anchor | Gap/limit |
|---|---|---|---|---|
| RT-OBJ-protocol-files | Mostly obligations, not truth-apt updates; project-memory assertions also occur | see record | SRC-1, AGENTS.md, CLAUDE.md |
Instructions confer requested priority, not warranted truth |
| EPI-OBJ-hot | Project initialized; ingestion completed; next steps are policy/task content | see record | SRC-1, .memory/wiki/hot.md |
Ingestion success is reported, not independently checked |
| EPI-OBJ-domain-pages | Stack facts, CLI patterns, decisions and rationale; bugs page has no bug instance | see record | SRC-1, .memory/wiki/stack.md, .memory/wiki/patterns.md, .memory/wiki/decisions.md, .memory/wiki/bugs.md |
Assertions are available; production and acceptance provenance unknown |
| EPI-OBJ-log | Work and ingestion assertions | see record | SRC-1, .memory/wiki/log.md |
Historical report is not an execution trace |
| EPI-OBJ-index | Page descriptions and links | see record | SRC-1, .memory/wiki/index.md |
Routing is not evidence validation |
| Raw documents | Potential external facts; concrete content not determinable | Source of truth in README | SRC-1, README.md, AGENTS.md |
No tracked raw example; cannot assess source truth or a concrete import |
| RT-CMP-host-agent | Parametric knowledge not individuated | see record | SRC-1, README.md |
Model version, endpoint and parameter changes remain uninspected |
Authority-route ledger
Fields owned by cited records say see; the local classifications below assess separate consequential functions, not replacement route identities. For natural-language routes, “doctrine only” means the requested action is present, not that the host reliably performs 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-cli-init, RT-RTE-legacy-init | content transformation | implemented | Protocol and starter pages | truth-apt transformation: acquisition/import | Fixed template to file | Destination existence, filesystem domain | see records | see records | Exact UTF-8 write or skip, not truth check | Source text preserved; source warrant unknown | Installs requested future instructions and starter assertions | see records and RT-BAP-host-protocol | SRC-1, src/index.ts, src/index.js |
EPI-CLM-project-memory | none | Starter assertion can be false if files predate current invocation |
| RT-RTE-protocol-update | behavior/policy adaptation | implemented | RT-OBJ-protocol-files | non-truth-apt policy/content update: fixed instruction replacement | Local hook/protocol replacement | Exact path predicate, not evidence evaluation | see record | see record | Unconditional four-path overwrite | No license to treat local wiki as correct | Can replace custom host guidance | see record and RT-BAP-host-protocol | SRC-1, src/index.ts |
RT-CLM-safe-update | Missing wiki paths still created | Downstream behavior unobserved |
| RT-RTE-agent-session | content transformation | doctrine only | Raw documents | truth-apt transformation: acquisition/import | New external material enters host context | Agent reading; source-specific domain unknown | see record | see record | Requested reading; no source authentication | Raw file preservation requested; source warrant unknown | Supplies potential premises for work/synthesis | see record and RT-BAP-host-protocol | SRC-1, AGENTS.md, README.md |
EPI-CLM-primary-truth | Preservation is not endorsement | No raw instance or read trace |
| RT-RTE-agent-session, RT-RTE-agent-commands | content transformation | doctrine only | EPI-OBJ-domain-pages, EPI-OBJ-hot, EPI-OBJ-log | truth-apt transformation: indeterminate | Raw/code/task findings become prose | Host model; project facts and selected rationale | see records | see records | Requested synthesis/write | No entailed derivation or accepted ampliative claim established | Model may author later context without per-sentence approval | see records and RT-BAP-host-protocol | SRC-1, AGENTS.md |
EPI-CLM-project-memory | none | No paired inputs/outputs; reshaping, derivation and conjecture remain unresolved |
| RT-RTE-agent-session | retention | doctrine only | Hot, domain pages and log | no content change | Keep newly written content for later invocation | Host file tools; no acceptance criterion | see record | see record | Requested persistence | Retained candidate, not accepted knowledge | Makes authored content available later | see record and RT-BAP-host-protocol | SRC-1, AGENTS.md |
EPI-CLM-project-memory | none | Existing pages show candidates available, not route activation |
| RT-RTE-agent-session | operational admission/selection/consumption | doctrine only | Hot, index and selected domain content | no content change | Use available wiki as project context | Host model judges whether hot is sufficient; not a truth evaluator | see record | see record | Requested primary-source priority and conditional reads | Operational reliance requested without explicit acceptance | Context may affect answers, changes and next steps | see RT-BAP-host-protocol | SRC-1, AGENTS.md, CLAUDE.md |
EPI-CLM-primary-truth | Priority exceeds demonstrated warrant | No trace of which content reached or changed a decision |
| EPI-RTE-wiki-lint | check/evidence production | doctrine only | Wiki, especially hot and empty domain pages | no content change | Staleness, missing context, empty pages | see record | see record | see record | Requested diagnosis/proposal, not enforced invalidation | At most model diagnosis in project-health domain | Proposal can guide later edits; no automatic exclusion | see record | SRC-1, AGENTS.md |
EPI-CLM-health-fixes | README says fixing, protocol says propose | No diagnosis instance or accuracy evidence |
| EPI-RTE-log-fold | content transformation | doctrine only | EPI-OBJ-log | truth-apt transformation: indeterminate | Older history to summary | see record | see record | see record | Requested replacement with crucial-history preservation | Intended compression; fidelity not checked | Shorter history can become later context | see record | SRC-1, AGENTS.md |
EPI-CLM-project-memory | Append-only description versus condensation | No paired log/summary; cannot assign semantic preservation |
No disposition/acceptance or post-acceptance lifecycle-integration route was found within the inspected protocol/CLI boundary: see EPI-ABS-acceptance-gate. Linking a new page changes organization for later access, but does not establish lifecycle integration as defined here because acceptance has not been established. Lint's possible detection is not merged with an invented rejection mechanism.
Concrete deterministic trace, deduced from implementation without execution: take argv command update, an existing CLAUDE.md containing arbitrary custom text, and an existing .memory/wiki/hot.md containing a stale statement. The exact-path predicate makes the first destination a protocol file; its old content is replaced by the fixed hook template. Hot is not a protocol file and exists, so its stale text is skipped unchanged. Thus mechanical update neither validates nor refreshes that candidate. For command lint, dispatch exits 1 before any template loop. SRC-1, src/index.ts; supporting branches are retained in RT-RTE-protocol-update and RT-RTE-cli-init. This is an implementation deduction, not observed operation.
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-project-memory | see record | SRC-1, README.md, AGENTS.md; doctrine/design |
see record | RT-RTE-cli-init; continuing loop RT-RTE-agent-session is doctrine only | None; log reports ingestion | No contrast; external compliance required | Files and requested cross-session reuse, not demonstrated compounding benefit | Retention does not establish learning or truth |
| EPI-CLM-primary-truth | see record | SRC-1, CLAUDE.md, README.md; doctrine/design |
see record | Hook installation; RT-BAP-host-protocol requests reliance | None | No evidence-consuming acceptance gate | Project-priority instruction exists | Domain facts can contradict metadata; source warrant unknown |
| EPI-CLM-health-fixes | see record | SRC-1, README.md, AGENTS.md; doctrine/design |
see record | EPI-RTE-wiki-lint is doctrine only | None | No freshness oracle, validity criterion or enforced withdrawal | Requested health assessment and proposals | Automatic fixes stronger than protocol text |
| RT-CLM-safe-update | see record | SRC-1, README.md, src/index.ts; doctrine/design and implementation |
see record | RT-RTE-protocol-update | None | Ordinary filesystem assumptions; no concurrent-writer protection | Existing wiki files skipped | Missing starter pages created; old facts preserved regardless of truth |
Bounded conclusion
MemWiki implements file installation and fixed protocol replacement. It requests acquisition of source material, synthesis, retention, selective reuse, health checking and history condensation. These are distinct from observed performance. Source files are intended to remain unchanged, but there is no demonstrated lineage from individual source assertions to wiki sentences. Import warrant remains unknown; untouched source bytes alone do not establish truth. Source-dependent claims: SRC-1, src/index.ts, AGENTS.md, README.md; see the ledger records.
The strongest evaluator is the requested lint pass over staleness, missing hot context and empty domain pages. Its result is a proposal, with advisory force through the external agent/user; no required consumer marks a candidate accepted or withdraws it from later reading. Retained wiki is requested as project truth before such checking. No warranted entailed derivation, evidence-consuming acceptance of an ampliative claim or subsequent lifecycle integration is established in this inspected boundary. This does not deny that a host can test code or critically inspect facts during ordinary work. Those external actions are not supplied evidence of MemWiki acceptance. SRC-1, AGENTS.md, CLAUDE.md; EPI-RTE-wiki-lint, EPI-ABS-acceptance-gate.
A concrete contradiction qualifies the warrant claim: stack.md asserts no runtime dependencies, while package.json declares memwiki. This demonstrates a stale or mis-scoped candidate assertion at the frozen commit, not a known failure of lint execution. Similarly, the log reports links to landscape.md and competitors.md, while the retained index contains neither; the report cannot reconstruct when or why those references diverged. Neither inconsistency licenses a system-wide verdict. SRC-1, .memory/wiki/stack.md, package.json, .memory/wiki/log.md, .memory/wiki/index.md; EPI-OBJ-domain-pages, EPI-OBJ-log.
Instruction replacement can change future policy delivery without a truth-apt update. Retained work summaries and rationale could guide later action, but exercised learning, reflection, autonomous maintenance, self-improvement and a theory-criticism iteration remain independently unestablished. External model parameters and internal reasoning are uninspected; that opacity establishes neither those properties nor their absence. SRC-1, src/index.ts, AGENTS.md; RT-CMP-host-agent, RT-RTE-agent-session.
Shared records
Operative objects
EPI-OBJ-hot
Label: Hot cache
Source-native identity: .memory/wiki/hot.md. Natural-language project state plus task checklist, stored in Markdown on disk. Distinct from RT-OBJ-protocol-files: this is retained context the hooks request, not the hooks themselves. SRC-1, .memory/wiki/hot.md, AGENTS.md. No supplied operative-object counterpart describes this page.
- Successfully completed
/memwiki-ingest, populating the wiki with stack details, coding patterns, and architectural decisions. ---.memory/wiki/hot.md
EPI-OBJ-domain-pages
Label: Domain pages
Source-native identity: .memory/wiki/stack.md, .memory/wiki/patterns.md, .memory/wiki/decisions.md, .memory/wiki/bugs.md. Natural-language facts, conventions, rationale and bug-record placeholder in Markdown files. These share the session write mechanism and task-dependent consumer, unlike the first-read hot cache and fold-targeted log. Distinct from RT-OBJ-protocol-files; no supplied counterpart describes these candidate pages. Source lineage and acceptance provenance are unknown. Some patterns accurately describe the inspected code; correctness of those instances does not establish correctness of the whole set. SRC-1, .memory/wiki/patterns.md, .memory/wiki/stack.md, .memory/wiki/decisions.md, .memory/wiki/bugs.md, package.json.
- Zero Dependencies: The project explicitly avoids runtime dependencies (only
@types/nodeandtypescriptas devDependencies) to ensure zero friction and high security/stability. ---.memory/wiki/stack.md"dependencies": { "memwiki": "^1.0.0" } ---
package.json
- Decision: Store the
.cursorrules,CLAUDE.md, and default wiki files as string literals directly insrc/index.ts. ---.memory/wiki/decisions.md
EPI-OBJ-log
Label: Work log
Source-native identity: .memory/wiki/log.md. Natural-language historical assertions in a Markdown file. Unlike RT-OBJ-protocol-files, this contains reported work and is the specific fold input; no supplied object counterpart. It is intended for later history access, but actual causal use is unobserved. The claimed ingestion supplies reported operation only, not authenticatable route execution. SRC-1, .memory/wiki/log.md, AGENTS.md.
- Triggered
/memwiki-ingest. Scannedpackage.json,tsconfig.json,src/index.ts, andREADME.md.Populated
stack.md,patterns.md, anddecisions.mdbased on project findings. ---.memory/wiki/log.mdUpdated
index.mdto link to the newlandscape.mdandcompetitors.mdfiles. ---.memory/wiki/log.md
EPI-OBJ-index
Label: Project wiki index
Source-native identity: .memory/wiki/index.md. Natural-language labels and wiki-link notation in a Markdown file; links are interpreted by the external agent, with no shipped parser or checker. Distinct from RT-OBJ-protocol-files: it supplies conditional context selection rather than detailed maintenance rules. No supplied object counterpart. Its registered links expose the default pages, not the two added pages asserted by the retained log. SRC-1, .memory/wiki/index.md, .memory/wiki/log.md, AGENTS.md.
- [[hot.md]]: Immediate context and next steps.
- [[log.md]]: Append-only changelog of agent sessions.
- [[stack.md]]: Tech stack details and versions.
- [[patterns.md]]: Established coding patterns and conventions.
- [[bugs.md]]: Known issues, quirks, and workarounds.
- [[decisions.md]]: Architecture Decision Records (ADRs). ---
.memory/wiki/index.md
Routes
EPI-RTE-wiki-lint
Label: Wiki health check Part of: RT-RTE-agent-commands
This is the health-check part, separated from ingestion and fold by target, result and force. Endpoints/progression: user chat command → host interpretation → wiki diagnosis → proposed fixes. Owner: external agent; state/context: selected project/wiki content; action effects: requested diagnosis and proposal, not enforced rejection. Check target/domain: outdated wiki assertions, missing immediate context and empty pages. Evaluator: host model; no supplied expected-answer reference, independent oracle or truth metric. User proposes the launch; model decides findings and proposals; human veto is host-dependent and uninspected. Mode: open maintenance request. Trigger: /memwiki-lint; guidance names those three health conditions. Proposed fixes persist only if separately acted on; no rollback, required approval or exclusion marker is supplied. SRC-1, AGENTS.md, README.md.
- implementation conclusion status: claimed
- operation conclusion status: uninspected
- Immediate return: Requested health findings and proposed fixes.
- Later read-back: uninspected — protocol does not require persisting diagnosis or applying fixes for later sessions.
- Delegated visibility: uninspected — host delegation is unspecified.
- Selection predicate: Chat token
/memwiki-lint; host selects wiki evidence for the stated health conditions. - Invalidation or expiry: No enforced expiry or withdrawal; outdated information is a requested diagnosis target.
- Activation or effect: Advisory proposal through host response; any subsequent edit and changed reliance unobserved.
- Evidence limits: No lint transcript, result, accuracy evaluation or downstream consumer trace.
Behavioral-authority path: external agent/user consumes the response; channel is chat proposal; force advisory; horizon current maintenance request, potentially later file edits. No automatic truth-admission license follows.
/memwiki-lint: Perform a health check on the wiki. Look for outdated information, missing context inhot.md, or empty domain pages, and propose fixes. ---AGENTS.md
EPI-RTE-log-fold
Label: Work log condensation Part of: RT-RTE-agent-commands
This is the older-log transformation part; unlike lint it requests a changed retained object. Endpoints/progression: user token → model selects older log entries → summary replaces detail → possible later reading. Owner/executor: host agent and its external tools. Context/state: log and host task context. Candidate target: historical assertions. Evaluator/condition: model decides crucial history and condensation; no prescribed fidelity comparison or acceptance criterion. Semantic preservation is indeterminate without paired input/output. User supplies launch, model proposes/admits text through file tools; human veto remains host-dependent. Mode: open maintenance request; improvement trigger is excess log length, without a threshold. Guidance: preserve crucial history. What persists is summarized history; no required backup, verification or rollback. SRC-1, AGENTS.md, .memory/wiki/log.md.
- implementation conclusion status: claimed
- operation conclusion status: uninspected
- Immediate return: Requested summarized paragraph replacing older log detail.
- Later read-back: Summary is intended to remain in
log.mdfor subsequent history access; actual read-back unobserved. - Delegated visibility: uninspected — no delegated worker or sharing protocol is specified.
- Selection predicate:
/memwiki-fold, then model selection of older entries and crucial history. - Invalidation or expiry: Older detail may be replaced; no explicit provenance or reversible expiry metadata.
- Activation or effect: Requested change to durable history; resulting behavior dependence unobserved.
- Evidence limits: No before/after log, source-linked summary or fidelity check supplied.
Behavioral-authority path: later coding agent, retained log read through conditional wiki access, contextual/advisory force, subsequent project sessions. This is retention before acceptance, not post-acceptance integration.
/memwiki-fold: Condense older entries inlog.mdinto a summarized paragraph to keep the file from becoming too long, while preserving crucial history. ---AGENTS.md
Claims
EPI-CLM-project-memory
Label: Persistent project memory
Claimed operation: persistent, compounding project knowledge across coding sessions. Distinct from RT-CLM-safe-update, which concerns file overwrite safety, not epistemic growth. SRC-1, README.md, AGENTS.md; doctrine/design. The metaphor is operationally interpreted as persistence and later reuse, not an assertion that the CLI itself contains model intelligence.
memwikigives your project a persistent brain. It leverages the fact that modern AI agents naturally read markdown files in your workspace, providing a standardized, vendor-agnostic memory system without requiring complex plugins or subscriptions. ---README.mdThis project uses MemWiki (inspired by the LLM Wiki pattern), a persistent compounding knowledge base for AI coding agents. ---
AGENTS.md
EPI-CLM-primary-truth
Label: Primary project truth
Claimed warrant/operation: protocol and hot cache receive primary-source priority; raw originals are called a source of truth. Distinct from RT-CLM-safe-update; closely associated with the reliance channel RT-BAP-host-protocol, but this record identifies its warrant language rather than another delivery path. SRC-1, CLAUDE.md, README.md; doctrine/design. Raw-file immutability does not independently validate content, and the protocol supplies no required claim-to-source citation.
Please read
AGENTS.mdand.memory/wiki/hot.mdas your primary source of truth for this project before answering any queries or making changes. ---CLAUDE.md
- How it works: When you drop a file like
stripe-api.pdfinto.raw/, you simply tell your agent: "Please process the new Stripe docs in the raw folder." The agent will read the PDF and synthesize the important architectural details into a clean markdown file inside thewiki/folder, leaving the original PDF untouched as a source of truth. ---README.md
EPI-CLM-health-fixes
Label: Wiki health fixes
Claimed operation: agent fixes stale information and missing context on lint. No supplied claim counterpart; RT-RTE-agent-commands already notes the stronger README wording. This is the distinct public claim compared against EPI-RTE-wiki-lint, not a duplicate command route. SRC-1, README.md, AGENTS.md; doctrine/design.
/memwiki-lint: The agent will perform a health check on the wiki, fixing outdated information or filling in missing context. ---README.md
Evidenced absences
EPI-ABS-acceptance-gate
Label: Explicit acceptance gate
- implementation conclusion status: absent
Searched boundary: SRC-1 at 8034a3da991ac2639b87875172a9572903ecf1d5, complete reads of src/index.ts, src/index.js, AGENTS.md, README.md and all three host hooks. Query/question: does any candidate assessment yield a recorded, evidence-consuming acceptance decision naming criterion, intended use and scope, consumed before reliance; or a mandatory rejection/withdrawal marker? Dispatch and write branches use command/path/existence predicates only. Protocol requests synthesis, reads, health proposals and condensation, with no acceptance record or mandatory validity gate. Strongest counterexample is lint, retained in EPI-RTE-wiki-lint: it proposes fixes, rather than deciding explicit acceptance or preventing stale reuse. The closest supplied records RT-RTE-agent-session and RT-RTE-agent-commands describe open model admission, not an acceptance record. This absence is a distinct assessment of those mechanisms, not a replacement route.
Conclusion: no explicit acceptance gate in these shipped paths; prevents promotion of retention/use to accepted knowledge or post-acceptance integration. It does not establish that external hosts never evaluate or that all wiki assertions are false. Load-bearing branches and requested command passages are supplied by RT-RTE-cli-init, RT-RTE-protocol-update, RT-RTE-agent-commands, and the lint/fold records above.
- Synthesize any raw knowledge from
.memory/.raw/into the wiki pages.- Never delete knowledge from the wiki. Only append or refine. ---
AGENTS.md