Success:
Filters change what is visible. They never change what the registry contains — a stage always admits every compatible candidate, and the count above says how many are hidden.
baseline learned custom possible
Columns are the sub-steps a route actually chooses between, grouped under the stage they belong to, and they never move. Every edge joins adjacent stages only — there is no force layout, no backward edge and no diagonal across stages, because the picture has to keep saying what runs in what order. Sampling is deterministic: the same seed draws the same routes.
Complete routes are compared, not isolated candidate scores: a candidate that is strongest alone can still lose in a route whose later stages cannot verify what it produces. Highlighted cells differ from the baseline.
Allow:
Ineligible candidates stay visible and say why they are blocked. Hiding them would answer "what can I pick" while quietly changing the question to "what did the current policy leave".

Execution stays left to right

Receipts are emitted beside the task line, never as a backward edge inside it. The optimizer is not a stage.

Typed feedback channels

Optimization profiles