42 lines
2.5 KiB
Markdown
42 lines
2.5 KiB
Markdown
---
|
|
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.
|