Transitions
Documentation status: reference — see Maturity and evidence.
A transition expresses an allowed move between two lifecycle states. It should be connected to an identifiable business intention or rule.
A transition is not a plain assignment
Prefer:
Draft --Approve--> Approved
over an arbitrary update of a State field. The transition can then carry validation, authorization, events, and traceability.
Design
- define states before transitions;
- name the trigger with a business verb;
- check preconditions in the conceptual context;
- emit an event when the change must be observable elsewhere.