When the State Model and Transitions are enabled on a table ,System enforces the state transition (through com.snc.state_model.StateTransitionValidator) and does not allow transition of state through Business Rule / Script, if it does not validate against existing model transition.
This is an expected behavior as designed, The state transition will be enforced as configured for the table. System will not allow any invalid state transition on the record through the UI or script.
Please review > Add a state model and transitions
If you want to allow the update on the state , through Business Rule / API Script, the following System property can be used to disable the "StateTransitionValidator"
�com.glide.record.state.validation = false
If the property above is disabled system will not validate and allow transition to any state on the record that is done through the script / business rule.