pub async fn run_new_execution_workflow<D: ExecutionWorkflowStageDriver>(
layout: &BackupLayoutGuard,
workflow: &ExecutionWorkflowRecord,
driver: &mut D,
) -> Result<ExecutionWorkflowSettlementView, ExecutionWorkflowRunError<D::Error>>Expand description
Coordinate one new fixed workflow in its declared dependency order.
Publish the original allocation once, prepare each child and all its original journals before invoking the driver, then reconcile its exact all-Applied checkpoint. The graph’s topological order controls stage dependencies, never numeric sequence order. Success reads back every retained checkpoint through the canonical complete-workflow owner. No automatic outcome, retry, refund, terminal receipt, fence or reference release is inferred.
This is a deliberately one-shot entry point. A failure or cancellation retains the original workflow, prepared stages, pending spending, artifacts and all obligations. Calling it again refuses the occupied workflow before invoking the driver. Recovery must reopen and reconcile those exact originals through their separate owners. Retained continuation requires a separately qualified complete occupied-stage set; a new run cannot reconstruct authority from a prefix.
§Errors
Rejects occupied or changed originals, incomplete stages and driver failures, preserving all retained evidence without reissuing an effect.