* feat(pi): show Pi and OMP background children as rows
Refs #22868
* fix(pi): derive the extension's roster cap from the host's
The generated extension re-typed the 32-row limit as its own literal, so
a change to AGENT_STATUS_MAX_SUBAGENTS would leave the extension posting
rosters the host silently truncates on arrival. Interpolate the host
constant instead, and cover the cap with a test that posts past it.
* test(pi): pin the Pi cancel verdict beside a live child row
Publishing a subagent roster for Pi puts its panes behind the same
child-work guard Claude and Codex sit behind, so Ctrl+C beside a live
child no longer settles a stopped row. The extension reports no
main-agent state, so Orca cannot tell a cancelled turn from Ctrl+C at
the idle prompt of a lead children alone hold open, and keeps the live
row. Both halves of that are now pinned, as is the resume-placeholder
guard on the model_select arm of the same code path.
* fix(pi): end a run with its session and keep children across reload
Pi re-runs the extension on a fresh event bus for /new, resume, fork and
/reload, so the roster kept on that bus was lost and nothing ended the
run the old session's children held open.
* fix(pi): preserve pending completion and OMP pane ownership
* test(pi): use the hook owner context type
* fix(pi): retain completion timers and delivery across session boundaries
* test(omp): preserve unsent completion at session boundaries
* test(journal): retain provider handle import across main integration
* test(startup): account for encoded Windows prompt lines
* fix(pi): serialize status delivery across module reloads
* test(compatibility): retain the released journal parser dependency
---------
Co-authored-by: Neil <neil@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
* fix(omp): acknowledge completion delivery and retire stale retries
Co-authored-by: Tim Maximilian Lucas <7103424+timaxlucas@users.noreply.github.com>
* test(omp): exercise completion recovery over native HTTP in platform CI
* test(omp): verify rendered status clears after completion retry
---------
Co-authored-by: Tim Maximilian Lucas <7103424+timaxlucas@users.noreply.github.com>