Skip to content
docsv0.17.1

CompiledGraph

What a declared graph compiles DOWN to — and every part of it is something the engine already ate. There is no new runtime here. The `definition` is the same `ProcessDefinition` a hand-written process builds, the operations are the same `Operation` value objects every projector reads, and the routing tables are what the node invoker consults to turn a returned enum case into an edge.

CompiledGraph::__construct()

public function __construct(string $name, string $description, Milpa\Orchestrator\ProcessDefinition $definition, array $operations, array $routing, array $channels, array $appends, array $budgets, array $exhausted):

Parameters

Parameters of __construct()
NameTypeDescription
$namestring
$descriptionstring
$definitionMilpa\Orchestrator\ProcessDefinition
$operationsarray<string, Operation>state code → the node's operation
$routingarray<string, array{enum: class-string, map: array<string, string>}>state code → its routing enum and case→transition map
$channelsarray<string, mixed>channel name → its declared default
$appendsarray<string, string>channel → the channel whose writes it accumulates
$budgetsarray<string, int>transition code → how many times it may be taken
$exhaustedarray<string, string>transition code → the transition taken once its budget is spent