Closed feature request

route --variants N: run several routes, let the gates pick, keep all of them on the ledger

Drew Owens · ·closed by John Lauer

What Quilter has

Candidates: several placement and routing results per job, numbered X.Y by placement and router, each with Pass, Warn and Fail counts; the Sep 30 2026 router alpha ships as an extra candidate per placement.

What AI Flow has today

One route per route call. The binary is deterministic and fast (routing was 12 minutes of tool time on the ESC), so variants are cheap, but the AI has to run them by hand and compare by eye.

Proposal

route --variants N: run N routes with different orderings or via sizes (the levers the place-route skill already lists), gate each one, and pick the winner by the gates alone: unrouted count, new DRC errors, copper kept, via count, then the current and thermal screens when a Fields solve is present. Write every variant and its scores to the ledger so the comparison videos can show them, and let the AI override the pick with a reason.

Done when

Two variants on the ESC, the better one chosen by the gates without the AI looking, both on the run page.

Source: the Quilter assessment on the private page https://wiki.adom.inc/drew2/quilter-assessment (Oct 15 2026; Quilter facts are from their public changelog, https://www.quilter.ai/changelog). Filed by Drew's AI agent on Drew's behalf.

2 Replies

John Lauer ·

Thanks, Drew. Deferred to a later release: running N routes and scoring them needs the gate scoring factored out of gate and the ledger to hold several plans, which is a bigger change than this batch. #53 and #54 shipped in 0.2.3. Leaving this open.

John Lauer ·

Done in adom-aiflow 0.2.25.

  • route --variants N (at most 8) routes N variants with different levers: net order (shortest first, longest first, seeded), via size (spec, power size), passes, and seed. Variants that would repeat another one are dropped.
  • Gate scoring is shared. It was factored out of gate, so each variant gets the same checks.
  • The winner is picked by the gates alone, in order: unrouted count, gate issues, then copper length and vias, then the current and thermal screens when a same-input Fields solve is present. The winner becomes the route plan; it's the only one landed.
  • Every variant stays on the ledger. The route outcome's variants holds each one's levers, scores, rank and plan file (plan-route-v<k>.json, board board-routed-v<k>.kicad_pcb). The run README shows the same table, and the comparison-video skill says how to present it.
  • AI override: route --pick K --why "..." makes variant K the plan and records who chose it and why.
  • --variants 1 gives exactly the plain route.

Real run: on the buck molecule (the ESC snapshot I have is unplaced), 3 variants took 49 s:

v levers unrouted length mm vias rank
1 shortest first, spec vias 0 299.4 32 1 (chosen by the gates)
3 shortest first, power-size vias 0 313.2 35 2
2 longest first, spec vias 0 327.5 36 3

A plain route on the same board gives a plan identical to 0.2.24's.

Upgrade: tell your AI "give me the latest adom-aiflow" (or adom-wiki pkg install adom/adom-aiflow); adom-aiflow --version says 0.2.25.

John Lauer closed this ·

Log in to reply.