Files
orca/tests
Brennan Benson 614044df37 fix(terminal): never report an agent finished from a host that cannot state absence
The completion monitor spent an evidence-less host's answer as a confirmed
process exit and fired "agent done" while the agent was still running.

A daemon on the older protocols (11..26, retained across in-place app updates)
publishes the same `zsh` + `false` for a genuinely idle pane AND for a
foreground read that fell back to the shell title. It has no field to separate
them. A current daemon calls that second state `unverifiable`, which is the
proof the bytes are ambiguous rather than the old daemon being wrong.

Concluding the agent finished IS an action on absence — the user's answer to it
is to walk away — so it now reads through
`readPtyProcessInspectionEvidenceForAbsenceAction`. The plain reader stays on
the line above for recognition and error backoff: that host ANSWERED, so it must
not be charged as a failed inspection, and its one positive must still be
tracked. Collapsing the two reads into one call costs such a pane ~10x its watch
rate via the >=10s inspection error backoff; that separation is now pinned by a
cadence test rather than left to comment.

Accepted cost: process-exit completion goes dead on pre-v27 daemon panes. Hook
and title sources are unaffected, so completion still reports through those.
Reporting an agent finished while it runs is worse than not reporting completion
through one source when we genuinely cannot tell.

Also collapses the third open-coded copy of the rule (the workspace-cleanup
liveness probe) onto the shared reader, and adds the STA-5901 consumer-agreement
enumeration: 570 inspection shapes, 0 divergences between the shared reader and
the open-coded rule it replaces.
2026-08-29 00:05:33 -07:00
..
2026-08-28 00:59:21 -07:00