--- status: done claimed-by: "019fba91-eabf-76ae-b086-a37ac061d6e8" claimed-at: "2026-07-31T21:38:17-04:00" completed-at: "2026-07-31T21:46:58-04:00" parent: "[[002-pi-subagents-map]]" blocked-by: - "[[020-pi-subagents-pi-runtime-research]]" tags: - ticket/grill --- # Subagent context modes ## Question What exact context modes should the extension support for child agents, including active-branch forked work, fully independent work, parent-summary seeding, persistent sessions, and adversarial review isolation? ## Decisions - Version one supports only first-class `fork` and `independent` context modes. - Persistent child lifetimes are intentionally out of version one. - Summary-seeded context is not a first-class version-one mode. - `fork` uses the full active-branch transcript snapshot, not a summarized or tool-output-stripped transform. - `fork` adds a small wrapper that defines the delegated role, context boundary, and expected return shape. - User-facing wording should avoid "child agent". Prefer "delegated agent", "subagent", or "worker" depending on context. - `independent` receives the task prompt, selected agent definition, and normal trusted project context such as `AGENTS.md`. - `independent` receives no parent transcript and no generated parent summary by default. - Spawn requests may include explicit attachments or snippets for `independent` runs. - Context mode precedence is layered: global extension default, then agent definition default, then explicit spawn override. - Agent definitions may optionally constrain allowed context modes when an agent should never receive parent conversation context. - The version-one global default context mode is `independent`. - Parent conversation context is opt-in through `fork`, not inherited by default. - `fork` does not require special user confirmation in version one. - Confirmation is reserved for risky capabilities such as write tools, shell access, project extension inheritance, external directories, or higher-cost model selection. - `fork` copies the active branch as-is and lets child Pi handle any normal compaction. - Version one should not preflight context size into refusal or hidden summarization. - The parent receives the final textual result plus compact metadata by default. - Compact metadata includes agent name, context mode, elapsed time, stop reason, and child status/session id. - The default result should not copy selected evidence snippets or the child transcript into the parent context.