--- id: ORC-9 family: RT-ORC level: core profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-orc/orc-9 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # ORC-9 — A pipeline engine is a ready-work loop *RT-ORC (Part II) · level: core · profiles: runtime · added in 1.0* Re-entering a node on a later pass is what makes loops possible at all, and the empty pass is what defines the end of the run. ## The rule > **Normative.** This is the rule. > > 1. A pipeline engine repeatedly asks for the work that is ready. > > 2. Each pass promotes every idle unit of work whose dependencies are met to pending and persists that promotion, then returns all pending work (including work already pending from an earlier pass), ordered ascending by priority, so a lower priority number runs first. > > 3. A unit whose dependencies are unmet is left idle and untouched. > > 4. The engine stops when a pass returns nothing; that empty return is what quiescence means. ## Related rules - Names: ORC-10, ORC-11 - Referenced by: ORC-7, ORC-10, ORC-14 --- 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.