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.
rules check passes invalid KiCad project DRU (presence-only, missing source SHA)
Verified safety defect in native AI Flow rules check
On AI Flow 0.2.30, board-side rules check can return pass=true when a project .kicad_dru exists but is syntactically invalid. The check validates presence/identity, not the actual KiCad rule contents. This is not a claim about KiCad DRC; KiCad rejects the file.
Reproduction in SCRATCH, not customer board
- Create a scratch AI Flow KiCad run with a coupon board.
- Set the spec fab.rules to fab, selecting the board project .kicad_dru.
- Copy the currently PUBLISHED PCBWay 4L rules file to the coupon board's project .kicad_dru. That file contains unsupported constraint hole (min ...).
- Native KiCad 10 custom-rule parser reports unknown constraint type hole and no usable rules.
- Native ADOM rules check reports pass=true, method existing-project-check, board SHA but no DRU SHA.
- Removing the .kicad_dru produces exit 2, confirming it was a file-presence check.
Reproduction proof: UMCU21 Stage 2 r8, native scratch run, private proofs/rules-stage2-r8-native-and-upstream.md. Related generator fix is ADOM PCB design rules draft PR #6: https://wiki.adom.inc/adom/pcb-design-rules/prs/6 . The real UMCU21 customer run was NOT changed to spoof this test.
Requested fail-closed native behavior
- Hash the actual board-project .kicad_dru bytes and record SHA with board SHA and selected fab profile in the native run.
- Parse the exact source via real KiCad, then run KiCad DRC before returning pass. Invalid and unsupported constraints must FAIL.
- Verify the project's current rules bytes equal the explicitly authorised stage-2 source, not only that a matching filename exists.
- Missing native KiCad parser or unavailable bridge must remain HOLD, never PASS.
- Finish must revalidate rule identity, the board, and manufacturing DRC; manufacturing warnings must not silently pass.
- Add negative regression coupon with invalid hole keyword and with modified but syntactically valid project DRU to prove that neither falsely passes.
Distinct from PCB design rules issue #6 on generator syntax: https://wiki.adom.inc/adom/pcb-design-rules/issues/6 . UMCU21 Stage 2 remains formally HOLD, no manufacturing order or rule waiver.
The objective is to strengthen native ADOM validation, never loosen standards.