Skip to main content

Workflow Approval Model

Summary

Approval is a command-plus-aggregate transition, not a separate Approval entity or service.

Processing flow

Duplicate protection

Approval is accepted only for Pending tasks in Running instances. Subsequent decisions receive a conflict result.

Parallel-stage behavior

Steps sharing an order create multiple tasks. Advancement waits until every task at that order is nonpending. In the approval path this normally means all are approved, although the predicate itself only checks nonpending.

Limitations

The command does not verify that the current actor matches the task user or role. There is no quorum, weighted approval, optional approval or explicit approval record beyond task/action/audit data.

Requires Confirmation

Assignment enforcement, concurrency under simultaneous decisions and future quorum semantics require confirmation.

Source References

  • microservices/src/workflow-service/Application/Commands/WorkflowInstanceCommands.cs
  • microservices/src/workflow-service/Domain/Workflow/WorkflowInstance.cs
  • microservices/src/workflow-service/Infrastructure/Persistence.cs

See Also

Keywords

Workflow architecture, approval engine, Workflow Service, technical foundation.

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-20
  • Next review: 2026-10-20