Open general

Circuit explorer ships 100 % auto-drawn: auto-drawn blocks are only a project-page check warning, never a finish open item

noah ·

What happened

The ESC-AM32-4IN1-AIFLOW page (adom/esc-am32-4in1-aiflow 1.0.1, private) shipped its circuit explorer with 0 blocks drawn by hand and 45 auto-drawn. Every block on the page is the fallback: each part with every pin labelled with its net and no wires. The page itself says "Auto-drawn: every pin labelled with its net. The textbook drawing of this block is still to be drawn", but the run never said so. Noah's verdict on seeing it: "The flow chart / schematic looks terrible".

Nothing in the run stopped or flagged it:

  • project-page check passed. Coverage is 100 % and there are 0 netlist differences, because the auto fallback is correct by construction. Auto-drawn blocks only become warnings (tools/page-build.py, check(): explorer block <b> is auto-drawn ...).
  • finish lists project-page check results as open items, but only its errors. It ended with "finish passed its checks", and the page's status line says the same.
  • deliver said nothing about it.

So a hands-off run, the default for these boards, can deliver a page whose interactive schematic is unreadable without anyone being told. The skill does say "drawn by you, textbook style", but the tooling never enforces it.

Versions

  • adom-aiflow 0.2.56 (+noah.1 local patches; page-build.py is stock 0.2.56)
  • KiCad 10.0.6, kicad-cli in the container
  • Run: ~/project/esc-am32-4in1/aiflow/run (rev A), hands-off full-ai

Repro

  1. Build a molecule page with project-page --molecule-bundle <folder> and no drawings in design/explorer/ (only the blocks.json scaffold).
  2. Run project-page check: it passes. Run finish: no open item for the explorer.
  3. The published readme.html shows "0 drawn by hand, 45 auto-drawn".

Proposed fix

  1. In project-page check, make an auto-drawn block an error (an open item in finish): circuit explorer: N of M blocks auto-drawn (pins labelled, no wires): draw them in <explorer dir>/<id>.json, or 'deviate "circuit explorer" --why ...'.
  2. Have deliver repeat the count in its note, and have the page status line say "circuit explorer not drawn (N of M auto)" rather than "finish passed its checks".
  3. In the project-page skill, state that hand drawings are part of the page's definition of done, not polish.

Related: #131 (an interactive schematic for humans) and #164 (molecule pages without the explorer).

1 Reply

Colby Knox ·

Noah, thanks for this and #198. Both are good ideas for every board, but they patch code that isn't in AI Flow. tools/page-build.py, the circuit explorer, project-page check and project-page --molecule-bundle aren't in the published package, at 0.2.56 or since, or on any branch. They seem to live in your local 0.2.56+noah.1 build.

Your explorer is the interactive schematic we've had open as #131 (and the last part of #164), so we'd love to have it in AI Flow for everyone. Could you send it as a pull request?

adom-wiki repo clone adom/adom-aiflow --dir adom-aiflow
# add tools/page-build.py, the explorer files and the project-page changes
adom-wiki pr create adom/adom-aiflow --title "Circuit explorer on the project page" --files <changed files> --body-file <what it does, how you tested>

Please base it on the current release (0.2.67). We'll review it, fold in this issue and #198 (flag auto-drawn blocks in finish, warn past about 15 flowchart nodes, one block per channel), test it and release it. It doesn't need to be polished; a working version is enough to start from.

Log in to reply.