A run has a scheduler budget, and exhausting it pauses rather than fails
This budget counts scheduler passes across the whole run. It is not a per-loop round count and not the hard safety valve; the three exist separately and resolve differently on resume.
The rule
Normative: this is the rule
- A run is bounded by a maximum number of scheduler passes, defaulting to 100, and a maximum execution time.
- Exhausting either breaks the loop and pauses the run with the reason recorded, and a pending system pause signal is raised.
- A paused run is resumable and resumes with a fresh budget; re-entry clears a stale pause reason.
- This budget is shared by every loop in the workflow and resets on resume, which is what makes a budget-paused run resumable; a per-loop round count is a separate bound, is restored from the run's own record and keeps accumulating across resumes.
Why
Recorded under OPEN-9.
Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · ORC-10 · changed in spec 1.0