Continuity boundary
Type: agentic-system-analyses/types/agentic-system-boundary.md
Boundary and evidence
This run examines Continuity as a shipped desktop AI workspace, not just its standalone memory API. Its intended use is conversation-driven work with persistent personal and project context. The repository also ships a standalone MCP memory server, a plugin host and SDK, two plugins, and an organization memory HTTP server. These are included even where they run in separate processes. The target class is enclosing runtime: the desktop chat provider constructs model inputs, issues model calls, dispatches tools, feeds results into subsequent calls, and saves conversation output. Memory/knowledge/context engineering is a major responsibility within that runtime, not the entire target. The boundary kind is whole-system. These classifications follow SRC-1, app/layout.tsx, providers/chat-provider.tsx, server/index.ts, plugin-host/src/index.ts, plugins/continuity-threads-engagement/src/index.ts and org-server/src/app.ts.
The frozen evidence is repository https://github.com/uziiuzair/continuity at 4ca8f6b4108aa4494e3861ed33c8019dbd662c67. The acquired checkout's HEAD matched that revision and its tracked working tree was clean on inspection. Applicability is limited to that revision with analysis cutoff 2026-10-14, the supplied run date. No other repository, published package, live service, installed user data or revision is evidence. The overall tier is code-grounded: executable sources and shipped callers were traced, with documentation used as declared intent rather than proof of operation.
Classification anchors
The product declares its intended use in SRC-1, README.md:
A local-first AI workspace where chat is the write path and structure emerges from conversation. ---
README.md
The enclosing model loop is implemented in SRC-1, providers/chat-provider.tsx:
// Tool calling loop - keep calling until no more tool calls let currentMessages = [...aiMessages]; let finalContent = ""; let response; const MAX_TOOL_ITERATIONS = 10; // Safety limit ---
providers/chat-provider.tsx
The standalone memory service is not the sole shipped consumer. The same chat provider constructs each request using retained context (SRC-1, providers/chat-provider.tsx):
const parts = [ PERSONALITY_SYSTEM_PROMPT, ...(userProfilePrompt ? [userProfilePrompt] : []), ...(narrativePrompt ? [narrativePrompt] : []), ...(memoryContextPrompt ? [memoryContextPrompt] : []), WORKSPACE_AGENT_PROMPT, ---
providers/chat-provider.tsx
The shipped behavioral prompt directs model-mediated retention, rather than leaving all memory production to an unspecified host (SRC-1, lib/ai/workspace-agent-prompt.ts):
On each conversation: 1. Check your pre-loaded memories for relevant context 2. Use `recall` to search for specific memories if needed 3. Use `remember` to store important new information ---
lib/ai/workspace-agent-prompt.ts
The application also owns a model-dependent maintenance path (SRC-1, lib/ai/narrative-synthesis.ts):
const messages: ChatMessage[] = [ { role: "system", content: SYNTHESIS_SYSTEM_PROMPT }, { role: "user", content: userMessage }, ];
const response = await aiClient.chat(messages); ---
lib/ai/narrative-synthesis.ts
Functional inclusions and traced paths
- Conversation production and later reuse:
app/layout.tsxmountsChatProvider;providers/chat-provider.tsxreloads saved thread messages, builds a fresh system prompt, runs the bounded streaming/tool loop, dispatches built-in, MCP and plugin tools, and saves final messages throughlib/db/messages.ts. The same provider schedules a synthesis check after saved conversation activity. These are shipped driver responsibilities, not excluded external application behavior. SRC-1,app/layout.tsx,providers/chat-provider.tsx,lib/db/messages.ts. - Memory admission, persistence, retrieval and maintenance: in-app memory tools reach
lib/db/memories.ts, which writes versioned memories and archives rather than physically deleting through its forget path.lib/db/memory-db.tsopens and bootstraps the memory database.server/index.tsregisters memory, project, search, relationship, lifecycle and narrative/learning tool modules for external MCP callers.lib/ai/memory-tools.tsloads retained memories into the chat prompt.lib/ai/narrative-synthesis.tsgathers memories, unabsorbed learnings and a previous narrative, calls the configured AI client, saves a narrative and marks learnings absorbed.providers/memories-provider.tsxreads retained state for the UI and supplies launch/manual synthesis paths. Inclusion establishes ownership of these paths, not the correctness of every write or scheduling condition. SRC-1, those paths andserver/tools/narrative-tools.ts. - Other retained work and context: canvas/database tools and their persistence providers, journal entries and links, briefing projections, and Obsidian vault scanning/read/write are included. Vault scan callers reach
lib/vault/memory.ts; its retained index is later consumed bylib/ai/obsidian-tools.tsand the chat prompt builder. Deep research has its own model prompts and orchestration; the chat caller handles completion, canvas output and saved chat summary. SRC-1,components/settings/panels/VaultPanel.tsx,lib/vault/memory.ts,lib/ai/obsidian-tools.ts,lib/ai/research-engine.ts,providers/chat-provider.tsx,lib/db/journal.ts,lib/db/journal-links.ts,lib/services/briefing-service.ts. - Plugin and organization paths: the frontend manager spawns the plugin host and plugin processes; host handlers expose database access, prompt/tool registration, events, settings, MCP controls and UI registration. The SDK and both shipped plugins are included. Org Memory Sync subscribes to memory events, queues pushes, pulls server records through SDK database writes, and provides a search tool and prompt. The organization server supplies push, pull and search endpoints. Include both ends and the SDK default database routing when assessing whether they actually form the intended memory loop; do not assume integration from their names. SRC-1,
lib/plugins/manager.ts,plugin-host/src/handlers/db.ts,plugin-sdk/src/db.ts,plugins/continuity-org-memory-sync/src/index.ts,plugins/continuity-org-memory-sync/src/sync-engine.ts,org-server/src/app.ts. - Independent plugin model workflow and evaluators: Threads Engagement owns scheduled search, model relevance scoring, model reply drafting, a plugin-local database, a review UI and an approval endpoint that calls its Threads API wrapper. Its
AIEvaluatoris a production relevance/drafting component, not an experimental evaluation of Continuity memory quality. Organization-server tests include an injected-server push/pull/search round trip; their text is implementation evidence of a test definition, not an observed passing run or proof that the desktop sync integration works. SRC-1,plugins/continuity-threads-engagement/src/index.ts,plugins/continuity-threads-engagement/src/cron.ts,plugins/continuity-threads-engagement/src/ai-evaluator.ts,plugins/continuity-threads-engagement/src/ui-server.ts,org-server/tests/roundtrip.test.ts. - Shipped instructions: runtime prompts in
lib/ai/, plugin-injected prompts, and developer memory-bank maintenance instructions inCLAUDE.md/claude_docs/remain within the evidence boundary. The developer instructions describe a separate agent-assisted development procedure, not automatic in-app execution. Source documentation and progress claims require implementation corroboration before becoming claims about this frozen runtime. SRC-1,CLAUDE.md,claude_docs/ACTIVE_CONTEXT.md,lib/ai/workspace-agent-prompt.ts,plugins/continuity-org-memory-sync/src/index.ts.
Repository coverage
Every top-level tracked file or directory is accounted for below. All paths in the table refer to SRC-1. “Included” fixes functional scope; it does not claim exhaustive line-by-line inspection. Inspection is concentrated on entry points, state producers, admission/persistence, maintenance and later consumers. Available ancillary files not yet inspected are identified separately from unavailable evidence or deliberate exclusions.
| Top-level tracked path | Classification and role | Material paths / initial inspection and limits |
|---|---|---|
app/ |
Included: shipped frontend entry points | layout.tsx read; page.tsx, journal/page.tsx, memories/page.tsx traced to chat, journal provider and memory browser. Fonts and styling not yet inspected; no visual-quality conclusion. |
components/ |
Included: user-facing state producers and consumers | Traced layout/AppShell.tsx, memories/, journal/JournalPage.tsx, briefing/HomeBriefingView.tsx, settings/panels/VaultPanel.tsx; canvas, chat, connector and plugin presentation remain in scope. Initial inspection is not a complete UI or approval-policy audit. Icons, styling and incidental .DS_Store not inspected. |
lib/ |
Included: model, tool, persistence and integration logic | Read or searched ai/index.ts, ai/workspace-agent-prompt.ts, ai/memory-tools.ts, ai/narrative-synthesis.ts, ai/research-engine.ts, ai/obsidian-tools.ts, provider clients, web/plugin tools; db/memories.ts, db/memory-db.ts, db/messages.ts, journal/link modules, db-service.ts; vault/memory.ts, services/briefing-service.ts, mcp-auto-setup.ts, mcp/manager.ts, mcp/stdio-transport.ts, plugins/manager.ts. Remaining canvas, transport, schema, tool and CRUD details are available for later inspection, not access gaps. |
providers/ |
Included: shipped lifecycle, reload and model drivers | chat-provider.tsx prompt/model/persistence paths inspected; memories-provider.tsx, database-provider.tsx, journal-provider.tsx searched for reload, schema and maintenance paths. Other providers are mounted by the included layout; detailed authorization/subscription/UI behavior not yet inspected. |
server/ |
Included: standalone and desktop MCP memory service | index.ts, bin/cli.mjs, build.mjs, db/connection.ts, db/schema.ts, db/memories.ts, tools/ registration and narrative/learning surface traced. Other CRUD/search/lifecycle details and committed dist/server.mjs remain available; source-to-bundle equivalence has not been established. |
plugin-host/ |
Included: plugin bridge and database routing | src/index.ts, src/server.ts, src/db.ts, src/handlers/db.ts, src/handlers/chat.ts, src/handlers/events.ts searched/read. Other handlers and committed distribution remain in scope; full capability enforcement and bundle parity not yet assessed. |
plugin-sdk/ |
Included: actual plugin caller API | src/index.ts, src/db.ts inspected/searched; README API headings scanned. Other wrappers, client transport and committed dist/ are available; parity with source not yet established. |
plugins/ |
Included: both shipped plugin workflows | Org sync src/index.ts, src/sync-engine.ts read; Threads src/index.ts, src/ai-evaluator.ts, src/cron.ts read, src/db.ts, src/ui-server.ts searched through persistence and approval. Manifests, API wrappers and UI assets available for further inspection. Deliberately exclude the tracked Threads .db, .db-shm and .db-wal contents as uncontrolled historical user state; cannot infer observed activity or success from them. |
org-server/ |
Included: organization-memory storage and service | src/app.ts, route registration and push/pull/search implementations, src/index.ts, src/db.ts, README and tests/roundtrip.test.ts inspected/searched. Other tests, auth/config and deployment files remain available; no tests were run. |
src-tauri/ |
Included: desktop shell and packaging | src/lib.rs and tauri.conf.json read; native plugins and memory-server resource mapping identified. Capabilities, build/main entry, dependency locks and icons available but not yet inspected in detail; no packaged-platform or security certification. |
types/ |
Included: application data and API contracts | Tree identifies briefing, chart, database, index, journal, MCP, plugin, research and work-state contracts; detailed contents not yet inspected. No claim of contract/implementation consistency. |
public/ |
Included: MCP app rendering bridge | mcp-sandbox-proxy.html inspected; conveys guest/host UI messages. No browser execution or isolation guarantee established. |
README.md |
Included: product doctrine and reported status | Read completely; declared features and alpha claims do not establish observed operation. |
ARCHITECTURE.md |
Included: architecture doctrine | Read completely; implementation, not documented tool counts or directory descriptions, controls executable claims. |
CLAUDE.md |
Included: developer-agent behavior and memory maintenance instructions | Read completely; not adopted as instructions for this analysis and not treated as an in-app prompt. |
claude_docs/ |
Included: development context, design and reported progress | All seven files' headings/context-bearing passages scanned: ACTIVE_CONTEXT.md, LLM_WIKI.md, PRODUCT_CONTEXT.md, PROGRESS.md, PROJECT_BRIEF.md, SYSTEM_PATTERNS.md, TECH_CONTEXT.md. Full bodies not yet inspected; designs and code examples do not prove shipped execution. |
package.json |
Included: frontend development/build entry points and declared dependencies | Read; Tauri and Next scripts identified. Dependency declarations do not prove installed versions or a successful build. |
package-lock.json |
Included: dependency resolution metadata | Present in tracked tree, not yet inspected; no dependency-resolution audit. |
next.config.mjs |
Included: frontend build configuration | Present, not yet inspected; no independent static-export compatibility conclusion. |
postcss.config.mjs |
Included: styling build configuration | Present, not yet inspected; no styling-build conclusion. |
tsconfig.json |
Included: compile configuration | Present, not yet inspected; no type-check result. |
.mcp.json |
Included: shipped development MCP caller configuration | Read; points at server/index.ts through a developer-local absolute path. It does not establish deployment portability or a live external-client run. |
.env |
Excluded deliberately: local environment values | Contents not inspected; prevents conclusions about that local configuration, secrets or configured service availability. Does not remove source-defined provider calls from scope. |
.github/ |
Excluded deliberately: FUNDING.yml project funding metadata |
Tracked tree inspected; no funding-program conclusion. No tracked CI workflow identified in this directory. |
.vscode/ |
Excluded deliberately: settings.json editor configuration |
No editor-specific behavior or development ergonomics conclusion. |
.gitignore |
Excluded deliberately: repository ignore policy | No ignore-policy or secret-hygiene audit. |
.DS_Store |
Excluded deliberately: OS directory metadata | No Finder/user-machine history conclusion. |
tsconfig.tsbuildinfo |
Excluded deliberately: incremental compiler cache | No inference of a successful current build from cached state. |
CODE_OF_CONDUCT.md |
Excluded deliberately: community policy | No community-governance conclusion. |
CONTRIBUTING.md |
Excluded deliberately: contributor procedure | No contributor-workflow compliance conclusion; executable build paths are included separately. |
LICENSE |
Excluded deliberately: legal terms | No licensing/legal assessment. |
External dependencies and evidence limits
The implementation delegates model generation to configured OpenAI or Anthropic clients, search to configured web/search providers including Tavily and Perplexity, and host operations to Tauri plugins and SQLite implementations. Threads Engagement additionally relies on the Threads API. External MCP servers, third-party plugins, installed external MCP clients such as Claude Code/Cursor, actual Obsidian vault files and deployment infrastructure are outside this repository evidence. Their integration code is included; their implementations, data and operation are not. Consequently this run cannot establish provider quality, external-tool policy, external-client prompt/reload behavior, successful cross-client use, external vault content correctness or live deployment reliability. SRC-1, lib/ai/index.ts, lib/ai/openai.ts, lib/ai/anthropic.ts, lib/ai/perplexity.ts, lib/ai/web-tools.ts, lib/mcp/stdio-transport.ts, lib/mcp-auto-setup.ts, plugins/continuity-threads-engagement/src/index.ts, src-tauri/src/lib.rs, server/db/connection.ts.
There is no unavailable repository source identified at this boundary. Files available but not inspected remain distinguishable from access gaps in the coverage table. No target code, tests, examples, model providers or services were executed. No supplied execution trace or controlled experiment is registered. Test definitions and source-native status claims therefore cannot establish an observed passing run, end-to-end integration success, memory usefulness, calibrated confidence, comparative performance or causal improvement. The boundary is complete as a source-defined functional scope; it is not a completed audit of every included path.
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/uziiuzair/continuity |
4ca8f6b4108aa4494e3861ed33c8019dbd662c67 | implementation; doctrine/design; reported operation | Access root: /home/zby/llm/commonplace/.commonplace/worktrees/continuity-3e490e1d39f0/related-systems/uziiuzair--continuity. Implementation: tracked tree, frontend/layout and chat driver, shared memory writes/reloads, memory/narrative prompts and synthesis, MCP server registrations/database, vault index/callers, research caller, plugin host/SDK routing, both plugin entry points and state workflows, organization-server route entry points and roundtrip test definition, Tauri initialization/configuration. Doctrine/design: complete README.md, ARCHITECTURE.md, CLAUDE.md; scoped searches in claude_docs/ and subsystem READMEs. Reported operation: README status/features and development-context status passages, attributed only. |
Implementation: desktop driver, memory persistence, maintenance, MCP entry, sync caller, Threads driver, org service. Doctrine/design: workspace prompt, developer instructions, architecture. Reported operation: README status, development context. | No identified repository access gap. External dependencies and deployed/client behavior are not frozen; no observed-run or causal-experiment layer. Prevents live-operation, integration-success, effectiveness and causal conclusions. Uninspected available files and deliberate exclusions are recorded above; committed bundle parity is unverified. |