From the v0.8.0 Tech-Lead review. (1) The #845 cancel fix lacks a test asserting a session.status:idle event is emitted after cancel. (2) Residual gap: an abort firing between streaming steps (validator dispatch, compaction, the abort.aborted break) can skip idle since no processor catch runs and clean-exit idle is gated on !abort.aborted. Add a guaranteed idle-on-abort path.
From the v0.8.0 Tech-Lead review. (1) The #845 cancel fix lacks a test asserting a session.status:idle event is emitted after cancel. (2) Residual gap: an abort firing between streaming steps (validator dispatch, compaction, the abort.aborted break) can skip idle since no processor catch runs and clean-exit idle is gated on !abort.aborted. Add a guaranteed idle-on-abort path.