Skip to main content

Asset Approval Model

Approval ownership

Approval is not an Asset Service entity. The aggregate stores only an optional workflow instance reference and a transient Approved status. Workflow Service owns definition, tasks, actors, and terminal result.

The feature switch selects real or null workflow client. A successful start attaches the instance. In production, start failure returns an invalid result after the request has already been persisted; in non-production, it records fallback evidence and leaves an ordinary Requested record. Callback decision and subject type are validated; optional live-state mismatch causes conflict. Unreachable state verification is treated as best effort.

Approver roles, stages, delegation, escalation, service levels, callback authentication, and governance are external or absent. Notifications arise from resulting lifecycle events, not a workflow-specific notification in Asset Service.

Requires confirmation

Production ownership, authorization governance, operational policy, and future architecture require confirmation where the source does not enforce them.

Source References

  • microservices/src/asset-service/Application/WorkflowIntegration.cs
  • microservices/src/asset-service/Application/Commands/AssetCommands.cs
  • microservices/src/asset-service/Infrastructure/WorkflowServiceClient.cs