elsa-core/src
Sipke Schoorstra a618337923
docs(core): give FaultSignal handlers a working completion path
Review caught that the contract advertised something that cannot work. It
offered handlers three ways to terminalize the faulted activity - cancel,
complete, or reschedule - but CompleteActivityAsync returns immediately unless
the activity is Running, and throughout the handler it is still Faulted, since
recovery runs only after the handler returns. Completing inline did nothing at
all, silently, leaving the child Running.

Measured, same container, handler completing the faulted child:

  inline complete                    -> child Running,   no output, Running/Suspended
  TransitionTo(Running), complete    -> child Completed, "after",   Finished/Finished

So a supported path exists; it just needed writing down. Document it on
FaultSignal, note that it is not licence to call RecoverFromFault (which also
rewrites the fault counts), and note that cancelling and rescheduling need no
equivalent step. Cover it with an integration test asserting that completing the
child with a substitute result fires the container's completion callback and
resumes its sequencing.

Refs #7911

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 22:08:44 +02:00
..
apps Add operational dashboard API 2026-06-02 02:33:11 +02:00
clients/Elsa.Api.Client Harden output converter contracts 2026-07-31 13:29:01 +02:00
common [codex] Fix diagnostics live feed regressions (#7548) 2026-05-31 09:40:02 +02:00
extensions/Elsa.Testing.Extensions
modules docs(core): give FaultSignal handlers a working completion path 2026-08-11 22:08:44 +02:00
Directory.Build.props Code cleanup and typo fix (#7393) 2026-04-14 15:17:26 +02:00