Status Constraints are constraints over the Primary state when it is a particular status.
They are shown as a rounded box under the status state box to which the constraints apply:
In the Agreement example use case, status constraints are used to show which state properties must be populated for a particular status. In particular, the aim is to:
- Mandate that rejectionReason and rejectedBy are set to null when in the PROPOSED status.
- Mandate that rejectionReason and rejectedBy are filled in when in the REJECTED status.
Whether the fields should be null or populated in the AGREED status has not been specified.