This module does not expose replaceable service contracts in v1. Its activity-owned contracts are:
Do.Bodychild slot (at most one body activity)- A
Donecomposite outcome emitted once the condition no longer holds or a bodyBreakends the loop - A
Breakbody outcome (matched by name) that ends the loop early - A distinct engine
IterationIdper pass, threaded through the body child'sActivitySchedulingProvenance.IterationId(ADR 0028 / #259)
DoStructureHandlerimplementsIActivityStructureHandler(Elsa.Workflows.Design.Core). It projects the body branch slot from the authored structure, compiles the executable structure (the body branch node id), and round-trips both through publishing so the runtime resolves the body without re-reading the design document.Dois a condition-only loop with no per-iteration item or index and is not a container scope, so it declares no container-scoped variables (SupportsScopedVariablesdefaults tofalse).