phase-validate
phase-validate holds the two validators the epic driver asks for at each
phase boundary. validate_chunk asks, per task, whether the task met its
own description. validate_phase asks once whether what now exists meets
the phase's original goal. A builder's own summary is stripped before
either prompt is built, so a validator judges evidence, not the owner's
account. The graph emits no proposals; the driver decides what the
verdict costs. It runs as validate, invoked by the epic driver.
phase-validate
The two validators the epic-swarm spec asks for, as a graph. They are model calls, and model calls belong in graphs — a driver that called the runner directly would be the first non-graph thing in the system to do so, and every purity rule the portability suite enforces would stop applying to the two nodes whose judgment the phase boundary rests on. So the driver invokes this the way it invokes any other graph, through invoke_graphs, and gets back an opinion rather than a decision.
flowchart LR
n0["validate_chunk (per task)<br/>step · 1"]
n1["validate_phase (once)<br/>step · 2"]
n0 --> n1
style n0 fill:#f96,stroke:#333,stroke-width:2px
| Node | Step |
|---|---|
validate_chunk (per task) |
1 |
validate_phase (once) |
2 |