def run_conditions
import bendvy-ecs-core@0.1.0.4/ordinary_app_schedule.bend as OrdinaryAppScheduleimport Base
import bendvy-ecs-core@0.1.0.4/ordinary_condition_composition.bend as Comp
import ordinary_app_schema.bend as App
import ordinary_app_composer.bend as Build
import ordinary_app_registration_fields.bend as Records
import ordinary_app_observation_data.bend as DTO
import world.bend as W
import system.bend as Sys
import schedule.bend as Sch
import schedule_provision.bend as SP
156# Execute with retained typed guard bindings and explicit provisioning.
157# False skips the body; unavailable/rejected conditions stop with their typed
158# error. Earlier successful steps and returned guard state remain retained.
159# No binding means unconditional execution; barriers alone apply deferred work.
160# Every RunResult branch returns the conditioned application owner.
161def run_conditions(~S:Data,~C:Type,~R:Type,~E:Data,~H:Type,~Rows:Data,~observe:W.World<S,C,R,E> -> W.World<S,C,R,E> & DTO.Observation<Rows>,~fold:H -> H & List<&2,Records.Fields<S>>,~B:Type,~select:B -> W.World<S,C,R,E> -> U32 -> Comp.Evaluation<W.World<S,C,R,E>,B>,~BodyError:Data,~dispatch:H -> W.World<S,C,R,E> -> U32 -> H & Sys.Outcome<W.World<S,C,R,E>,BodyError,Unit>,~provision:W.World<S,C,R,E> -> W.World<S,C,R,E> & List<&2,SP.Requirement<S>>,value:ConditionedApplication<S,C,R,E,H,Rows,observe,fold,B,select>) -> RunResult<ConditionedApplication<S,C,R,E,H,Rows,observe,fold,B,select>,S,Comp.Error<BodyError>>:
162 match value:
163 case ConditionedApplication{Application{App.Application{schema,Build.Registered{world,owners,recipe,debug}},plan,namespace,name,steps,needs},bindings}:conditions_provisioned(~S,~C,~R,~E,~H,~Rows,~observe,~fold,~B,~select,~BodyError,~dispatch,schema,recipe,debug,plan,Comp.run_provisioned(~S,~C,~R,~E,~H,~B,~select,~BodyError,~dispatch,~provision,SP.Provisioned{Sch.Schedule{namespace,name,steps,(owners,bindings)},needs},world))
Uses (21)
Used by (0)
No other definition uses this definition.