Amanuensis

Reference

Onboarding record

Review the repository boundary, runtime inventory, and initial decomposition that established this conspectus.

Branch  main Checked  adc4ce04aa57 As of  2026-08-29 04:56:43 No recorded stale entries

Codebase: Amanuensis Date: 2026-08-12 Onboarding session: mspky4v5-2wuk50if

§Epistemic status

This report is an onboarding map at repository revision b8b566f, not a completed subsystem survey. Observations cite code or repository contracts. Subsystem behavior and correctness remain unverified until the corresponding subsystem reaches the required survey phase.

§Repository shape

repository shape
DimensionObserved valueConfidence
Primary language(s)TypeScript/JavaScript and PythonCode verified
Secondary language(s)SQL, Markdown, YAML/JSONCode verified
Build system(s)npm/TypeScript; Python standard library with Ruff for lintConfig asserted
Code generation present?YesCode verified
Generated file patternsmcp-server/dist/**; package mirrors of agents/** and materializer/**; generated ROADMAP.mdCode verified
Monorepo or single service?One product with server, materializer, prompt/agent, and delivery surfacesDocs asserted
Deployable unit countTwo executables: amanuensis-memory and installer CLI; Python materializer is invoked as a subprocessCode verified
Canonical branchmainConfig asserted
Branch conventioncodex/ for this implementation lane; historical feat/ and docs/ branches existConfig asserted
Onboarding SHAb8b566fgit-observed

§Directory cluster map

repository shape
ClusterApparent roleLanguageConfidenceNotes
.claude/skills/amanuensis/Canonical survey methodology and phase referencesMarkdownHighSource for skill-driven operation. .claude/skills/amanuensis/SKILL.md@b8b566f.
agents/VS Code custom-agent bundle and public referencesMarkdownHighPackage source copied by prepack. mcp-server/scripts/prepack-bundle-assets.mjs@b8b566f.
mcp-server/src/MCP bootstrap, persistence, invariants, CLI, and tool handlersTypeScript/SQLHighOne stdio server registers 75 tools. mcp-server/src/index.ts:main@b8b566f.
mcp-server/test-*.mjs and scripts/Contract, adversarial, integration, performance, and generation gatesJavaScriptHighCI enumerates the authoritative gate set. .github/workflows/test.yml@b8b566f.
materializer/Read-only projection of DB/prose state into linked MarkdownPythonHighUses per-page source hashes and a manifest. materializer/amanuensis_materializer/core.py:Materializer@b8b566f.
dev/, root docs, .github/Product direction, research/design notes, contribution and delivery contractsMarkdown/JSON/JS/YAMLHighROADMAP.md is generated from dev/roadmap.json. dev/render-roadmap.mjs@b8b566f.

§Runtime boundary map

6 recorded runtime boundariesRuntime → communication mechanism → recorded target
Runtime boundary map6 recorded runtime boundaries; each row connects a runtime or process to its recorded target through the stated mechanism.Runtime or processMechanismCommunicates withHost agent runtimeexternalMCP serverstdio MCPamanuensis-memoryNode/TypeScripthost, SQLite, git, PythonMCP stdio, native SQLite binding,subprocessSQLite memory.dbSQLMCP server and materializerWAL; one writer API, read-onlymaterializer connectionGit storage historygit subprocessstorage directorysynchronous child processPython materializerPythonSQLite and prose storagechild process and filesystemInstaller CLINode/TypeScriptworkspace filesfilesystem/config merge

Host agent runtime

external

Communicates withMCP server

Mechanismstdio MCP

Recorded noteStarts the server with a workspace path. .mcp.json@b8b566f.

amanuensis-memory

Node/TypeScript

Communicates withhost, SQLite, git, Python

MechanismMCP stdio, native SQLite binding, subprocess

Recorded noteOwns validation and durable records. mcp-server/src/index.ts:main@b8b566f.

SQLite memory.db

SQL

Communicates withMCP server and materializer

MechanismWAL; one writer API, read-only materializer connection

Recorded noteSchema initializes and migrates on open. mcp-server/src/db.ts:openDatabase@b8b566f.

Git storage history

git subprocess

Communicates withstorage directory

Mechanismsynchronous child process

Recorded noteCommits DB/prose state at gates. mcp-server/src/storage-git.ts:commitStorage@b8b566f.

Python materializer

Python

Communicates withSQLite and prose storage

Mechanismchild process and filesystem

Recorded noteEmits docs and .manifest.json. materializer/amanuensis_materializer/core.py:Materializer.materialize@b8b566f.

Installer CLI

Node/TypeScript

Communicates withworkspace files

Mechanismfilesystem/config merge

Recorded noteWrites agents and VS Code MCP config. mcp-server/src/cli.ts:plan@b8b566f.

§Significant stateful entities

significant stateful entities
NameWhat it storesLifetimePopulated byInvalidated by
memory.db + WALLocation: ~/.amanuensis/workspaces/<owner>/<repo>/Survey entities, evidence, findings, sessions, queries, locks, seamsCross-sessionMCP tool handlersExplicit reset/status/validity operations; schema has no general claim-time model yet
ServerContext.sessionIdLocation: mcp-server/src/index.tsActive writer sessionServer processstart_sessionend_session or process exit
Storage git repositoryLocation: project storage directoryCheckpoint history of non-ignored storage filesCross-sessioncommit_phase_gate, end_sessionGit history only; rollback is external
File ledger and git baselineLocation: SQLite tablesFile-to-subsystem assignment and checked revisionCross-sessionscope and git toolsreset/change detection
Materializer manifestLocation: rendered docs directoryPer-page source/content hashesCross-rendermaterializersource/version/content difference or page retirement
Write locks and dispatch rowsLocation: SQLite tablesAdvisory coordination and fan-out historyCross-processlock/dispatch toolsrelease/expiry and completion calls

§Concern calibration

concern calibration
TerritoryVerdictDerived concerns / disqualifier
T1 scope-context identityapplicableSI-1, SI-2
T2 cache coherenceapplicable by analogy to derived-state manifests and git baselinesCC-1
T3 temporal boundsapplicableTB-1
T4 exceptional-path asymmetryapplicableEP-1, EP-2
T5 aliasing/ownershipnot seededMCP values cross serialization boundaries and no shared returned mutable object was established during onboarding; revisit if B-02/B-03 finds one
T6 incremental/full divergenceapplicableIF-1
T7 atomicityapplicableAT-1, AT-2
T8 concurrency racesapplicableCR-1
T9 resource lifecycleapplicableRL-1, RL-2
T10 trust boundaryapplicableTR-1, TR-2
T11 seam contractsapplicableSC-1, SC-2

The calibrated checklist is in concern-checklist.md; the SQLite concern rows are authoritative for later disposition coverage.

§Draft master plan

Five subsystems were registered. B-02 and B-03 share priority 1 because all durable authority flows through their schema/invariant and handler seam. B-04 and B-01 share priority 2; delivery and documentation are B-05 at priority 3. See master-plan.md.

§Questions for the human

§Tier 1 — Blockers

  1. Should “fully surveyed” include every tracked test, generated file, prompt, and product document? Working assumption: yes, with explicit exclusions only.

§Tier 2 — Priority shapers

  1. Should the installer support Codex MCP registration alongside VS Code? Working assumption: record the gap in B-05; do not expand A0 installer scope.

§Tier 3 — Context

  1. Should phase checkpoints version live SQLite contents? Working assumption: yes; AT-2 remains active because WAL-backed mutations produced no storage commit during onboarding.