Repository navigation
Polish Prime plan completion and delegated visibility #126
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
Prime managed plans are useful, but two lifecycle gaps make them feel unfinished:
- agents sometimes return a final response while the last step still says
inProgress; - long delegated phases expose child activity in the Agents surface, but the root plan gives little concise indication of what the root is waiting for.
The fix should not turn the plan into a tool log, create one row per subagent, require child agents to manage todos, or increase plan-update traffic for routine tool calls and child heartbeats.
Parent parity tracker: #114
Fork tracker: pylon-code/prime-agent#1
Proposed model
Root plan lifecycle
- Add
waitingto plan step status. - Require
waitingOn: user | delegates | externalexactly when a step iswaiting. - Permit at most one active step across
inProgressandwaiting. - Permit zero active steps for an initial all-pending plan or a reconciled all-completed plan.
- Keep plan rows as user-visible outcomes, not tools, files, test shards, or child-agent identities.
Prompt guidance
- Update only at meaningful phase boundaries.
- Reconcile the full plan before the final response.
- Mark finished work
completed; never leave the last stepinProgressonly because it was active most recently. - Use
waitingonly when the root cannot make useful progress and name the real dependency. - A step waiting on the user must follow a concrete question or structured input request.
- Delegated agents remain forbidden from updating the root plan.
Delegated visibility
Use existing provider-neutral task.started, task.progress, task.updated, and task.completed events to derive one aggregate beside the current root step, for example:
Assess provider behavior · 3 agents workingAssess provider behavior · 1 of 3 agents finished
Do not create child plan rows or call pylon_update_plan for child heartbeats. The root may make one phase-boundary transition to waitingOn: delegates only when delegated results are the actual blocker.
Delivery slices
- Tighten prompt guidance and terminal reconciliation behavior without changing the wire schema.
- Add
waiting/waitingOnthrough contracts, server normalization, recovery, web, and mobile. - Add the derived delegated-work aggregate with no extra model tool calls.
Acceptance
- A successful completed turn does not retain an accidental
inProgressstep. - A real wait remains visible and identifies
user,delegates, orexternalwithout pretending that work completed. waitingOn: userdoes not synthesizehasPendingUserInput; actionable input still requires a real request ID.- A settled turn can continue to show an honest user wait.
- Delegating N workers adds zero child rows to the root plan.
- Routine child progress adds zero plan tool calls.
- Current-step and completed-count rendering remain correct across reconnect and recovery.
- Web, desktop, and mobile use the same provider-neutral contract.
Non-goals
- No automatic completion inferred by the server.
- No required todo tool for subagents.
- No continuously updating child progress text.
- No full subagent transcript in the plan UI.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity