Graph lint
⌀ Graph lint is a tab in the bottom dock, beside Run log and Issues. It continuously lints the graph you’re editing and lists everything that looks unintentional — without blocking a run by itself.
Click a row to focus that node on the canvas.
What it reports
Section titled “What it reports”| Kind | Meaning |
|---|---|
| dangling | A node produces text that no wire carries away — the output is dropped |
| unwired | A node that cannot work without input has none (or a required named port is empty) |
| unreachable | Disconnected from any source, or trapped in a cycle |
| unused-param | A declared param is never referenced as {{param:name}} |
| muted | A node is muted and will be skipped on the next run |
Lint vs blocker
Section titled “Lint vs blocker”Graph lint is a map, not a gate. Nothing here stops you from pressing ▶ Run — half these states are legitimate while you’re mid-build.
Hard blockers live on the ✗ Issues tab (same readiness check that runs before ▶ / ≫):
| Blocker | Cause |
|---|---|
| model not set | An agent node without a model |
| required input not wired | A node that can’t produce anything |
| context unusable | A context node with no payload and no session source |
| artifact not picked | A skill or rules node with nothing selected |
| live handoff unbound | No agent on the node and no inbound session |
| frame boundary | A linked sub-workflow frame wired in a way that can’t resolve |
Wiring / custom-port gaps can appear in both tabs — Issues as the blocker, Graph lint as the hygiene row.
Reading it well
Section titled “Reading it well”A long list is normal on a graph in progress. The rows worth acting on, in order:
- unwired — this will fail (also under Issues)
- unreachable — this will never run; often a cycle you didn’t intend
- dangling — you built something and forgot to use it
- unused-param — usually a renamed placeholder that no longer matches
- muted — a reminder, not a problem
Why muted nodes are listed
Section titled “Why muted nodes are listed”Because muting is easy to forget. A workflow that mysteriously skips its review stage a week later is nearly always a mute somebody left on. Listing it costs one row and saves the confusion.
Related
Section titled “Related”- Bottom dock — Run log, Issues, and this tab
- Graph & wires — mute, bypass, and lifecycle
- Errors & retries — what happens when a node fails anyway
- Running — the pre-run readiness check