Skip to main content

Program Driver

scripts/goal-runner/program_driver.py is the orchestrator delegate for Program Goals. It is invoked by program_driver_cli.py and is called only when the goal is goal_type: PROGRAM.

Responsibilities

The Program Driver:

  1. Loads the Program Goal contract.
  2. Loads the crosswalk.
  3. Determines the next eligible IMP from runtime state.
  4. Enforces predecessor FROZEN_PASS.
  5. Stops at real owner gates.
  6. Delegates execution to the orchestrator for the eligible child goal.
  7. Advances to the next IMP after child FROZEN_PASS.
  8. Computes PHASE-* coverage from the crosswalk.
  9. Finishes the program only after IMP-11 + production acceptance.

Routing policy

routing_policy = {
"rule": "linear_chain_with_predecessor_terminal_state",
"predecessor_terminal_state": "FROZEN_PASS",
"may_skip_phases": False,
"synthetic_per_phase_owner_gates": False,
}

The driver does not invent phases, does not skip phases, and does not synthesize per-phase owner gates. Owner gates come from the canonical gates table.

Human gate policy

The Program Driver's human-gate policy is defined in goals/ASF50_PROGRAM_COMPLETION_001/HUMAN_GATE_POLICY.yaml. The driver reads it on every invocation.

What the driver is NOT

  • It is not the goal registry.
  • It is not the orchestrator.
  • It is not the runtime store.
  • It does not mutate the runtime directly; it goes through RuntimeStore.