Files
orca/tests
a259616f7c feat(pi): show Pi and OMP background children as rows (#23201)
* 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>
2026-10-05 20:04:48 -07:00
..