41 lines
2.2 KiB
Markdown
41 lines
2.2 KiB
Markdown
---
|
|
status: resolved
|
|
claimed-by: "019fba91-eabf-76ae-b086-a37ac061d6e8"
|
|
claimed-at: "2026-08-01T13:40:33-04:00"
|
|
completed-at: "2026-08-01T13:55:13-04:00"
|
|
parent: "[[027-pi-subagents-implementation-spec-task]]"
|
|
blocked-by: []
|
|
tags:
|
|
- ticket/task/afk
|
|
---
|
|
|
|
# Create the minimal subagent extension tracer bullet
|
|
|
|
## Question
|
|
|
|
Build a loadable neutral Pi extension that can start one ad hoc independent subagent non-blockingly, track it through the supervisor, and expose basic list, status, and result surfaces for that child.
|
|
|
|
## What to build
|
|
|
|
Create the narrowest end-to-end path for the subagent extension.
|
|
A prompt-only spawn should create an ad hoc worker in independent context, return a child id immediately, track lifecycle state through a supervisor, and let the parent inspect status and retrieve the final result later.
|
|
This slice should establish the extension skeleton, the child runner boundary, the initial status record shape, and the basic tool/command surfaces needed to prove the loop works.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] `/reload` loads the extension from the managed Pi extensions directory.
|
|
- [x] A spawn call with only `prompt` returns a child id immediately.
|
|
- [x] The child runs in `independent` mode without parent transcript context.
|
|
- [x] Status transitions are visible from accepted through terminal state.
|
|
- [x] Result retrieval returns still-running before completion and the final answer after completion.
|
|
|
|
## Implementation Notes
|
|
|
|
Use subprocess RPC for the first runner implementation.
|
|
Keep exact public tool names consistent with the spec, but they may be finalized while coding.
|
|
|
|
Resolved in branch `pi-subagents-tracer-bullet`, commit `fdf0f89`.
|
|
Implemented a managed `subagents` extension skeleton with `subagent_spawn`, `subagent_list`, `subagent_status`, `subagent_result`, and `subagent_cancel` tool surfaces plus slash-command smoke surfaces.
|
|
The tracer bullet intentionally records `tools: "pi-default"` because actual tool-profile enforcement belongs to [[048-pi-subagents-config-agents-tool-profiles-task]].
|
|
Verified managed extension loading through a temporary `PI_CODING_AGENT_DIR`, live Pi RPC spawn/result behavior, extension derivation build, and `nix flake check`.
|