app
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.
project-page check: 'no BOM row' for bare test pads the BOM lists as board features
What happened
project-page check fails a molecule page with components: no BOM row for TP1, TP2, ... for every bare test pad. The page builder itself treats the same test pads as board features:
- The BOM lists them with
mpn"no part" (bare copper, DNP). read_bom()turns those rows into{"feature": true}lines.- The page says "48 board features (machine pins, contacts, test pads) not bought".
check_bundle() then builds need from every netlist part with an mpn. The test pads have one in the netlist (Adom_TestPoint_D0.5mm, page adom/testpoint-pad-0-5mm). So it asks for a bought-part row for a part the BOM correctly lists as a feature, and the check can never pass on a board with test pads.
Versions
- adom-aiflow 0.2.56 (tools/page-build.py stock)
- Board: adom/esc-am32-4in1-aiflow rev B, 48 x 0.5 mm test pads
Repro
- Netlist parts TP1... with
mpn: Adom_TestPoint_D0.5mm; BOM rows for them with mpnno part. project-page --molecule-bundle <folder>, thenproject-page check.- Error:
components: no BOM row for TP1, TP2, ....
Fix (tested locally; the check passes and the page is unchanged)
In check_bundle():
feat = {r for l in bj.get("lines") or [] if l.get("feature") for r in l.get("refs") or []}
need = [r for r, p in parts.items() if p.get("mpn") and r not in feat]