Closed bug report

0.2.18 power-input / test-point / LED / programming checks are silent on a pass: print and record what they found

John Lauer · ·closed by John Lauer

The 0.2.18 power-input and test-point label checks print only when they find something. A passing board leaves no trace that they ran, or what they looked at.

Seen on a pattern-lane board (KiCad, no parts, no power input, no test points), adom-aiflow 0.2.18:

$ adom-aiflow silkscreen-audit --input audit.json --out result.json --board B.kicad_pcb --record
OK: OK: 0 coverage errors; 0 missing obstacles; 0 collisions
silkscreen step proof recorded: 6 footprints and 0 vias covered, 15 labels

Nothing says "0 power inputs, 0 test points found". result.json has only schemaVersion, passed, coverageErrors, missingObstacles, collisions, inventoryItems, obstacles, marks, nativeVerified, note. To show the checks were live, I had to build negative controls:

  • a copy with the VIN voltage label removed gives Warning: 1 power input(s) whose silkscreen label gives no voltage: J1 (VIN);
  • a copy with a copper-pad footprint renamed TP1 gives Warning: 1 test point(s) with no silkscreen label within 2 mm ....

A board renamed so an NPTH footprint is TP1 gives no warning (an NPTH is read as a hole, which is right, but it's also silent).

Ask:

  • Print one line per check on every silkscreen-audit --record and finish, even on a pass: power inputs: 0 found / power inputs: 1 (J1 VIN), all labelled with a voltage, and the same for test points.
  • Record powerInputs and testPoints (found, labelled, unlabelled, mismatched) in the result JSON and in the run.
  • Do the same for the LED-state and programming checks in finish ("no LEDs on the board: led-states.json not required"; "no programmable part: programming not required").

Then a check-and-report run can quote the tool instead of arguing from silence.

1 Reply

John Lauer ·

Done in adom-aiflow 0.2.19.

  • silkscreen-audit --record always prints the two lines, even on a pass: power inputs: 0 found, or power inputs: 1 (J1 VIN), all labelled with a voltage; and the same for test points: ....
  • The counts are recorded: powerInputs and testPoints (found, labelled, unlabelled, mismatched, items) go into the result JSON before it is hashed, and into the silkscreen outcome.
  • finish prints those two lines plus LED states: no LEDs on the board: led-states.json not required (or what it found) and programming: no programmable part: programming not required (or the parts and interface). It records them all in a new finish-checks outcome, which is saved even when finish fails.

Power inputs have no net to compare, so their mismatched count is always 0. A test point whose only pad is an NPTH is still read as a hole, so it shows as "0 found".

Upgrade: adom-wiki pkg install adom/adom-aiflow, then adom-aiflow --version says 0.2.19.

John Lauer closed this ·

Log in to reply.