Files
orca/config/scripts
Neil 0ea900aba1 merge: origin/main (STA-3077 SSH reconnect) into the daemon-hold branch
Three conflicts, all in the ownership-critical files, and the two changes turn out
to be making the same argument from opposite ends.

STA-3077 made hasPty three-valued: null now means "this provider cannot answer",
where before the only answers were yes and no. Its reasoning — an owner that cannot
answer must stay unknown rather than become a liveness proof — is the same rule this
branch applies to daemon occupancy. Both sides kept: the new signature, and the
owner gate that sits above it.

The gate needed no change, because `hasPty?.(id) !== true` already reads a null as
"not proven" and refuses. But it needed a test. Mutating `!== true` to `=== false`
left all 1525 daemon tests green: every double in the suite answers false, which
makes the two predicates indistinguishable, while in production the difference is
now the whole point — a null read as ownership lets the in-process fallback answer
for a daemon-owned session, closing the pane while the agent runs on as an orphan.
Two tests added at that boundary; the mutation is caught.

pty:signal keeps both additions in the order that makes sense: their superseded-id
fence first, then the routing call whose rejection is already handled.
2026-08-13 02:05:28 -07:00
..
2026-05-15 05:44:25 -04:00