AI Flow
Public Made by Adomby adom
Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board.
main
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.
# 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|simulation|vendor-model`: recorded with its sha256; a failing simulation is refused; finish requires the kinds in `requireEvidence`. Vendor PSpice/LTspice runs come from adom/adom-spice-skillpack |
| 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.