The advisory sweeps have one production caller: cmd/oh-my-graph/lint.go:120 (warnAdvisories, calling handoff.LintPlaceholders and its siblings at :120-124). internal/coordinator/ calls none of them, so a graph the planner emits under auto is executed unswept. The omission is deliberate for run — cmd/oh-my-graph/main.go:360-363 says the whole-graph sweeps are 'the pre-flight command's job' — but under auto nobody is left to run the pre-flight. It has already cost a run: 20260820-162555.890191000-1 quoted {{ artifacts.corpus }} without declaring the matching depends_on edges, and its state.json records 'artifact not available (its producing node has not completed)' (docs/measurements/0034b-independent-lane-failure-predicate.md:192). After the fact, go run ./cmd/oh-my-graph lint on that run's graph.json emits six 'not an ancestor of this node' warnings plus one success_check warning and still exits 0 (valid) — the engine could have said this before the money was spent. The decision is whether to run the sweeps right after planning (advisory, cheap) or to refuse only references that can never resolve.
The advisory sweeps have one production caller: cmd/oh-my-graph/lint.go:120 (warnAdvisories, calling handoff.LintPlaceholders and its siblings at :120-124). internal/coordinator/ calls none of them, so a graph the planner emits under auto is executed unswept. The omission is deliberate for run — cmd/oh-my-graph/main.go:360-363 says the whole-graph sweeps are 'the pre-flight command's job' — but under auto nobody is left to run the pre-flight. It has already cost a run: 20260820-162555.890191000-1 quoted {{ artifacts.corpus }} without declaring the matching depends_on edges, and its state.json records 'artifact not available (its producing node has not completed)' (docs/measurements/0034b-independent-lane-failure-predicate.md:192). After the fact, go run ./cmd/oh-my-graph lint on that run's graph.json emits six 'not an ancestor of this node' warnings plus one success_check warning and still exits 0 (valid) — the engine could have said this before the money was spent. The decision is whether to run the sweeps right after planning (advisory, cheap) or to refuse only references that can never resolve.