@@ -286,6 +286,43 @@ var handle = await pipeline.ExecuteAndForgetAsync(
286286var snapshot = await tracker .GetAsync (handle .ExecutionId );
287287```
288288
289+ ### Execution Options
290+
291+ Pipeline execution can be configured per run through ` PipelineExecutionOptions ` or the fluent
292+ options builder passed to ` ExecuteAsync(...) ` and ` ExecuteAndForgetAsync(...) ` .
293+
294+ The main options are:
295+
296+ - ` ContinueOnFailure() `
297+ Allows later steps to continue even when the carried ` Result ` is already failed.
298+ - ` MaxRetryAttemptsPerStep(int value) `
299+ Controls how many times a step may return ` Retry(...) ` before the runtime stops and marks the
300+ execution as failed.
301+ - ` WithProgress(IProgress<ProgressReport>) `
302+ Exposes a progress reporter to steps through ` options.Progress ` , so step implementations can
303+ report their own progress.
304+ - ` AccumulateDiagnosticsOnFailure(bool value = true) `
305+ Controls whether messages and errors are preserved when execution stops because of failure.
306+ - ` AccumulateDiagnosticsOnBreak(bool value = true) `
307+ Controls whether messages and errors are preserved when execution stops because of a ` Break(...) `
308+ outcome.
309+ - ` WhenCompleted(Func<PipelineCompletion, ValueTask>) `
310+ Registers a completion callback for fire-and-forget execution after the tracked snapshot has been
311+ finalized.
312+
313+ Example:
314+
315+ ``` csharp
316+ var result = await pipeline .ExecuteAsync (
317+ context ,
318+ options => options
319+ .ContinueOnFailure ()
320+ .MaxRetryAttemptsPerStep (5 )
321+ .AccumulateDiagnosticsOnFailure ()
322+ .WithProgress (new Progress <ProgressReport >(report =>
323+ Console .WriteLine ($" {report .Operation }: {report .PercentageComplete }%" ))));
324+ ```
325+
289326### Runtime Execution Flow
290327
291328``` mermaid
0 commit comments