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.
← Commit history
Merge PR #128: Verify actual component heroes and native visibility before accepting coverage
2 files changed
+11−1
docs/component-sourcing.md+8@@ -25,3 +25,11 @@ For every symbol, footprint, STEP, GLB and optional marked variant, record the s 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.
flows/board.json+3−1@@ -29,7 +29,9 @@ "Cache reviewed artifacts on the existing global component page: source/plain STEP, optional MPN STEP, GLB, thumbnails and machine-readable provenance. Record input hash, generator/tool version, parameters, units, transforms, marking text/mode, reference evidence and review results. Cache keys must change when geometry, text or generator parameters change. Keep board-only transforms and mappings in the board project. Never claim cross-EDA parity without rendering the variant in the named native viewers.", "When publishing or improving a component page, make per-file provenance mandatory even though creating a new page is optional. Record original source URL/file and revision, retrieval date, source and output SHA-256, authoring classification (manufacturer-supplied, source-derived, AI-created, or unknown), generator/version and parameters, units/transforms, redistribution evidence and limitations. For AI-created geometry cite the actual datasheet page/figure/table and dimensions used, list simplifications and reference comparisons, and never present copied/extracted CAD as independent work. State which checks ran and which remain unverified; retain plain and marked variant lineage. Put a readable provenance section on the page plus a machine-readable asset record and a link to that component's issue tracker. Unknown provenance stays unknown, not a fabricated source. Reuse/improve existing pages first; offer new global-page publication only for reusable components, keeping board-specific records in the project.", "For optional MPN marking, fit the text along the longest usable top-face direction with the largest legible size, respecting pin-1 and mechanical features. Compare both orientations and retain the package coordinate frame. Cache and identify the marked variant explicitly.",- "Offer the optional Hydrogen progress widget. If enabled, reuse saved component, marked-model, symbol and later board/analysis thumbnails via widget event; do not generate extra screenshots or call a model solely for the widget. Respect widget disable immediately."+ "Offer the optional Hydrogen progress widget. If enabled, reuse saved component, marked-model, symbol and later board/analysis thumbnails via widget event; do not generate extra screenshots or call a model solely for the widget. Respect widget disable immediately.",+ "Before accepting a wiki component, read its actual native model_3d and STEP bindings and hash the referenced downloads against the reviewed variants. Wait for the native viewer to finish painting, then inspect the visible body and readable mark; nonzero meshes or a successful HTTP request do not prove a painted model. Check the static hero too. Use a descriptive manufacturer/MPN/function title in both page.json and package.json; follow wiki-component and preserve other contributors and original files.",+ "A resolved 3D file may still be hidden by native EDA appearance filters (for example KiCad excludes models not in position files). Check those filters before inventing replacement parts or changing BOM/placement flags. Keep bridge-specific visibility, binding and native audit operations in the owning bridge; report missing capabilities there. Explicit rights-holder permission may authorize a derivative despite a restrictive package default; record who authorized what and its scope, without extending it to third-party assets." ] }, {