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.
silkscreen-audit: bounding boxes turn 45-degree labels and round pads into false collisions; build the input from the board
Found on AM32 ESC v1 (48 hand-placed labels, the test-point labels at 45 degrees), 0.2.51; unchanged in 0.2.54.
What happened. The skill and the --record check ask the AI to build the audit input from the board. Built the obvious way (each label's bounding box, each pad's bounding box, as the earlier am32-esc-32 run did), the audit reported 54 collisions and 10 labels "on exposed copper". KiCad's own shape test (GetEffectiveTextShape().Collide(pad.GetEffectiveShape(F_Cu))) finds ink on exactly one pad. A 45-degree label's axis-aligned box covers about twice its ink; a round pad's box (test point, contact, machine pin) adds four empty corners. The AI was led to report false problems to the human.
What worked. The schema already allows boxes: one box per stroke (GetEffectiveTextShape().GetSubshapes()), round pads and silk circles as four stacked boxes that hold every point of the circle (at most 8 % past it), vias as their full box, as --record requires. The same board then shows 45 collisions, each one real or a policy question (a label touching a test point's silk ring or inside a contact's courtyard circle). Script attached (build_silk_audit.py, as .txt; pcbnew 10.0.6).
Ask. silkscreen-audit --board <board> should build this input itself from the saved board instead of every AI writing its own builder, so the pass and fail are the same for every engine, and the hint should say the audit is a rectangle check.