diff --git a/docs/concepts/system-prompt.md b/docs/concepts/system-prompt.md index acb2bf8b5f..2a4adba532 100644 --- a/docs/concepts/system-prompt.md +++ b/docs/concepts/system-prompt.md @@ -59,11 +59,24 @@ Bootstrap files are trimmed and appended under **Project Context** so the model - `USER.md` - `HEARTBEAT.md` - `BOOTSTRAP.md` (only on brand-new workspaces) +- `MEMORY.md` (when present in the workspace) + +All of these files are **injected into the context window** on every turn, which +means they consume tokens. Keep them concise — especially `MEMORY.md`, which can +grow over time and lead to unexpectedly high context usage and more frequent +compaction. + +> **Note:** `memory/*.md` daily files are **not** injected automatically. They +> are accessed on demand via the `memory_search` and `memory_get` tools, so they +> do not count against the context window unless the model explicitly reads them. Large files are truncated with a marker. The max per-file size is controlled by `agents.defaults.bootstrapMaxChars` (default: 20000). Missing files inject a short missing-file marker. +Sub-agent sessions only inject `AGENTS.md` and `TOOLS.md` (other bootstrap files +are filtered out to keep the sub-agent context small). + Internal hooks can intercept this step via `agent:bootstrap` to mutate or replace the injected bootstrap files (for example swapping `SOUL.md` for an alternate persona).