Accept Finally — traceable business decision logic
Accept Finally is the final positive decision for an MQLS. It moves the submission from Authorized for Shipment to Finally Accepted. Shipment authorization alone is therefore not the final quality acceptance.
The decision is valid only if all relevant layers agree
- State: the MQLS is still Authorized for Shipment.
- Role: the executing user has the Quality Customer role.
- Responsibility: the user is the assigned Quality Manager for this MQLS.
- Approval: at least one related Approval Request is Approved.
- Identity and ownership: reference, part, creator and supplier ownership context are present.
- Consistency: mandatory attributes and conditional configuration rules are satisfied.
Conditional consistency
For a periodic MQLS, Count of Parts must be present. If grouping is applicable, a grouping must be present. The original projection also surfaces an important modeling gap: the formal expression checks that Count of Parts is not null, while the business wording expects a value greater than zero.
Effects of the decision
After successful execution the domain event Material Quality Lot Submission Accepted Finally is emitted. The state becomes Finally Accepted, the parent context is finalized, a Final Letter and notification can be derived, and related approval contexts are brought to a final state.
Why this matters
The decision is not a hidden piece of application code. Its business meaning, authority, conditions and effects remain inspectable and traceable.
