EchoWiki boundary
Type: agentic-system-analyses/types/agentic-system-boundary.md
Boundary and evidence
This run analyses EchoWiki as a model-dependent knowledge-compilation system, not merely its compiler API. Its intended use is turning text notes and voice transcripts into a persistent, linked Markdown wiki for Obsidian. The boundary includes the shipped Obsidian plugin, optional CLI, shared compiler, storage adapters, prompts, editable instruction template, index/log maintenance and later reuse of existing wiki pages. The plugin is a shipped caller with ingestion, admission and persistence responsibilities; it is not an excluded enclosing application (SRC-1: README.md, obsidian-plugin/src/main.ts, src/cli/compile.ts, src/compiler-api.ts).
The target class is memory/knowledge/context-engineering system. The boundary kind is whole-system: all material shipped paths for producing, admitting, maintaining and consuming its retained state were traced. This describes source coverage, not proof that all intended capabilities work. The compiler issues model calls and consumes retained concept/entity descriptions and selected existing page bodies during later compilation. Browsing the resulting index and links is delegated to Obsidian rather than a shipped query/chat agent (SRC-1: src/wiki/compiler.ts, src/wiki/briefs.ts, src/wiki/prompts.ts, README.md).
Minimum classification evidence:
const { text } = await generateText({ model, messages }); ---
src/llm/client.tsconst conceptBriefs = await readConceptBriefs(storage); const entityBriefs = await readEntityBriefs(storage); ---
src/wiki/compiler.tsCurrent content of this page: {existing_content}
New information from document "{doc_name}" (summarized above) should be integrated into this page. Rewrite the full page incorporating the new information naturally — do not just append. Preserve the existing structure and intent of the page. ---
src/wiki/prompts.ts
The entry-point trace is plugin src/main.ts → src/compiler-client.ts → shared src/compiler-api.ts → src/wiki/compiler.ts, with src/vault-storage.ts persisting wiki pages through the Obsidian API. The CLI src/cli/compile.ts calls the same API with src/storage/node-storage.ts. Within the compiler, briefs.ts reloads prior page descriptions, update tasks read prior bodies, page-writer.ts writes pages and backlinks, and index-writer.ts updates the catalog and operations log. Watcher events, the pending approval queue, note copying and voice transcription are included at the plugin layer (SRC-1: obsidian-plugin/src/main.ts, obsidian-plugin/src/compiler-client.ts, obsidian-plugin/src/vault-storage.ts, obsidian-plugin/src/raw-watcher.ts, obsidian-plugin/src/approval-modal.ts, obsidian-plugin/src/voice-modal.ts, obsidian-plugin/src/stt-client.ts, src/cli/compile.ts, src/compiler-api.ts, src/wiki/compiler.ts, src/wiki/briefs.ts, src/wiki/page-writer.ts, src/wiki/index-writer.ts).
Instruction-driven maintenance is included rather than inferred solely from the API. The supplied templates/wiki/AGENTS.md is an optional user-installed runtime instruction file; the compiler loads a stored AGENTS.md or its code fallback. These instructions express conventions, not verified enforcement of every requested behavior (SRC-1: README.md, templates/wiki/AGENTS.md, src/wiki/schema.ts, src/wiki/compiler.ts).
export async function getAgentsMd(storage: WikiStorage): Promise
{ const content = await storage.readText('AGENTS.md'); return content ?? DEFAULT_AGENTS_MD; } --- src/wiki/schema.ts
The frozen evidence is the repository at 11446997423e88177dba62d6a3d5c1e8b4886c62, with applicability cutoff 2026-10-14. HEAD matched the acquisition pin and the checkout status was clean on inspection. The evidence tier is code-grounded. Repository documentation supplies attributed intent; executable source determines which paths are shipped. In particular, the .ai/ plans describe Mastra while the current client imports the Vercel AI SDK. These plans are not evidence that Mastra executes this revision (SRC-1: .ai/02-TECH-SPEC.md, CLAUDE.md, src/llm/client.ts, package.json).
Tracked-root coverage
Every top-level tracked entry is classified below. “Included” covers its responsibility in this target; it does not mean every byte of packaging metadata was read. Unless indicated otherwise, the listed material source files were read completely. All rows refer to SRC-1.
| Top-level entry | Classification and inspection | Role / material paths | Conclusion prevented by exclusion or incomplete inspection |
|---|---|---|---|
.ai/ |
Included; all three documents inspected | 01-PRD.md, 02-TECH-SPEC.md, 03-TASKS.md: product intent, architecture plans, maintenance and manual-test tasks |
Plans and unchecked tasks do not establish completed implementation or observed results. |
.env.example |
Included configuration surface; not yet inspected | CLI environment example; actual configuration traced in src/config.ts and src/compiler-api.ts, with variable descriptions in README.md |
No claim about exact example-file defaults or completeness. No material execution path remains untraced. |
.github/ |
Included; inspected | workflows/release.yml: dependency installation, plugin build and release packaging |
No release execution evidence; cannot establish that a published bundle matches this checkout. |
.gitignore |
Included; inspected | Excludes personal raw/, wiki/, Obsidian data and build output from version control |
Does not establish that users' local data are absent elsewhere or secure. |
.nvmrc |
Included packaging metadata; not yet inspected | Node version selection for release workflow; CLI engine requirement also declared in package.json |
No exact .nvmrc value claimed. |
CLAUDE.md |
Included; inspected | Developer instructions, architectural intent and maintenance constraints | Instructions alone do not establish runtime compliance. |
LICENSE |
Excluded deliberately; not inspected | Legal terms, not the state-production/consumption loop | No licensing assessment. |
README.md |
Included; inspected | Installation, shipped commands, wiki browsing, optional instruction installation, manual test checklist | Checklist is not a recorded test run. |
manifest.json |
Included packaging metadata; not yet inspected | Root release manifest used by .github/workflows/release.yml |
No exact manifest/version compatibility claim. |
obsidian-plugin/ |
Included; material paths inspected | All src/ files: main.ts, raw-watcher.ts, approval-modal.ts, voice-modal.ts, stt-client.ts, compiler-client.ts, vault-storage.ts, settings.ts, settings-tab.ts, utils.ts. esbuild.config.mjs and package.json inspected for bundling and the shared compiler alias. manifest.json, styles.css, tsconfig.json, package-lock.json not yet inspected |
Full shipped integration is included, including persisted/reloaded approval state and connection-test buttons. No CSS, exact manifest, exhaustive dependency or compiler-configuration assessment. |
package-lock.json |
Included dependency metadata; not yet inspected | Root dependency lock | No exhaustive transitive dependency, vulnerability or reproducible-install conclusion. |
package.json |
Included; inspected | CLI and plugin scripts, AI SDK dependencies, placeholder test script | No automated test result. |
src/ |
Included; material paths inspected | compiler-api.ts, cli/compile.ts, config.ts, llm/client.ts, storage/node-storage.ts; wiki/compiler.ts, briefs.ts, schema.ts, prompts.ts, llm.ts, page-writer.ts, index-writer.ts, frontmatter.ts, wikilink.ts, tools.ts. storage/types.ts and utils.ts inspected for the storage contract and document-name extraction |
Includes source admission through callers, generation, writes, later reads, metadata/link maintenance and standalone file utilities. No material loop path withheld. |
templates/ |
Included; inspected | wiki/AGENTS.md: user-editable compilation and maintenance instruction seed |
Requested conflict handling and OKF conventions are doctrine, not proof of enforcement. |
tsconfig.json |
Included build metadata; not yet inspected | Root TypeScript configuration | No type-check success or exact compiler-setting claim. |
versions.json |
Included release metadata; not yet inspected | Plugin compatibility/version map | No published version compatibility conclusion. |
Functional exclusions and evidence limits
- External host and providers: Obsidian's editor, graph renderer, vault implementation, device microphone/browser APIs, the installed AI SDK internals and remote LLM/STT services are dependencies, not additional frozen sources. Included adapters show how EchoWiki uses them. Their exclusion prevents conclusions about host durability, graph rendering correctness, provider reliability, model quality and device support from observed operation (SRC-1:
obsidian-plugin/src/main.ts,obsidian-plugin/src/vault-storage.ts,obsidian-plugin/src/voice-modal.ts,obsidian-plugin/src/stt-client.ts,src/llm/client.ts,obsidian-plugin/esbuild.config.mjs). - Private runtime state: No user vault, audio sample, generated wiki, persisted settings file or actual pending queue is supplied.
raw/,wiki/and.obsidian/are deliberately ignored by the source repository. This is unavailable operational evidence, not an exclusion of the code that creates, reloads or consumes those files. It prevents measuring knowledge accumulation, human edits, queue recovery or real compilation outcomes (SRC-1:.gitignore,obsidian-plugin/src/main.ts,src/wiki/compiler.ts). - Evaluators and maintenance breadth: The source tree, package scripts and searches of
src/and pluginsrc/expose connection probes and documented manual checks, not an implemented knowledge-quality evaluator or recorded experiment. Rootpackage.jsondeclares a placeholder test command. The.ai/03-TASKS.mdlint task remains a declared task; schema mentions of reports are not a shipped health-report producer. This prevents claims of measured wiki quality, OKF conformance, regression coverage or causal improvement. Connection probes themselves remain included in the boundary (SRC-1:package.json,README.md,.ai/03-TASKS.md,src/wiki/schema.ts,src/llm/client.ts,obsidian-plugin/src/stt-client.ts,obsidian-plugin/src/settings-tab.ts). - Query and long-document surfaces:
src/wiki/tools.tscontains file/page/image helpers, but the inspected CLI and plugin compiler paths do not wire them to a query/chat agent. The tree and caller search establish the shipped compilation loop as the target, not a separately assumed query runtime. Plans name query/chat, Skill Factory, extra formats and long-document indexing as future scope. Their mention does not justify attributing an implemented consumer or evaluator to EchoWiki; no upstream repository was inspected (SRC-1:src/wiki/tools.ts,src/compiler-api.ts,src/wiki/compiler.ts,src/cli/compile.ts,obsidian-plugin/src/main.ts,.ai/01-PRD.md,.ai/03-TASKS.md).
"test": "echo \"Error: no test specified\" && exit 1", ---
package.json
No target code, tests, examples, provider calls or connection probes were executed. Absence of run evidence limits performance, reliability and outcome conclusions; it does not make the source boundary partial.
Source register
| Source ID | Kind | Identity/location | Revision or capture | Evidence layer | Inspected scope | Citation anchors | Access gaps and conclusion prevented |
|---|---|---|---|---|---|---|---|
| SRC-1 | git | https://github.com/mohammadmaso/echowiki |
11446997423e88177dba62d6a3d5c1e8b4886c62 | implementation; doctrine/design | Access root: /home/zby/llm/commonplace/.commonplace/worktrees/echowiki-8d428f79523e/related-systems/mohammadmaso--echowiki. Implementation: tracked tree; shipped CLI/API/compiler, model client, storage, prompts, page/index/log maintenance, all plugin src/ files, build/release paths and package scripts listed in the coverage table. Doctrine/design: README.md, CLAUDE.md, all .ai/ documents, templates/wiki/AGENTS.md and the fallback schema. |
Implementation: compiler, plugin driver, CLI, retained-page reads, writers. Doctrine/design: README, editable instructions, technical plan. | No source-access gap in material shipped paths. Packaging files not yet fully inspected are distinguished in the table. No private vault or execution trace, external dependency source or causal experiment supplied: cannot establish real outcomes, service behavior, measured quality or causal benefit. Doctrine/design supports intent only, including plans that differ from this implementation. |