Skip to content
EN FR

Actions and review workflow

Documentation status: tutorial — see Maturity and evidence.

Action surface

Use explicit business actions. A representative set is:

SubmitRequest(request)
ComputeRisk(request) -> assessment
AskForReview(request, assessment) -> reviewProcess
ValidateDecision(reviewProcess, decision)
Finalize(reviewProcess) -> riskDecision

The exact generated .NET signatures depend on the published model and generator. Treat the names and parameter meanings above as the conceptual contract, not as hand-written ABI signatures.

When to introduce a process

A single object action is enough when one object owns the full operation and it completes immediately. Use RiskReviewProcess once the operation spans objects, waits for external or human input, emits several events, or must resume later.

Process state

A practical state model can include:

Created -> IndicatorsPending -> AssessmentReady
        -> HumanReviewPending -> DecisionReady -> Finalized
        -> Failed

Only use states actually required by the application. The important property is that each externally meaningful transition is explicit and testable.

Events

Emit semantic events at important boundaries, for example RiskRequest.Submitted, RiskAssessment.Ready, RiskReview.Requested, RiskDecision.Validated and RiskReview.Finalized. Event names describe what happened, not which button or transport triggered it.

Async boundary

External verification, message exchange, agent work and human approval should be modeled as asynchronous continuation when necessary. The initial action may acknowledge the request while the process continues through events and messages.