This map was reviewed against local working-tree source, including uncommitted changes, on October 3, 2026. Package scripts and the installation defects below describe that inspected working tree and can differ from the committed revision. Separate manifests identify ownership; some packages still depend on the root Python project or host runtime bindings. Their presence does not establish independently deployable services.
Project map
The root JavaScript workspace lists
app/api and app/web/frontend. The Obsidian memory layer has its own manifest outside those two workspaces.
Request paths
The checked Vite development configuration forwards/api and /health to http://localhost:8000 without rewriting either prefix. That destination is FastAPI.
/api/mtls/status, /api/mtls/clients, and /api/mtls/handshakes from FastAPI. Express authentication and rate limits apply to its own mounted routes. Production routing must be configured and verified separately.
MCP package boundaries
There are six domain adapter packages, plus a separate Kernel prototype:common is a quarantined support package, not another server. A separate artemis-governance package was not present in the inspected tree.
Memory, routing, and task adapters require authenticated host integration. See the memory MCP guide for its current fail-closed startup boundary. The Kernel prototype and Agent Studio JSON stores are not substitutes for the governed task service or canonical PostgreSQL memory ledger.
The intended consolidation direction is individual interfaces backed by shared domain services, storage, and validation. Treat completion of that migration as a separate implementation milestone.
Manifests and commands
The root JavaScript manifest requires Node 24 or newer. The frontend’s current scripts also invoke Yarn. Check the selected checkout’s manifests and lockfiles before installing; package-manager requirements differ between components. The root commands delegate as follows:
These commands do not start the entire platform. Python and MCP packages have their own dependency and runtime requirements. Each MCP package owns a
pyproject.toml; the memory adapter still depends on the root artemis-city project.
The October 3 local review found an invalid root Python manifest and missing npm lockfiles referenced by the install workflow. Installation and startup were not verified in this documentation review. Resolve those checkout defects before treating the command map as a successful setup recipe.
Configuration ownership
The root.env supplies local operator values. config/environment-contract.yaml defines generated service views, and setup_secrets.sh synchronizes them. See Secrets and environment setup.
Use Environments for policy selection and the distinction between CI checks, branch promotion, and application deployment.