What's Changed
- fix(task-session-manager): recover stopped sessions and refuse silent task_id drops by @dhaern in #1191
- fix(orchestrator-wake): continue lifecycle prompts in the session's current selection by @dhaern in #1195
- fix(task-session-manager): deliver revive prompts with queue semantics by @dhaern in #1192
- feat(v2): adopt per-session permission.rules, mirror conformance guard, @OpenTui 0.5.11 by @GoldJohnKing in #1194
- fix(task-session-manager): preserve serialized NamedError detail in board error summaries by @dhaern in #1202
- fix(tokens): dedupe orchestrator system injection, scope to main-chat requests, stop duplicate revive notifications by @dhaern in #1201
- fix(perf): skip stream-delta fan-out and stop consecutive status polls by @dhaern in #1199
- feat(tui): position the sidebar slot by plugin-list index by @dhaern in #1198
- feat(tui): clickable subagent sessions in the sidebar by @dhaern in #1197
- feat(config): per-agent skills_add/skills_remove directives by @Aveer in #1190
- fix(task-session-manager): confirm stop from transcript evidence, own fallback delivery, treat missing status as idle by @dhaern in #1203
Full Changelog: v2.2.20...v2.2.21