--- id: SG-14 family: RT-SG level: core profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-sg/sg-14 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # SG-14 — Exceeding the iteration budget ends the run, it does not pause it *RT-SG (Part II) · level: core · profiles: runtime · added in 1.0* ## The rule > **Normative.** This is the rule. > > 1. A state update that would push the run's iteration count strictly past the configured maximum ends the run. > > 2. The budget's own last iteration is allowed; only exceeding it ends the run. > > 3. The run then reports status `max_iterations_exceeded` with no results, together with the configured maximum, the count reached, and the node that reached it. > > 4. This is a terminal verdict and not a pause: no resume handle is offered, and the status is never `paused`. ## What it means Reaching the configured maximum is allowed; only going past it ends the run. A caller who sets the budget expecting the last permitted iteration to still happen is right — the guard only trips on the update that would push the count strictly beyond the maximum. Where it does trip, the run does not pause. Nothing about the verdict looks like the pause a run takes to wait on an interrupt or a deferred step: no resume handle is offered, and the status reported is never `paused`. The response carries no partial results, only the terminal status together with the maximum that was configured, the count actually reached, and which node's update reached it. ## Example A run configured with a maximum of 5, whose current node pushes the count to 999: ```json title="What the run reports" verdict="terminal" { "status": "max_iterations_exceeded", "results": [], "metadata": { "max_iterations": 5, "current_iterations": 999, "node_id": "loop_node" } } ``` ## Related rules - Names: SG-7 - Referenced by: ORC-10, SG-7 --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.