09f47bf8e38c9bfd11e058382c36d548fba6f985
The cleanup-04 spec's write side was missing: Action.ApproveActive and Action.RejectActive were dispatched by KeyResolver but had no reducer branch, making the approve/reject keybindings silent no-ops. STEER SubmitInput emitted an ApprovalResponse effect without clearing `pendingApproval` on the selected session, violating the spec invariant that the effect emission and the clear happen in the same tick. SessionsReducer now handles both actions via a private respondToSelectedApproval(sessions, decision, note) helper that reads state.selectedPendingApproval(), clears the field, and emits Effect.SendWs(ApprovalResponse(...)). InputReducer's STEER SubmitInput branch clears `pendingApproval` on the selected session in the same returned TuiState as the response effect. Adds four tests covering APPROVE, REJECT, no-pending no-op, and STEER atomicity.
Description
No description provided
Languages
Kotlin
88.4%
Go
11.4%
Python
0.2%