--- id: INT-1 family: RT-INT level: core profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-int/int-1 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # INT-1 — An interrupt pauses the run and reports itself in full *RT-INT (Part II) · level: core · profiles: runtime · added in 1.0* When a node stops to ask a question, the caller gets a complete answer about what happened: which question is outstanding, which run holds it, and everything that finished before it. ## The rule > **Normative.** This is the rule. > > 1. When a node raises an interrupt, its job is marked interrupted and carries the interrupt's identifier, and the run is paused. > > 2. The response shape is part of this rule: status `interrupted`, the persisted interrupt's public representation (identifier, node identifier, status) under the response metadata, the run's identifier, and results holding every node that completed before the interrupt. ## What it means An interrupt is not reported as a bare "paused" flag. The job that raised it carries the interrupt's own identifier, so a caller reading the job already knows which question it is waiting on. The response goes further: it hands back the persisted interrupt's public shape — its identifier, which node raised it, and its status — under the response metadata, and it hands back every node that finished before the pause. A caller does not have to make a second call to learn what already ran. The results are exactly the completed prefix, no more: a node reached after the interrupt does not appear at all, not even as an empty placeholder. ## Example A confirmation node interrupts a three-node run partway through. ```json title="The response to a run that stopped to ask" verdict="interrupted" { "status": "interrupted", "results": { "log_before": "…" }, "metadata": { "interrupt": { "id": "…", "nodeId": "confirm", "status": "pending" } } } ``` The node after the confirmation is missing from `results` entirely — it never ran — while the node before it is there in full. ## Related rules - Names: INT-2, INT-3, INT-22 - Referenced by: INT-2, INT-3, INT-22 --- 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.