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.
main
33ea9a6
6d ago
Wiki-first component and CAD coverage
Component coverage before placement
The early components step audits component identity, library coverage and model quality before models and placement. Run plan to read its ordered sourcing workflow. Inventory every reference on the actual board and schematic, and track exact manufacturer/MPN, supplier code, package and required ratings. Reuse exact wiki component pages first; check their assets rather than assuming a page contains a complete CAD bundle. Use adom-parts-search next and manufacturer/distributor sites for gaps. Pup is the browser fallback for JavaScript or blocked curl/fetch downloads; read its skill for current commands.
Publish missing identified component pages with verified symbol/footprint/model assets and provenance; improve existing pages instead of duplicating them. Do not invent identities for generic land patterns, DNP parts or bare copper test pads, or silently substitute a similar part. Record unresolved identities and missing assets separately. Generated/approximate bodies must be labelled. Keep model paths portable, preserve layout, rerun kicad_model_check, and visibly inspect native KiCad 3D before calling model coverage complete. The AI performs this sourcing audit; these instructions do not add an automatic sourcing or component-identity gate.
Global component pages serve ALL ADOM USERS. Publish only distinct reusable manufacturer parts or independently specified reusable custom components, after duplicate checking. Keep page titles and assets part-focused and portable. Board reference mappings, unresolved identities, one-off footprints, bare copper features and project-only assemblies belong in the board project wiki page, not new component catalog entries. Do not turn project-specific placeholders into generic-looking pages merely by renaming them.
Early component quality and MPN marking
Before placement, declare step components and run components with your --run and --ai-thread. It writes components.json, inventories every board reference and preserves review notes on rerun. This is an AI review register, not an automated geometry or licensing certification. Record wiki links, classification, dimensions, terminals, pin-1/polarity, plain/marked variants, top/bottom/oblique visual evidence and redistribution evidence. Unknowns remain unknown.
Use manufacturer drawings and permitted CAD as reference checks. Third-party downloads may be private reference-only; never redistribute them without permission, or call extracted/recolored/etched geometry independently authored. Compare independently generated geometry with dimensional and visual evidence. Publish only reusable assets on global pages; board-only definitions stay in the project.
MPN marking is on by default for ICs: every IC's model carries its laser-etched MPN and finish checks it (components --etch off declines for a run). Mark with adom-aiflow-etch --in <model.step> --mpn <MPN> --out <model.step>: it uses adom/adom-chip-laser but keeps the model's own colours (the service alone repaints the part black and grey), lays the text along the part's longest top-face direction, stands Y-up vendor models upright first (--up y), and writes a FLAT mark (each glyph's top face only, about a fifth of the triangles of the service's extruded glyphs). Until the service does these itself (adom/adom-chip-laser#2) the tool needs OpenCascade locally: it installs the lightweight cadquery-ocp-novtk build (about 0.4 GB; the full cadquery-ocp with VTK is about 1.3 GB and VTK is never needed to process STEP files). Ask the user, then run it with AIFLOW_ALLOW_LOCAL_OCC=1. Shared services come first; the local build is the fallback when they are busy or cannot do the job. Use --mark dark on light bodies. Component-page heroes add the footprint art per eda-component-hero (see aiflow-sourcing). Keep the plain model; cache a separate MPN-marked STEP, GLB and reviewed thumbnails when enabled, with input hash, generator version/parameters, text/mode and native-render evidence. Protect pin-1, polarity and functional features. Marking is an identification aid, not a claim of real factory markings. Do not regenerate a valid shared cache, and do not claim KiCad/Fusion/Altium parity until each named viewer was checked.
Provenance is required for shared component assets
Creating a new global component page is optional; truthful per-file provenance is required when publishing or improving one. Reuse and improve existing pages first. Keep board-only definitions in the board project. Add a readable provenance section and machine-readable asset record, linked prominently from the component README (including HTML READMEs without removing their existing content).
For every symbol, footprint, STEP, GLB and optional marked variant, record the source URL/file/revision and retrieval time, source and output SHA-256, authoring classification (manufacturer-supplied, source-derived, AI-created, or unknown), generator and version, parameters, units, transforms, modifications, redistribution evidence, checks performed and unresolved limits. A hash proves file identity, not quality or permission. Existing wiki availability alone does not establish upstream authorship or rights.
For AI-created geometry, explicitly say it is AI-created and identify the datasheet page/figure/table, dimensional numbers and assumptions used by the generator. Publish the generator or reproducible parameters, disclose simplifications, and distinguish independent geometry from a converted/extracted reference. Keep restricted reference CAD private; document what the comparison tested and did not test. Preserve the lineage from plain input to marked STEP to GLB, including full marking text/mode.
Link to the component page's issue tracker and ask reviewers to include the filename/hash, disputed dimension or pin, source evidence, EDA/version and screenshot. Never fill provenance gaps with plausible guesses. Unknown origins and failed or missing validation remain visible until supported by evidence.
Accept the page that users actually see
Read the shared wiki-component skill. Use manufacturer, exact MPN and function in a descriptive title, consistently across page.json and package.json. Read the live page metadata and its actual model_3d/STEP paths; compare downloaded file hashes with the selected reviewed variants. Adding a good GLB alongside an old hero binding does not fix the hero. Verify the static hero as well as the main native viewer, in the intended authenticated context. Wait for model import and camera-fit animation to settle before taking a screenshot; nonzero scene meshes and a valid PNG may still show a blank or partly painted body. Inspect the picture. Preserve visibility settings and other contributors' files.
Use exact per-asset permission evidence. An explicit rights-holder authorization can permit publishing a derivative of their own asset; document the statement, date, scope and affected hashes. Do not silently replace the upstream package license or apply that authorization to unrelated manufacturer CAD. Independently generated replacements disclose drawing dimensions, undimensioned approximations, comparison scope and the generator.
A native board can hide an existing model through appearance filters. KiCad's models-not-in-position-file setting is one example. Do not change BOM or position flags merely to make a model visible. Native model visibility, binding and document verification belong in the EDA bridge. AI Flow orchestrates and records; send bridge deficiencies to the owning bridge.
# Wiki-first component and CAD coverage
## Component coverage before placement
The early `components` step audits component identity, library coverage and model quality before `models` and placement. Run `plan` to read its ordered sourcing workflow. Inventory every reference on the actual board and schematic, and track exact manufacturer/MPN, supplier code, package and required ratings. Reuse exact wiki component pages first; check their assets rather than assuming a page contains a complete CAD bundle. Use `adom-parts-search` next and manufacturer/distributor sites for gaps. Pup is the browser fallback for JavaScript or blocked curl/fetch downloads; read its skill for current commands.
Publish missing identified component pages with verified symbol/footprint/model assets and provenance; improve existing pages instead of duplicating them. Do not invent identities for generic land patterns, DNP parts or bare copper test pads, or silently substitute a similar part. Record unresolved identities and missing assets separately. Generated/approximate bodies must be labelled. Keep model paths portable, preserve layout, rerun `kicad_model_check`, and visibly inspect native KiCad 3D before calling model coverage complete. The AI performs this sourcing audit; these instructions do not add an automatic sourcing or component-identity gate.
Global component pages serve ALL ADOM USERS. Publish only distinct reusable manufacturer parts or independently specified reusable custom components, after duplicate checking. Keep page titles and assets part-focused and portable. Board reference mappings, unresolved identities, one-off footprints, bare copper features and project-only assemblies belong in the board project wiki page, not new component catalog entries. Do not turn project-specific placeholders into generic-looking pages merely by renaming them.
## Early component quality and MPN marking
Before placement, declare `step components` and run `components` with your `--run` and `--ai-thread`. It writes `components.json`, inventories every board reference and preserves review notes on rerun. This is an AI review register, not an automated geometry or licensing certification. Record wiki links, classification, dimensions, terminals, pin-1/polarity, plain/marked variants, top/bottom/oblique visual evidence and redistribution evidence. Unknowns remain unknown.
Use manufacturer drawings and permitted CAD as reference checks. Third-party downloads may be private reference-only; never redistribute them without permission, or call extracted/recolored/etched geometry independently authored. Compare independently generated geometry with dimensional and visual evidence. Publish only reusable assets on global pages; board-only definitions stay in the project.
MPN marking is on by default for ICs: every IC's model carries its laser-etched MPN and `finish` checks it (`components --etch off` declines for a run). Mark with `adom-aiflow-etch --in <model.step> --mpn <MPN> --out <model.step>`: it uses adom/adom-chip-laser but keeps the model's own colours (the service alone repaints the part black and grey), lays the text along the part's longest top-face direction, stands Y-up vendor models upright first (`--up y`), and writes a FLAT mark (each glyph's top face only, about a fifth of the triangles of the service's extruded glyphs). Until the service does these itself (adom/adom-chip-laser#2) the tool needs OpenCascade locally: it installs the lightweight `cadquery-ocp-novtk` build (about 0.4 GB; the full `cadquery-ocp` with VTK is about 1.3 GB and VTK is never needed to process STEP files). Ask the user, then run it with `AIFLOW_ALLOW_LOCAL_OCC=1`. Shared services come first; the local build is the fallback when they are busy or cannot do the job. Use `--mark dark` on light bodies. Component-page heroes add the footprint art per eda-component-hero (see aiflow-sourcing). Keep the plain model; cache a separate MPN-marked STEP, GLB and reviewed thumbnails when enabled, with input hash, generator version/parameters, text/mode and native-render evidence. Protect pin-1, polarity and functional features. Marking is an identification aid, not a claim of real factory markings. Do not regenerate a valid shared cache, and do not claim KiCad/Fusion/Altium parity until each named viewer was checked.
## Provenance is required for shared component assets
Creating a new global component page is optional; truthful per-file provenance is required when publishing or improving one. Reuse and improve existing pages first. Keep board-only definitions in the board project. Add a readable provenance section and machine-readable asset record, linked prominently from the component README (including HTML READMEs without removing their existing content).
For every symbol, footprint, STEP, GLB and optional marked variant, record the source URL/file/revision and retrieval time, source and output SHA-256, authoring classification (manufacturer-supplied, source-derived, AI-created, or unknown), generator and version, parameters, units, transforms, modifications, redistribution evidence, checks performed and unresolved limits. A hash proves file identity, not quality or permission. Existing wiki availability alone does not establish upstream authorship or rights.
For AI-created geometry, explicitly say it is AI-created and identify the datasheet page/figure/table, dimensional numbers and assumptions used by the generator. Publish the generator or reproducible parameters, disclose simplifications, and distinguish independent geometry from a converted/extracted reference. Keep restricted reference CAD private; document what the comparison tested and did not test. Preserve the lineage from plain input to marked STEP to GLB, including full marking text/mode.
Link to the component page's issue tracker and ask reviewers to include the filename/hash, disputed dimension or pin, source evidence, EDA/version and screenshot. Never fill provenance gaps with plausible guesses. Unknown origins and failed or missing validation remain visible until supported by evidence.
## Accept the page that users actually see
Read the shared wiki-component skill. Use manufacturer, exact MPN and function in a descriptive title, consistently across page.json and package.json. Read the live page metadata and its actual model_3d/STEP paths; compare downloaded file hashes with the selected reviewed variants. Adding a good GLB alongside an old hero binding does not fix the hero. Verify the static hero as well as the main native viewer, in the intended authenticated context. Wait for model import and camera-fit animation to settle before taking a screenshot; nonzero scene meshes and a valid PNG may still show a blank or partly painted body. Inspect the picture. Preserve visibility settings and other contributors' files.
Use exact per-asset permission evidence. An explicit rights-holder authorization can permit publishing a derivative of their own asset; document the statement, date, scope and affected hashes. Do not silently replace the upstream package license or apply that authorization to unrelated manufacturer CAD. Independently generated replacements disclose drawing dimensions, undimensioned approximations, comparison scope and the generator.
A native board can hide an existing model through appearance filters. KiCad's models-not-in-position-file setting is one example. Do not change BOM or position flags merely to make a model visible. Native model visibility, binding and document verification belong in the EDA bridge. AI Flow orchestrates and records; send bridge deficiencies to the owning bridge.