← Commit history
checkpoints/diode-thermal-board17/comparison.jsonadded+51
@@ -0,0 +1,51 @@+{+  "status": "current-screen-only",+  "pitchMm": 0.1,+  "baselineReuse": "Previous accepted board 17 fine-mesh screen; saved physical copper matches that candidate",+  "inputsSha256": {+    "checkpoints/shunt-mesh-0p1/candidate.json": "ab0f5d020d1be8b957844a4cdec5ff052d22f5d7d0fe751f5c2883b897fc4529",+    "checkpoints/diode-thermal-board17/current-0p1.json": "5a661df6552acbab641a050cbfa0979d051203e9bdd474c15a7d26cac50dc4ed",+    "checkpoints/diode-thermal-board17/candidate.kicad_pcb": "3094fcf70404fa4d2874b543c54b4826f8297cfafc9c17a8836e386a849644a3",+    "design/spec-current-mesh.json": "e7e1d9c69e520c0253915c84eb74c542da54b05ac62a8e08bc806828cc58f76d",+    "/home/adom/project/adom-fields-two-layer-work/target/release/load_power_paths": "47191026c687d21a9f9b87f9dd6fcc5a32d7530296d7d59c89960ff0f6211fa5"+  },+  "rows": [+    {+      "net": "DUT_FUSED",+      "beforePeakAperMm2": 43.0,+      "afterPeakAperMm2": 43.0,+      "beforeLossW": 0.004,+      "afterLossW": 0.004+    },+    {+      "net": "DUT_POS",+      "beforePeakAperMm2": 42.0,+      "afterPeakAperMm2": 42.0,+      "beforeLossW": 0.015,+      "afterLossW": 0.015+    },+    {+      "net": "GND",+      "beforePeakAperMm2": 43.3,+      "afterPeakAperMm2": 43.3,+      "beforeLossW": 0.055,+      "afterLossW": 0.055+    },+    {+      "net": "LOAD_POS",+      "beforePeakAperMm2": 48.4,+      "afterPeakAperMm2": 46.4,+      "beforeLossW": 0.029,+      "afterLossW": 0.027+    },+    {+      "net": "SHUNT_P",+      "beforePeakAperMm2": 59.4,+      "afterPeakAperMm2": 59.4,+      "beforeLossW": 0.027,+      "afterLossW": 0.027+    }+  ],+  "candidateIssues": [],+  "thermalQualification": false+}
checkpoints/diode-thermal-board17/native-drc.jsonadded+262
@@ -0,0 +1,262 @@+{
+    "$schema": "https://schemas.kicad.org/drc.v1.json",
+    "coordinate_units": "mm",
+    "date": "2026-10-09T11:46:41",
+    "ignored_checks": [
+        {
+            "description": "Footprint has no courtyard defined",
+            "key": "missing_courtyard"
+        },
+        {
+            "description": "Track endpoint not centered on via",
+            "key": "track_not_centered_on_via"
+        },
+        {
+            "description": "Tuning profile track geometries",
+            "key": "tuning_profile_track_geometries"
+        },
+        {
+            "description": "Footprint doesn't match symbol's footprint filters",
+            "key": "footprint_filters_mismatch"
+        },
+        {
+            "description": "Footprint component type doesn't match footprint pads",
+            "key": "footprint_type_mismatch"
+        }
+    ],
+    "included_severities": [
+        "error",
+        "warning"
+    ],
+    "kicad_version": "10.0.5",
+    "schematic_parity": [],
+    "source": "candidate.kicad_pcb",
+    "unconnected_items": [],
+    "violations": [
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint MP2",
+                    "pos": {
+                        "x": 160.0,
+                        "y": 100.0
+                    },
+                    "uuid": "08489986-63c7-4cfe-ba45-67384ef79934"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint J6",
+                    "pos": {
+                        "x": 140.0,
+                        "y": 100.0
+                    },
+                    "uuid": "0f2f475f-8a1f-4250-9e5f-96a617ceb70b"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint MP3",
+                    "pos": {
+                        "x": 100.0,
+                        "y": 32.0
+                    },
+                    "uuid": "161d93fc-6ce8-463d-9fa1-016137c7ae90"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Load'",
+            "items": [
+                {
+                    "description": "Footprint RSH1",
+                    "pos": {
+                        "x": 138.0,
+                        "y": 85.0
+                    },
+                    "uuid": "1b28c787-9318-4dde-92f8-6e710aa3f214"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint MP1",
+                    "pos": {
+                        "x": 100.0,
+                        "y": 100.0
+                    },
+                    "uuid": "25251d59-4aaa-4d73-8a60-f16f3fee910a"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint J5",
+                    "pos": {
+                        "x": 136.0,
+                        "y": 100.0
+                    },
+                    "uuid": "2efeacb9-e84f-4884-8900-42f70fb8d64e"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint J2",
+                    "pos": {
+                        "x": 112.0,
+                        "y": 100.0
+                    },
+                    "uuid": "30ee7a6c-6b1c-4933-ba62-4f7a83e50956"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint J4",
+                    "pos": {
+                        "x": 124.0,
+                        "y": 100.0
+                    },
+                    "uuid": "3bb8b85a-c230-405c-9d0a-dfd2caaa5eb9"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint MP4",
+                    "pos": {
+                        "x": 160.0,
+                        "y": 32.0
+                    },
+                    "uuid": "515ee778-8175-412f-b3bf-3b8e5b10660b"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Load'",
+            "items": [
+                {
+                    "description": "Footprint U2",
+                    "pos": {
+                        "x": 118.0,
+                        "y": 66.0
+                    },
+                    "uuid": "6de86714-f970-4490-9f2b-5fb47eb0b141"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint J3",
+                    "pos": {
+                        "x": 120.0,
+                        "y": 100.0
+                    },
+                    "uuid": "8730c443-01a7-40e8-a338-20bb4d4719de"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Load'",
+            "items": [
+                {
+                    "description": "Footprint U4",
+                    "pos": {
+                        "x": 141.0,
+                        "y": 77.0
+                    },
+                    "uuid": "b585e065-e8ac-43c3-9bea-a846c5f7a747"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint J7",
+                    "pos": {
+                        "x": 144.0,
+                        "y": 100.0
+                    },
+                    "uuid": "e8f5ce02-a259-45e9-a4f1-ef182fb58bb6"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Load'",
+            "items": [
+                {
+                    "description": "Footprint L1",
+                    "pos": {
+                        "x": 144.0,
+                        "y": 95.6
+                    },
+                    "uuid": "f710bbae-8af4-4faf-8c03-b1959083aa62"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        },
+        {
+            "description": "The current configuration does not include the footprint library 'Molecule'",
+            "items": [
+                {
+                    "description": "Footprint J1",
+                    "pos": {
+                        "x": 108.0,
+                        "y": 100.0
+                    },
+                    "uuid": "fca7a827-0407-443b-9729-c18bb9614a8c"
+                }
+            ],
+            "severity": "warning",
+            "type": "lib_footprint_issues"
+        }
+    ]
+}
checkpoints/diode-thermal-board17/plan.jsonadded+185
@@ -0,0 +1,185 @@+{+  "engine": "adom-aiflow thermal-vias plan",+  "nets": [+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            119.65,+            91.0+          ],+          {+            "layer": "B.Cu",+            "x": 119.65,+            "y": 91.0+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    },+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            118.09528823734364,+            93.13987716166409+          ],+          {+            "layer": "B.Cu",+            "x": 118.09528823734364,+            "y": 93.13987716166409+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    },+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            117.16481095764779,+            93.23767426457862+          ],+          {+            "layer": "B.Cu",+            "x": 117.16481095764779,+            "y": 93.23767426457862+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    },+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            116.275,+            92.94855715851499+          ],+          {+            "layer": "B.Cu",+            "x": 116.275,+            "y": 92.94855715851499+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    },+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            115.19916789834895,+            91.46780130433996+          ],+          {+            "layer": "B.Cu",+            "x": 115.19916789834895,+            "y": 91.46780130433996+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    },+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            115.19916789834895,+            90.53219869566004+          ],+          {+            "layer": "B.Cu",+            "x": 115.19916789834895,+            "y": 90.53219869566004+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    },+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            115.57971176265637,+            89.67748318234193+          ],+          {+            "layer": "B.Cu",+            "x": 115.57971176265637,+            "y": 89.67748318234193+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    },+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            116.275,+            89.05144284148501+          ],+          {+            "layer": "B.Cu",+            "x": 116.275,+            "y": 89.05144284148501+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    },+    {+      "net": "LOAD_POS",+      "paths": [+        [+          [+            117.16481095764779,+            88.76232573542138+          ],+          {+            "layer": "B.Cu",+            "x": 117.16481095764779,+            "y": 88.76232573542138+          }+        ]+      ],+      "viaDrill": 0.3,+      "viaSize": 0.6,+      "why": "heatsink via for D1",+      "width": 0.6+    }+  ]+}\ No newline at end of file
design/thermal-vias-board17-reconciled.txtadded+5
@@ -0,0 +1,5 @@+OK: heatsink via plan (9 vias): aiflow/run/plan-thermal-vias.json+  D1    LOAD_POS target 10  existing  1  planned  9+  Q1    LOAD_POS target 16  existing  0  planned  0  (room for 0 of 16 vias within 3 mm of Q1 and inside both planned LOAD_POS copper regions: review local copper and cooling; native refill/connectivity still required)+  RSH1  SHUNT_P target  6  existing  3  planned  0  (room for 3 of 6 vias within 3 mm of RSH1 and inside both planned SHUNT_P copper regions: review local copper and cooling; native refill/connectivity still required)+Hint: Review it with the human in one line per part, then `thermal-vias land`. A part with a note needs your call: pour its net on the other layer, move a neighbour, or `--ack REF --why`.
design/thermal-vias-board17.txtadded+5
@@ -0,0 +1,5 @@+OK: heatsink via plan (0 vias): aiflow/run/plan-thermal-vias.json+  D1    LOAD_POS target 10  existing  0  planned  0  (room for 0 of 10 vias within 3 mm of D1 and inside both planned LOAD_POS copper regions: review local copper and cooling; native refill/connectivity still required)+  Q1    LOAD_POS target 16  existing  0  planned  0  (room for 0 of 16 vias within 3 mm of Q1 and inside both planned LOAD_POS copper regions: review local copper and cooling; native refill/connectivity still required)+  RSH1  SHUNT_P target  6  existing  3  planned  0  (room for 3 of 6 vias within 3 mm of RSH1 and inside both planned SHUNT_P copper regions: review local copper and cooling; native refill/connectivity still required)+Hint: Review it with the human in one line per part, then `thermal-vias land`. A part with a note needs your call: pour its net on the other layer, move a neighbour, or `--ack REF --why`.
docs/completion-plan.md+1−1
@@ -19,4 +19,4 @@ The finish gate has not passed. The board is not released for fabrication.  ## Fan component delivery -Sunon MF40200V1-1000U-G99 version 0.2.1 is published in source and registry: factory flying leads, explicitly added Harwin harness, connector symbols/header footprint, complete static STEP/GLB variants and gentle 20-second hero cycle. Published playback, stopped mode and native connector parsing passed. Wiki Skill Pack 0.8.42 and Component Widgets 1.1.17 teach restrained state heroes and honest termination variants. Three raw recordings were added; two full-cycle takes decoded and reviewed, one short take is not a complete cycle. This supporting task does not complete load cooling or the finish gate.+Sunon MF40200V1-1000U-G99 version 0.2.3 is published in source and registry: factory flying leads, explicitly added Harwin harness, connector symbols/header footprint, complete static STEP/GLB variants and gentle 20-second hero cycle. Published playback, stopped mode and native connector parsing passed. Wiki Skill Pack 0.8.42 and Component Widgets 1.1.17 teach restrained state heroes and honest termination variants. Three raw recordings were added; two full-cycle takes decoded and reviewed, one short take is not a complete cycle. This supporting task does not complete load cooling or the finish gate.
docs/fan-feedback.md+1−1
@@ -10,6 +10,6 @@ Host C tests cover slow, zero, implausibly fast, nonfinite and unqualified RPM,  The reusable [fan component page](https://wiki.adom.inc/adom/mf40200v1-1000u-g99) contains the symbol, mechanical mounting pattern, nominal STEP, animated GLB, thumbnails and fan-specific state skill. Its preview is simulated and does not switch this board's always-powered fan. The proposed motion contract separates `Fan.Housing` and `Fan.Rotor`; `Fan.Rotor.Revolution` plays at RPM/60 cycles per second, with explicit presentation scaling. Measured telemetry must carry freshness/validity; unknown feedback must never look like confirmed OFF. -On 9 October, fan component 0.2.1, Wiki Skill Pack 0.8.42 and Component Widgets 1.1.17 were released with gentle hero-presentation guidance and explicit connector assets. The baked hero animation works in the published canonical viewer without a new state runtime. The optional Adom harness is M20-1060300 plus three M20-1180046 contacts, mating with J9 M20-9990346. Native board readback confirms J9 pins 1/2/3 are 5V_AUX/GND/FAN_TACH, matching the documented red/black/yellow assembly map. The factory fan is bare-ended; orientation, strip preparation, crimp and continuity checks are still required.+On 9 October, fan component 0.2.3, Wiki Skill Pack 0.8.42 and Component Widgets 1.1.17 were released with gentle hero-presentation guidance and explicit connector assets. The baked hero animation works in the published canonical viewer without a new state runtime. The optional Adom harness is M20-1060300 plus three M20-1180046 contacts, mating with J9 M20-9990346. Native board readback confirms J9 pins 1/2/3 are 5V_AUX/GND/FAN_TACH, matching the documented red/black/yellow assembly map. The factory fan is bare-ended; orientation, strip preparation, crimp and continuity checks are still required.  Interactive shared motion-widget integration remains proposed in [Component Widgets PR 1](https://wiki.adom.inc/adom/component-widgets/prs/1), [wiki motion-authoring PR 8](https://wiki.adom.inc/adom/adom-wiki-skillpack/prs/8), and [Probing issue 1](https://wiki.adom.inc/adom/adom-aiflow-probing/issues/1). These remained open when checked on 9 October. AIFlow PR 32 is closed, not merged; do not cite it as a pending runtime delivery. Published hero playback does not establish a released probing simulator capability.
docs/status.md+6
@@ -1,3 +1,9 @@+# Current checkpoint - 2026-10-09, 16:59 UTC++Fan component 0.2.3 is published and installed with the gentle 20-second hero cycle, factory flying leads, explicit added Harwin harness, grid-aligned connector symbols, mating-header footprint and static complete STEP/GLB variants. Wiki Skill Pack 0.8.42 and Component Widgets 1.1.17 teach this authoring pattern. Native symbol/footprint and published animation/static checks passed; physical crimp and fit remain unverified. Three raw fan recordings were added, bringing the inventory to 57; the short take is not a complete state cycle.++AIFlow has resumed thermal-vias. Its declared pour boundaries now match accepted board 17. A nine-via D1 candidate passes native DRC (zero errors/opens) and coarse/fine explicit-terminal screens. At 0.1 mm, LOAD_POS peak improves from 48.4 to 46.4 A/mm2; SHUNT_P remains 59.4, still a small margin. Live adoption has not yet completed. Cooling interface, mounting and formal thermal/finish gates remain unresolved. A revised four-hole mounting envelope cleared fitted bodies but collided with TP3 and TP7, so it was not adopted.+ # Latest accepted board — 2026-10-09, 16:07 UTC  Board 17 contains the verified shunt refinement: zero native DRC errors/opens, exact saved-copper match, and experimental current peaks below 60 A/mm² at both 0.2 and 0.1 mm mesh. The fine-mesh shunt peak is 59.4, a small margin. Formal current/thermal gates and cooling/mounting remain unfinished. See [shunt evidence](shunt-final-review.md). There are 54 indexed raw takes; many remain unsuitable for the final edit.