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: Manufacturing shows finish's pre-export snapshot ('Not cleared for fabrication', raw {'state': ...} dict) after export and deliver passed
What happens
The project page's Manufacturing section shows the verification snapshot that finish wrote, before export ran, so a board that passed every check at delivery is published as:
Checked by finish: DRC yes, ERC yes, body overlap yes, connectivity yes, courtyards yes, fills in Gerbers {'state': 'not known', 'why': 'not exported yet (run export)'}, fills in saved board yes, ... Not cleared for fabrication: fills in Gerbers not verified. Do not tell the human the board is ready to fabricate.
Two problems:
- Stale source.
tools/page-build.py(around line 2064) readsrun.summary.verified.finishwrites that (main.rs ~5428), and the flow runsfinishbeforeexport. The export outcome later recordsfillsGerbers.pass: trueandfillsCurrent.pass: true, anddeliverwritessummary.verifiedAtDeliverywithallPassed: true. The page never reads either, so it keeps telling readers the board is not cleared for fabrication. The last line is written as an instruction to the AI, yet it shows on a page that people read. - Raw dict on the page. A not-yes item is printed with
esc(v)on the state object, so readers see{'state': 'not known', 'why': '...'}, HTML-escaped, instead of "not known (not exported yet)".
Repro
adom-aiflow 0.2.56 (local build 0.2.56+noah.1; the page-build code is unchanged from stock), KiCad 10.0.4 on Windows through the KiCad Bridge, run rgbcct-led-driver-claude-opus-5-5-20261106-1841:
finish(summary.verified has fills in Gerbers = not known, because no export exists yet).export(fillsGerbers pass, fillsCurrent pass).- Page build and push (21:41Z, same board sha256 as the export, 12 min after it).
deliver(verifiedAtDelivery: every item yes).
The live page (noah/rgbcct-canfd-led-driver, private) said "Not cleared for fabrication" for three days. The owner was ordering the board at JLCPCB at the time.
Expected
- Recompute the list when the page is built:
verified::run_itemson the run's current outcomes, the wayexportanddeliverdo. Or preferverifiedAtDelivery, then the export-time result, and only thensummary.verified, and print which one it is ("Checked at delivery", "Checked at export"). - Render a state object as
<state> (<why>). - Keep the AI-directed wording ("Do not tell the human ...") off the published page. Readers need "not verified yet: fills in Gerbers", not an instruction to an AI.
- Optional: the "Checked by finish" label hides that the list is a snapshot. Date it.
I fixed this page by hand, but the next page build will bring the stale text back.
1 Reply
Log in to reply.