acp-runtime
AgentThe ACP runtime is the domain service that serves the ACP API contract. It owns the host-scoped dependencies needed to run…
- `packages/core/src/runtimes/workspace-registry/` (creation pipeline, lifecycle steps, activation) - `packages/core/src/runtimes/scripts/` (lifecycle script execution) - `packages/core/src/runtimes/host-settings/` (per-host defaults) - `src/core/features/workspaces/` (desktop
the base ref is fetched only when it is not locally resolvable
removal, update, step retry, usage, artifact cleaning) declare `callTimeoutMs: 0` in the contract, so desktop, automation, and workspace-server callers wait for the result instead of timing out after 30s; a lost connection still fails the call
result, no second git pipeline); completed and interrupted creations replay as before
path or branch, `inspect` runs `git worktree prune`; locked registrations are kept, and working-tree files are never deleted (removing by path could hit a concurrent recreation)
starting point, not the branch's upstream
worktree as a durable background step, using copy-on-write (`cp -c` on APFS, `--reflink=auto` on Linux) with a plain-copy fallback; nothing is copied without configured patterns
automatically — projects that relied on it must add `preservePatterns` (behavior change in workspace-lifecycle-v2; `excludePatterns` was removed at the same time and stale keys are silently ignored)
a successful push establishes that remote's same-named branch as upstream
as a "branch not pushed" task state with a manual retry
concurrent callers and cached for 5 minutes; a workspace nested inside another one measured in the same request counts only in its own row; closing the view cancels walks still running
`.emdash.json` stores optional shareable project settings. Supported runtime keys:
field was retired)
Base project settings are DB-backed Project Settings, not runtime `.emdash.json` keys:
Host-local project settings are stored by the workspace registry and are not written to `.emdash.json`:
processes; Emdash-owned `EMDASH_*` task metadata takes precedence)
Host-level defaults (`shellSetup`, `worktreeRoot`, `tmux`) live in the host-settings runtime (`packages/core/src/runtimes/host-settings/`), stored as a JSON file in the host's emdash data directory and editable from the machines/system settings UI. Precedence is per-project DB override, then host settings, then app defaults.
conversations, setup scripts, or run scripts start; keep it idempotent
settle before running, since they may consume preserved files
not block task readiness
(`packages/core/src/runtimes/scripts/`) on the host: PTY-backed, one run per (workspace, script), with provenance (`activation`/`manual`/`retry`), per-run timeouts, and a stop verb; the workspace registry observes runs and mirrors them into durable lifecycle steps for the Activity timeline
every launch path; exports performed by one lifecycle shell do not mutate sibling or later processes
`.emdash.json` value overrides the host-settings default. Lifecycle commands and `shellSetup` are opaque strings run together in the default shell selected by the host-owned runtime at execution time; repository authors own their portability.
and affects PTY lifecycle behavior. It is always disabled for local Windows sessions without deleting the stored preference.
Emdash is the Open-Source Agentic Development Environment (🧡 YC W26). Run multiple coding agents in parallel. Use any provider.
The ACP runtime is the domain service that serves the ACP API contract. It owns the host-scoped dependencies needed to run…
This page defines the target organization of `packages/core/src/`. Core is organized by module type so that shared domain APIs…
Git is split into a transport contract and a host-scoped runtime. Renderer, desktop, and workspace-server code share the Wire…
The main process is organized into domain modules under `src/main/core/`. Each domain typically has a `controller.ts` (RPC…
`@emdash/core/primitives/path/api` is the source of truth for portable file identity and lexical path operations. The detailed…
Validates project structure against co-location and architecture patterns defined in AGENTS.md
Deprecated placeholder. Do not use; follow root AGENTS.md and package instructions instead.
Use this agent when you need to create or update technical documentation that helps developers understand the deep patterns,…
Orchestration patterns learned from experience. Review at startup and before heartbeat responses.