A board is ready to fabricate when every gate passes on the exact revision you order. Each finding says how it is known.
Each pin's role from the part's library symbol or its datasheet: unpowered supply pins, floating grounds, must-connect pins left open, do-not-connect pins used, driven outputs in conflict, open-drain lines without pull-ups, one decoupling capacitor per IC supply pin, LED current.
Measured on the netlist, calculated from part values
tscircuit's schematic checks on the drawn sheet: text over parts, overlapping symbols and labels, two-pin parts drawn the wrong way round.
Measured on the drawing
An ngspice DC operating point of the whole board, and a power budget per load scenario: rail droop, regulator dropout, overload and regulator heat, inrush at the source. Experiments the board declares run as transient analyses with their probes plotted.
Simulated in ngspice
Will the microcontroller start: boot and strapping pins at their simulated voltages, flash, PSRAM and input-only pins, debug pins and pin functions, against the maker's rules for RP2040/RP2350, STM32, ESP32, nRF52 and AVR.
Simulated voltages against datasheet rules
tscircuit's DRC on the routed copper of the exact source revision: clearances, shorts, unrouted connections, overlapping parts. A route made for an older revision never counts.
Measured on the copper
Differential pair impedance from a 2D field solver on the fab's stackup, each pair's edge simulated at its receiver with the common-mode noise its skew makes, crosstalk as the voltage a fast edge puts on its neighbour, return paths, bus timing against each interface's bit time (QSPI, SDIO, RMII, RGMII), trace current against IPC-2221, DC drop on rail and ground copper, supply impedance across frequency against each rail's load step, board, junction and in-enclosure temperature, and each fast edge simulated in ngspice with the maker's IBIS model, found by part number where the maker publishes it.
Solved on the routed geometry; checked against Elmer FEM, ngspice and closed-form results
The board's measured minimums against JLCPCB, PCBWay and OSH Park standard capabilities (trace spacing, drills, annular rings, hole to copper, copper to edge, silkscreen), SMD pad spacing between nets, Gerber and drill completeness, each part's pads against JLCPCB's own footprint for pinout and pick-and-place rotation, polarity marks read from the silkscreen's geometry, tombstoning risk on small parts, fiducials, and a probe point on every rail for bring-up.
Measured on the fabrication files
Every part has an orderable LCSC number, stock for the build quantity and the package the footprint expects, looked up live.
Sourced from JLCPCB at check time
Board outline, mounting holes, part heights and connectors at a reachable edge. Enclosures and brackets the agent models are checked against the board: valid solids, no clash with the board or any part, every connector and control open to the outside, parts of an assembly clear of each other.
Measured on the 3D board and the CAD solids
Not yet: full-wave S-parameters (USB 3, PCIe, DDR4 channels) and radiated emissions. For those, export and finish in a field solver.
Every finding is labelled measured, simulated, calculated, sourced or declared, so a simulated voltage is never read as a bench measurement.
A check that cannot run (no routed copper, no power model, a parts service out of reach) says why, and its gate reads not run instead of passing.
Routing and checks belong to the source revision they ran on. Change the circuit and the old route and its results no longer count.
The agent calls the same report and fixes what it finds. It may say a board is ready only when the report does.