Separate internal queue eligibility from the operator's next action

Internal queue eligibility and the operator's next action are different contracts. A persisted routing reason may validly survive the action it originally named so it can support filtering, re-entry, or scheduling. Do not render that raw value as the instruction. Derive a bounded presentation state from the routing reason plus authoritative active obligations, such as a timer or pending task; when an obligation clears, project the next human action without changing backend eligibility semantics.

Applicability and limits: the projection is safe only when its source fields are authoritative across every relevant transition and terminal path. Verify those invariants with transition tests. If they cannot be guaranteed, add an explicit server-owned presentation state rather than inferring one in the client.