main
John Lauer 0.1.37: every open gap from the buck molecule run closed in the binary: intake, sourcing check, evidence, netlist check, molecule check, fab rules, model orientation, resumable landing, via net check, planeUnder, chains, adopted-board routing, live clips page, clip pull checks, Fields tour on the user's machine d49513e 6d ago

AI Flow 0.1.37

Every open gap from the buck molecule run, closed in the binary. Seven new commands (intake, sourcing, evidence, clips, netlist, molecule, rules); no existing command changed its interface.

gap what changed
1, the clock needs a board intake --prompt-time opens a run before any board exists; start --board on it attaches the board and keeps the same clock and ledger. Pre-board steps (intake, sourcing, design, simulation, schematic) are ordinary steps
3, 4, 5, sourcing sourcing check --bom <csv>: every board reference in the BOM with an MPN, sources that fit the profile (fab: Mouser or Adom stock, no LCSC/JLCPCB parts; jlcpcb: LCSC numbers), a dated stock check, thin stock warned. finish requires it when the spec names a profile
6, 7, 12, design and simulation evidence `evidence add --kind calcs
8, netlist equivalence netlist check: the schematic's netlist (kicad-cli, local or through adom-aiflow-kicad-cli-remote, which now exports netlists too) against the board pin by pin; start --sch makes finish require it
9, molecule format molecule check (also inside place check, gate and finish when the spec has molecule): machine pins, MP1 front-left, grid, contacts, edge margin, fixed references
10, fab rules fab.rules in the spec; rules install --profile jlcpcb ships JLCPCB's 2-layer rules; the 3rd party fab's rules stay private (the project's own .kicad_dru); gate and finish refuse a mismatch
20, models right way up models checks each model's bounding box after its rotate/offset (step2glb features, or the STEP's own points) and flags a flat chip standing on edge or a body off the board; finish refuses open warnings (models --ack)
23, land route resume already-landed traces are skipped (same net, same points); a lost reply re-reads the board and retries that one trace once; --from <n>
25, layer policy planeUnder: a region of one layer kept for one net's plane; the router keeps other nets and their vias out, and the gate reports any other-net copper inside
26, series chains chains: pack lays a chain on one line with shared-net pads facing; rotation choice scores pad adjacency
29, via on the wrong net vias are checked against other nets' copper before landing and read back after; a via that landed on another net is taken back and reported
30, live clips page clips --page <owner/slug> --push builds and pushes docs/clips.md; once a page is set, every clip stop does it
31, tour fields on localhost a localhost Fields URL is filmed on the user's own machine by default; --on overrides
33, adopted boards route reads the board's own tracks, vias and zone fills, plans only what is still unconnected, and writes a valid empty plan when nothing is; gate, land route and finish accept it
35, clip pulls every clip stop checks the file arrived, retries the pull, and flags pullFailed with the desktop path; recut, finish and deliver pull those again

Gaps 16, 17 and 32 are bridge bugs, filed on adom/pup-bridge (#127), adom/adom-bridge (#220) and adom/kicad-bridge (#104).

Acceptance: workspace tests pass (70). On the buck molecule: sourcing check passes (30 references), molecule check passes, netlist check passes (58/58 pins, KiCad 10 through the remote wrapper), route on the finished board says nothing to route, and the gate's new planeUnder check finds an EN via and a VOUT sense trace on B.Cu under the input hot loop that the old flow let through.