flow/check

Source: src/flow/check.ts

The flow stage of validation: a flow read against the catalogue it runs in, before the first spawn.

Every name is resolved here (the agents, the flows called, and the addresses each node reads in its lexical scope) and every fault is returned at once. What passes becomes a CheckedFlow, the one thing the runner takes. What depends on the project a run starts in (its working tree, its ports, whether somebody is there) is the run stage’s, and is not looked at here.

checkFlow

function

export function checkFlow(name: string, catalogue: FlowCatalogue): CheckFlow { /* … */ }

The flow named name in catalogue, checked, with every flow it calls.

A flow is found by its file name, so a file that does not parse is still found, and reported as broken rather than unknown; its name: must say the same. A flow calling a broken one is broken too.

CheckFlow

type

export type CheckFlow = { readonly ok: true; readonly flow: CheckedFlow } | { readonly ok: false; readonly faults: readonly Fault[] };

A checked flow, or every fault that refused it.