Akhil Velagapudi
85e59ccf7f
Expose IPC-2581 source lands after copper removal ( #1229 )
...
* Expose IPC-2581 source lands after copper removal
Amp-Thread-ID: https://ampcode.com/threads/T-01a07c7b-e93d-76ee-88b1-a813994a5ecd
* Fix info JSON test after fallible API change
Amp-Thread-ID: https://ampcode.com/threads/T-01a07c7b-e93d-76ee-88b1-a813994a5ecd
2026-09-07 15:55:41 +00:00
Akhil Velagapudi
10ec137c44
ENG-1356: Prepare curved geometry to a stated accuracy ( #1171 )
...
Regions carry the resolution they were prepared at, so approximation budgets are chosen once and inherited instead of threaded through every signature. Elliptical arcs close the IR under affine transforms, making placement and expansion exact.
2026-09-07 10:45:54 -04:00
detail-app[bot]
2038c3de0f
fix(kicad-sch): deduplicate unmanaged ComponentNodes on repeated sheets ( #1221 )
...
* fix(kicad-sch): deduplicate unmanaged ComponentNodes on repeated sheets
* fix: add missing placed field in Sheet initializer in test
* Trim repeated-sheet regression setup and correct changelog placement
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-d107-7218-b21b-c4308253017d
* Remove redundant repeated-sheet reducer regression
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-d107-7218-b21b-c4308253017d
* Remove internal deduplication release note
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-d107-7218-b21b-c4308253017d
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: detail-app[bot] <detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:45:30 -04:00
detail-app[bot]
a0094b4947
fix(import): classify metric-only 0402Metric/0603Metric passives as 01005/0201 ( #1209 )
...
* fix(import): classify metric-only 0402Metric/0603Metric passives as 01005/0201
* fix: strip library namespace and use digit-boundary guard in parse_package_from_text
- Strip the KiCad library namespace (everything before ':') before matching
metric and imperial package tokens, so a library name such as '0402Metric'
or '1005Metric' cannot shadow the actual footprint name.
- Switch metric-suffix checks from plain contains() to contains_code() so
that '1005metric' is not spuriously matched inside '01005metric'.
- Add regression tests for both cases.
* fix(import): keep metric package precedence focused
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-395f-7383-bd2b-363ef353aa45
* fix(import): exclude namespaces at package extraction boundary
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-395f-7383-bd2b-363ef353aa45
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: detail-app[bot] <detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:45:28 -04:00
detail-app[bot]
fe889b2c93
fix(lsp): canonicalize stdlib path before prelude-injection check ( #1207 )
...
* fix(lsp): canonicalize stdlib path before prelude-injection check
* Simplify stdlib path regression coverage and correct changelog
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-28d3-714f-9c43-2c523c78d995
* Remove granular stdlib changelog entry
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-28d3-714f-9c43-2c523c78d995
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:43:52 -04:00
detail-app[bot]
eb8928c7cf
fix(ipc2581): Deduplicate component_placements when a RefDes repeats in the BOM ( #1214 )
...
* fix(ipc2581): Deduplicate component_placements when a RefDes repeats in the BOM
* test(ipc2581): condense placement dedup regression
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-f893-7239-95a2-e128a2c4934e
* docs: remove placement dedup release note
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-f893-7239-95a2-e128a2c4934e
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:43:47 -04:00
detail-app[bot]
a8c058dd4c
fix(migrate): walk root-level .zen files in pure-container workspaces ( #1218 )
...
* fix(migrate): walk root-level .zen files in pure-container workspaces
* Trim container migration regression and correct changelog placement
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-b43e-72db-bcef-810d8f6afd4e
* Limit container migration scan to direct root sources
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-b43e-72db-bcef-810d8f6afd4e
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:43:29 -04:00
detail-app[bot]
2994fc1ed0
fix(pcb-layout): resolve chained net renames in a single pass ( #1216 )
...
* fix(pcb-layout): resolve chained net renames in a single pass
* fix(import): apply allocated net names directly
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-11c9-72f3-b863-2bf2f74d374b
* fix(import): reject collisions with untouched PCB nets
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-11c9-72f3-b863-2bf2f74d374b
* docs: remove import rename bookkeeping release note
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-11c9-72f3-b863-2bf2f74d374b
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:43:24 -04:00
detail-app[bot]
1199479274
fix(doc): include [workspace].path in pcb doc --package <local-path> H1 header ( #1202 )
...
* fix(doc): include [workspace].path in pcb doc --package <local-path> H1 header
* Simplify doc URL regression coverage and fix changelog placement
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-bad4-733f-9f2c-7f504772908a
* Remove granular doc URL changelog entry
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-bad4-733f-9f2c-7f504772908a
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:43:23 -04:00
detail-app[bot]
5123458648
fix(pcb-sexpr): Reset backslash parity across whitespace in prettify ( #1208 )
...
* fix(pcb-sexpr): Reset backslash parity across whitespace in prettify
* Keep whitespace regression focused and correct Unreleased note
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-31f9-77f9-b250-c9b8fed8a891
* Reset backslash runs after every non-backslash source byte
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-31f9-77f9-b250-c9b8fed8a891
* Remove release note for internal formatter fix
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-31f9-77f9-b250-c9b8fed8a891
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:43:19 -04:00
detail-app[bot]
581a1f4a26
fix(schematic): preserve leading zeros in zero-padded stacked pin ranges ( #1201 )
...
* fix(schematic): preserve leading zeros in zero-padded stacked pin ranges
* Trim stacked pin padding fix and consolidate regression coverage
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-b0cc-717f-adb7-c7463d6c7ed0
* Remove granular stacked pin changelog entry
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-b0cc-717f-adb7-c7463d6c7ed0
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 10:43:10 -04:00
detail-app[bot]
c24843e256
fix(kicad): respect in_bom on extends-derived symbols ( #1223 )
...
* fix(kicad): respect in_bom on extends-derived symbols
* Simplify in_bom inheritance using raw symbol presence
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a16-e76d-759c-8cfb-491af3f79efc
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 09:46:04 -04:00
detail-app[bot]
196ea4adae
fix(geom): Bound inward ring decimation by point-to-segment distance ( #1220 )
...
Measure inward decimation error against the chord segment to preserve the boundary deviation limit. Add one forward-spike regression and record the fix in Unreleased.
2026-09-07 09:39:03 -04:00
detail-app[bot]
0764ff471b
fix(import): Escape Zener sync Path property when inserting into KiCad PCB ( #1212 )
...
* fix(import): Escape Zener sync Path property when inserting into KiCad PCB
* Simplify imported Path regression coverage and correct changelog
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-e2c3-72ce-8abe-b10881d86081
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 09:30:00 -04:00
detail-app[bot]
e33f871e13
fix(spice_model): Diagnose malformed PARAMS tokens instead of panicking ( #1206 )
...
* fix(spice_model): Diagnose malformed PARAMS tokens instead of panicking
* Trim SPICE PARAMS regression coverage and correct changelog
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-de40-77f6-add1-b13adb8b9a1a
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 09:22:00 -04:00
detail-app[bot]
00775173a6
fix(rectify): exit non-zero on batch evaluation errors in fix/audit ( #1200 )
...
* fix(rectify): exit non-zero on batch evaluation errors in fix/audit
* Simplify rectify batch failure guard and regression coverage
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a12-f8d1-7117-89b8-de8a43733f67
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 09:13:53 -04:00
detail-app[bot]
63112d38cb
fix(graph): deduplicate external-port factors in all_simple_paths ( #1203 )
...
* fix(graph): deduplicate external-port factors in all_simple_paths
* refactor(graph): remove unused duplicate path traversal
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a13-c5e9-710c-9377-03eeea5bf07e
---------
Co-authored-by: detail-app[bot] <180357370+detail-app[bot]@users.noreply.github.com>
Co-authored-by: Akhil Velagapudi <akhil@diode.computer >
2026-09-07 08:44:28 -04:00
Akhil Velagapudi
1e0bf87ef9
Preinstall released pcb and configure Git credentials in orb setup
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a07a0f-a938-70b3-89d8-bdf7724e5f7b
2026-09-07 04:16:36 +00:00
Akhil Velagapudi
d41bb47aba
Consolidate BOM table and JSON rows by selected offer ( #1225 )
...
* Consolidate BOM table and JSON rows by selected offer
Amp-Thread-ID: https://ampcode.com/threads/T-01a07830-313a-754d-98f1-c37d1e612e1c
* Keep grouped BOM sourcing and totals consistent
Amp-Thread-ID: https://ampcode.com/threads/T-01a07830-313a-754d-98f1-c37d1e612e1c
* Share sourcing data once per BOM JSON group
Amp-Thread-ID: https://ampcode.com/threads/T-01a07830-313a-754d-98f1-c37d1e612e1c
2026-09-06 18:51:06 -04:00
Lenny Khazan
55d2ac1ed7
feat: scaffold a starter board specification ( #1199 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a073fb-bbd6-76db-8ac8-f4df82db770e
Co-authored-by: Amp <amp@ampcode.com >
2026-09-05 22:03:08 -04:00
Lenny Khazan
6a3d88fde1
Upgrade shipped symbols to KiCad 10 and enforce their format ( #1198 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a07398-1a5e-751d-9d9c-c9e05b3d1313
Co-authored-by: Amp <amp@ampcode.com >
2026-09-05 22:19:00 +00:00
Diode Robot
04b702e2c9
Sync skills from diode f5fd8b0
2026-09-05 22:12:26 +00:00
Diode Robot
ac82871565
Release v0.4.51
v0.4.51
2026-09-05 21:27:18 +00:00
Akhil Velagapudi
c5d478f5fa
Refactor DFM land indices and drill-span predicates ( #1197 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06fed-87e0-7538-90e4-37ac4beb8e7d
2026-09-05 17:10:48 -04:00
Lenny Khazan
2455354a4f
fix(lsp): use cached BOM matches during schematic evaluation ( #1195 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a072c4-74c1-774a-9a36-5307843f02b4
Co-authored-by: Amp <amp@ampcode.com >
2026-09-05 20:35:28 +00:00
Lenny Khazan
3d82841166
Preserve hierarchical sheet ownership when placements are deleted ( #1196 )
...
* fix: preserve hierarchical sheet ownership when placements are deleted
Amp-Thread-ID: https://ampcode.com/threads/T-01a072c8-0941-7019-a2ca-68b1e2352816
Co-authored-by: Amp <amp@ampcode.com >
* fix: handle retained sheet repair collisions and hierarchy changes
Amp-Thread-ID: https://ampcode.com/threads/T-01a072c8-0941-7019-a2ca-68b1e2352816
Co-authored-by: Amp <amp@ampcode.com >
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-09-05 15:58:28 -04:00
Akhil Velagapudi
4380d848ea
Reuse clearance measurement sites for slot enclosure
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-9cfd-7440-9ecf-8836e8d46994
2026-09-05 14:43:38 -04:00
Akhil Velagapudi
e7ff4cc5cb
Check nominal plated-slot copper enclosure in DFM
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-9cfd-7440-9ecf-8836e8d46994
2026-09-05 14:43:38 -04:00
Akhil Velagapudi
6e62e9547a
Omit unproven slot spans from lazy non-span reports
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-93fa-71ed-8809-48e2d6ffaf67
2026-09-05 13:30:02 -04:00
Akhil Velagapudi
bb7a9f62a5
Use Diode slot clearance guidance as preferred warnings
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-93fa-71ed-8809-48e2d6ffaf67
2026-09-05 13:30:02 -04:00
Akhil Velagapudi
82cfedbc7d
Use shared physical copper ordering for slot spans
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-93fa-71ed-8809-48e2d6ffaf67
2026-09-05 13:30:02 -04:00
Akhil Velagapudi
e5ec70846c
Check routed slot clearance to unrelated copper
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-93fa-71ed-8809-48e2d6ffaf67
2026-09-05 13:30:02 -04:00
Akhil Velagapudi
7ce07ed66f
Warn about narrow soldermask webs in IPC profiles
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-8b50-768d-92c5-09d1c2b11c07
2026-09-05 13:00:15 -04:00
Akhil Velagapudi
153b1ac54d
Add IPC copper-to-board-edge clearance baseline
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-82fd-718e-8236-82a14bd28295
2026-09-05 12:52:31 -04:00
Akhil Velagapudi
1690be30fc
Add circular hole-pair clearance to IPC profiles
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-7ac7-750b-89da-1bf50017fa8a
2026-09-05 12:45:13 -04:00
Akhil Velagapudi
4c183bca95
Add Diode slot-width minima to IPC profiles
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-7062-7368-93f9-5c251fd1cc65
2026-09-05 12:38:38 -04:00
Akhil Velagapudi
69c478b933
Add IPC profile hole diameter baselines
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-67ab-7679-927b-b7ee2ff242b8
2026-09-05 12:32:52 -04:00
Akhil Velagapudi
3529f086d6
Resolve slot layer order lazily once per extraction
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a07258-4a95-77bc-8efc-fb545eef0ab7
2026-09-05 12:31:45 -04:00
Akhil Velagapudi
505704486b
Fix physical stackup spans for slot cutouts and hole-land links
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a07258-4a95-77bc-8efc-fb545eef0ab7
2026-09-05 12:31:45 -04:00
Akhil Velagapudi
ed52cffc4c
Add nominal annular-ring baselines to IPC profiles
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-5fd5-765d-85f9-f3be7c5de6a3
2026-09-05 12:26:11 -04:00
Akhil Velagapudi
2b49684d49
Add standard-derived copper spacing to IPC profiles
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-5835-77ff-80dc-b10d50c9d68d
2026-09-05 12:20:22 -04:00
Akhil Velagapudi
fee01c6c02
Enable standard-derived copper width in IPC profiles
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06ff2-4c26-7289-85ce-f6e16a6909c7
2026-09-05 12:14:28 -04:00
Akhil Velagapudi
3e026eb021
Fix hole-land associations after copper clears
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-35ff-7003-803b-32510aa6ea5e
2026-09-05 11:30:09 -04:00
Akhil Velagapudi
a94761fd31
Fix circular drill checks to use physical stackup order
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-467c-7365-a288-35283edfce0c
2026-09-05 11:29:53 -04:00
Akhil Velagapudi
c20e51ca32
Fix IPC-2581 tools tests without default features ( #1179 )
...
* Fix IPC-2581 tools tests without default features
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-4f0d-77b6-adc4-0a2520088d96
* Move ENG-1374 changelog entry to avoid concurrent insertion conflict
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-4f0d-77b6-adc4-0a2520088d96
2026-09-05 11:23:45 -04:00
Diode Robot
aaa904fc00
Sync skills from diode 95e0267
2026-09-05 15:20:15 +00:00
Akhil Velagapudi
e329460f10
Fix hole clearance ownership for reused source indices
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-3e8f-759c-ad42-5e7776a4df3c
2026-09-05 11:18:50 -04:00
Akhil Velagapudi
53e6d7d949
Fix phantom copper on cutout-only artwork layers
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a0721b-2ded-76bb-b5f5-2e09080667ee
2026-09-05 15:09:56 +00:00
Diode Robot
3eee544ff0
Release v0.4.50
v0.4.50
2026-09-05 15:02:19 +00:00
Akhil Velagapudi
c8254cb36e
Support opaque service-account client IDs ( #1177 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06fc6-8f9f-70e8-b832-f27bd1213cab
2026-09-05 00:42:51 -04:00