2.0 KiB
status, claimed-by, claimed-at, completed-at, parent, blocked-by, tags
| status | claimed-by | claimed-at | completed-at | parent | blocked-by | tags | ||
|---|---|---|---|---|---|---|---|---|
| resolved | 019fba91-eabf-76ae-b086-a37ac061d6e8 | 2026-08-01T14:36:01-04:00 | 2026-08-01T14:44:11-04:00 | 027-pi-subagents-implementation-spec-task |
|
|
Add durable status milestones and optional Pi-native status UI
Question
Connect the public status model to durable milestone entries and an optional Pi-native status UI without making the UI required for status or result retrieval.
What to build
Add the presentation layer around the existing status data model. The extension should append durable lifecycle milestones, show a collapsed live summary by default, offer an expanded inspector, and keep the UI replaceable by another extension. Disabling the bundled UI should not disable status records, status events, or tools.
Acceptance criteria
- Spawn accepted, completed, failed, cancelled, and timed-out milestones are appended as durable entries.
- Milestone entries do not inject child transcripts into normal LLM context.
- The collapsed UI summary shows live counts.
- The expanded inspector shows child id, label, context, state, elapsed time, model, tools, last event, and result availability.
- Disabling
uihides bundled UI components but leaves list, status, result, and cancel tools working.
Implementation Notes
Use the status data model as the source of truth. Do not stream every child event into the parent transcript.
Resolved in branch pi-subagents-tracer-bullet, commit e7a700f.
Added durable subagent_milestone custom entries for accepted, completed, failed, cancelled, and timed-out states, a replaceable widget-based collapsed summary, and /subagent-ui expanded inspector toggle.
The widget is gated by config ui.enabled, while tools remain available regardless.
Verified milestone entries in live Pi RPC batch/fork smoke, command registration, tests, and nix flake check.