--- id: INT-17 family: RT-INT level: extended profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-int/int-17 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # INT-17 — A terminal outcome reaps the signals it never observed *RT-INT (Part II) · level: extended · profiles: runtime · added in 1.0* A signal is accepted whenever the run is still alive, but the run only looks at it between iterations. A run that finishes first leaves the request pending against a corpse. ## The rule > **Normative.** This is the rule. > > 1. When a run reaches a terminal outcome, inward signals still pending against it are cancelled, after the outcome's own handling has completed. > > 2. A paused run must not be reaped: a pending inward pause signal is that run's resume key (INT-5), and cancelling it would strand the run with no way back. > > 3. A stateless run has nothing targeting it and is skipped. > > 4. A failure while reaping is recorded and never raised; the outcome is already recorded and hygiene must not corrupt it. ## Related rules - Names: INT-5, INT-16 - Referenced by: INT-5 --- 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.