The MQLS transition view
The transition view compresses the MQLS lifecycle into a readable action space. For each business action it shows the current state, authorization, conditions, target state and resulting domain event.
| Business action | Current state | Authorization | Requirements / guards | Target state | Domain event |
|---|---|---|---|---|---|
| Create | Undefined | Quality Supplier | Supplier, user and part context available | Created | MQLS Created |
| Forward | Created / In revision | Quality Supplier | MQLS is consistent and mandatory data is complete | Forwarded | MQLS Forwarded |
| Return | Forwarded | Assigned Quality Manager with Quality Customer role | No additional guard | In revision | MQLS Returned |
| Authorize Shipment | Forwarded | Assigned Quality Manager with Quality Customer role | MQLS data is consistent and correct | Authorized for Shipment | MQLS Authorized for Shipment |
| Reject | Forwarded / Authorized for Shipment | Assigned Quality Manager with Quality Customer role | Authority invariant remains valid | Rejected | MQLS Rejected |
| Accept Finally | Authorized for Shipment | Assigned Quality Manager with Quality Customer role | Approved request exists and the MQLS is consistent | Finally Accepted | MQLS Finally Accepted |
What this reveals
The lifecycle is not one linear path. From the same state, several business actions can be valid. What is executable depends on state, role, responsibility, requirements and guards.
That is the action space an agent can later reason inside.
