Glossary
Alphabetical. One-line definition plus a pointer to the detailed page.
auto mode — A permission mode: when no rule matches, a classifier decides run / ask / block. Adds one model call per tool invocation (~3s plus a little cost). There's no /auto command; you reach it via Shift+Tab or /cycle-mode. → Permissions
compaction — Compressing history into a summary as the context approaches the window limit. The threshold is configurable, and /compact triggers it manually. → Steering / rewind / compact
dangerous-key stripping — About 20 keys are removed from the project layer of configuration, because project config may come from an untrusted repository. Each key is on the list for a specific reason, not as a blanket rule. → Settings reference
dream — Background consolidation of memory: scattered entries are folded into more general ones. The bar is deliberately high (≥24h since the last run and ≥5 new sessions) because it calls a model and running it often freezes not-yet-stable observations into "conclusions". → Memory
flag (experimental switch) — An experimental mechanism gated by the DEEPCODE_FLAGS environment variable, all off by default. It exists so that A/B arms run the same code with the variable as the only difference. → CLI reference
global drawer — The cross-project memory layer (~/.deepcode/memory/). maxBytes is an injection budget, not a storage cap — over budget it degrades to an index listing. → Memory
headless — Non-interactive mode: deepcode -p "<task>" or piped stdin; runs once and exits. Built for scripts and CI. → Headless / CI
hook — A lifecycle hook that runs a command or HTTP request on specific events (session start, before commit, subagent stop, …). → Hooks
MCP — Model Context Protocol; connects external tool servers over stdio. /mcp lists what's connected. → MCP
memory vs instruction file — DEEPCODE.md holds the rules you wrote: injected in full every time, high priority. Memory holds what it observed itself: possibly stale, possibly wrong. Found a bad memory? Edit that .md. → Memory
pass^N — A task counts as passed only if all N seeds succeed. It measures reliability — a model that passes once and fails twice looks fine under pass@1. → Benchmarks
pipeline / parallel — The two orchestration primitives in workflows. pipeline runs each item through all stages independently with no barrier between stages; parallel is a barrier — nothing proceeds until the slowest finishes. pipeline is the default choice. → Workflows
plan mode — A read-only permission mode; every non-read-only tool is refused. Leaving it restores the mode you were in, not default. → Permissions
read-only short-circuit — Tools declaring isReadOnly are short-circuited to allowed by the permission chain, but deny rules still take precedence. → Permissions
request trace — --trace <dir> dumps every request sent to the model verbatim. stream-json shows what the model said; a request trace shows what we said (system prompt, injected reminders, post-compaction history, hook output). ⚠️ Contains the full context, possibly secrets. → CLI reference
stream-json — An output format: one JSON line per event on stdout with tool arguments and results untruncated, ready for jq. → Headless / CI
subagent — A one-shot, context-isolated unit of work. It cannot see the current conversation, so its prompt must be self-contained. → Subagents
verification subagent — A subagent whose job is to try to break an implementation, and which holds exclusive authority over the verdict — the main agent may not self-assess a pass. Flag-gated, off by default. → Subagents
workflow — Orchestrating multiple subagents with deterministic JavaScript. Date.now() and Math.random() are removed inside the sandbox, because resume depends on "same script + same args = same call sequence". → Workflows
worktree isolation — Giving a subagent a temporary git worktree (an isolated copy of the repo). Useful when several subagents edit the same repo in parallel; cleaned up automatically if nothing changed. → Subagents