--- status: open parent: "[[027-pi-subagents-implementation-spec-task]]" blocked-by: - "[[046-pi-subagents-minimal-tracer-bullet-task]]" tags: - ticket/task/afk --- # 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 `ui` hides 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.