--- 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`.