[0.21.0] - 2026-04-29
Changed
- Document the recommended parent-agent workflow as
clarify → planner → worker → fresh reviewers → workerin the docs and bundled skill. - Packaged
planner,worker, andoraclenow default to forked session context when the launch omitscontext; explicitcontext: "fresh"still overrides the agent default. - Expanded builtin subagent guidance so agents with a safe pi-intercom target can hand results back with blocking
intercom ask, documented the self-orchestrated clarify → plan → implement → review workflow, and added GPT-5.5-oriented subagent prompt guidance to the bundled skill andcontext-builder.
Fixed
- Prevent child subagents from receiving parent orchestration tooling/history, and inject boundary instructions that forbid sub-delegation and pseudo tool calls.
- Added active-long-running and repeated mutating-tool failure notices so supervised/forked workers cannot burn turns silently while still appearing healthy.
- Fixed task editor wrapping so wide characters cannot push text past the right border.
- Mark implementation subagents as failed when they complete without any file mutation attempt.
- Applied the same no-mutation completion guard to async/background runner paths.
- Split terminal no-mutation guard notices from live idle notices so completed failures do not suggest status or interrupt commands.
- Clarified worker/intercom bridge instructions so blocked decisions use
intercom askand stay alive for the reply instead of completing with a question. - Labeled the Agents widget as async/background work so running detached agents are easier to identify.
- Reworked parallel progress wording so parallel runs show running/done agent counts (and chain parallel groups show
step X/Y · parallel groupwith agent fractions) instead of serialstep X/Ycounters. - Expanded
/parallel-cleanupguidance to flag redundant wrapper tests when one focused regression is enough. - Fixed flexible schema validation for
readsandskilloverrides soreads: false,skill: "review", andskill: falseno longer triggerelement.reads.every is not a function(issue #124). - Hardened slash-result and async-widget animation timers so stale extension contexts after
/newor reload stop their timers instead of crashing onctx.uiaccess (issue #122).