Lenny Khazan
f9c98abeb7
feat: prefer Board(path) with layout_path compatibility ( #1267 )
...
* feat: use project path in Board with layout_path compatibility
Amp-Thread-ID: https://ampcode.com/threads/T-01a08986-f282-7225-8fba-ba0448e07284
Co-authored-by: Amp <amp@ampcode.com >
* fix: preserve board template compatibility and reject empty paths
Amp-Thread-ID: https://ampcode.com/threads/T-01a08986-f282-7225-8fba-ba0448e07284
Co-authored-by: Amp <amp@ampcode.com >
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-09-10 13:35:58 -04:00
Akhil Velagapudi
2bc8ca73f6
ENG-1441: Expose the CLI geometry accuracy budget
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a07c7f-dbdd-70ef-b61e-694d08c325e1
2026-09-07 12:28:12 -04:00
Akhil Velagapudi
be6c03481e
docs: remove bringup and README convention pages
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06f70-15f1-72fd-9321-6cb7dfa45e18
2026-09-04 23:22:31 -04:00
Akhil Velagapudi
19b3182dfd
docs: shorten MDX guides and remove repeated examples
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06f70-15f1-72fd-9321-6cb7dfa45e18
2026-09-04 23:22:31 -04:00
Akhil Velagapudi
5fb8631c8b
docs: trim agent guidance and consolidate getting-started docs ( #1174 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a06f6c-cbd8-76ba-9cf2-0a6ddebc0317
2026-09-04 23:12:44 -04:00
Akhil Velagapudi
bc9db5ce60
Simplify BOM match caching
2026-09-03 23:17:53 -04:00
Akhil Velagapudi
89ef136128
Reject odd copper layer counts ( #1138 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a05f0d-3a9c-772d-bcd9-24d7dcf14340
Co-authored-by: Amp <amp@ampcode.com >
2026-09-01 20:25:45 -04:00
Akhil Velagapudi
14ebd87fd8
ENG-1166 Preserve 64-bit JSON configuration integers
...
Delete the custom JSON-to-Starlark converter that truncated integers to i32 and allocate with Starlark's heap.alloc instead.
Amp-Thread-ID: https://ampcode.com/threads/T-01a05503-2085-769a-86c0-7eebfe657db2
2026-08-30 23:50:45 +00:00
Akhil Velagapudi
a31b48b499
Use API-only generic BOM matching ( #1100 )
...
* Preserve BOM match provenance in output
* Remove local generic BOM matching
* Fix grouped BOM status rendering
* Cache BOM sourcing groups atomically
* Shorten BOM changelog entry
2026-08-27 14:42:06 -04:00
Akhil Velagapudi
1d870bf438
ENG-1019 Cache PCB BOM matches per line ( #1088 )
...
* ENG-1019 Cache PCB BOM matches per line
* ENG-1019 Preserve completed BOM match lines
2026-08-25 15:47:14 -04:00
Akhil Velagapudi
5e9bdc05d1
Remove PCB preview and hide vendor command ( #1080 )
...
* Remove pcb preview
* Hide pcb vendor from help
2026-08-22 23:22:26 -04:00
Akhil Velagapudi
34e65e1ef1
Cache pcb bom offers + selection data ( #1066 )
...
* Cache PCB BOM match responses
* Simplify PCB BOM cache policy
* Trust API-selected BOM identity
* Align BOM cache with cache conventions
2026-08-19 01:34:24 -04:00
Akhil Velagapudi
8aaa4bd703
Clarify toolchain pin documentation
2026-08-03 19:11:11 -04:00
Lucia Camacho
57b95af03c
Enable strict BOM matching by default ( #996 )
2026-08-03 16:58:30 -04:00
Akhil Velagapudi
7b26929d22
Use DiodeHub Registry defaults
2026-08-03 01:41:38 -04:00
Akhil Velagapudi
362aab5491
Refine technical documentation
2026-07-21 14:22:42 -04:00
Damien Espitallier
911acf9cab
SpiceModel accepts PhysicalValue directly in args
2026-07-20 17:36:17 +02:00
Damien Espitallier
695306f8ce
doc: spec.mdx update for spice PhysicalValue function
2026-07-20 17:36:17 +02:00
Akhil Velagapudi
2f1c6e37be
Adopt five-axis SI unit dimensions
2026-07-10 11:10:46 -04:00
Akhil Velagapudi
b479789c51
Add composable physical quantity types
2026-07-10 11:10:46 -04:00
Lenny Khazan
1258a8b3b7
docs(pcb): add registry app guide ( #918 )
2026-07-06 03:48:43 +00:00
Akhil Velagapudi
ce1129ed4c
Add pcb sync check mode ( #914 )
...
* Add pcb sync check mode
* Simplify sync check mode after review
- `pcb sync --check` always verifies the whole workspace regardless of
cwd, so a subdirectory check can no longer false-pass on stale vendor
entries or sibling-package drift
- run_resolution no longer creates the workspace cache symlink (the sync
path never reads it; the frozen build path ensures it itself), so
--check writes nothing to the workspace
- drift report prints to stderr and uses workspace-relative paths for
all three line kinds; VendorCopy drops its redundant fields
- VendorPlan::apply trusts the plan (no exists re-checks, counts from
len) and owns the prune debug log; planning no longer logs "Pruning"
- delete dead code: copy_remote_package_to_vendor,
RemotePackageVendorStatus, vendor_selected, and the always-false
offline plumbing under PackageResolver (SpecVersionResolver, scan)
- drop the empty-vendor-dir scaffolding and patterns_configured field;
vendor/ is only created when something is actually vendored
- tests: assert --check leaves vendor/ untouched on drift, cover checks
from a subdirectory, consolidate the SimpleResistor seed helpers
- docs/CHANGELOG: scope the --check promise (whole workspace, missing or
stale vendored versions, not contents) and note sync's all-or-nothing
manifest writes
2026-07-02 17:08:24 -04:00
Akhil Velagapudi
7685f55fa7
Treat NotConnected as open-net constructor ( #898 )
2026-06-23 10:04:14 -04:00
Akhil Velagapudi
caf7d63a8f
Update pcb-version examples to 0.4 ( #897 )
2026-06-22 18:24:09 -04:00
Akhil Velagapudi
4e01cb2635
Bundle kicad lib assets into lib/std ( #886 )
...
* docs: simplify README
* Add third-party notices
* Bundle stdlib KiCad assets
* Remove implicit KiCad library resolution
* Remove stale KiCad alias fixtures
* Remove layout-time model embedding
* Remove global KiCad footprint lookup
* Add KiCad stdlib path aliases
* Clean up KiCad stdlib aliases
* Derive WorkspaceConfig default
* Clean up KiCad STEP generator typing
* Use bundled KiCad footprints in tests
* Simplify interface template tests
* Ignore bundled KiCad library dependencies
* Bundle KiCad connector compatibility assets
* Resolve KiCad FPIDs to bundled stdlib footprints
* Normalize legacy KiCad library dependencies
* Bundle Governor KiCad compatibility assets
* Restore changelog entries
2026-06-17 11:56:42 -04:00
Akhil Velagapudi
f94844770b
Drop v1 resolver ( #884 )
...
* Make read commands dependency-state read-only
* Remove legacy dependency resolution
* Remove obsolete sync dependency cruft
* Remove workspace members compatibility
* Exclude lockfile from package hashes
* Simplify read-only dependency resolution
* Hydrate CI workspaces before read-only checks
* Always use frozen dependency resolution
* Use frozen package roots for active eval root
2026-06-15 21:06:37 -04:00
Akhil Velagapudi
f0464212e0
Bump version to 0.4, add pcb migrate version bump ( #873 )
...
* chore: bump version to 0.4.0
* Add latest-toolchain workspace migration flow
* Handle global flags before migrate dispatch
* Address migrate review feedback
* Delete pcb.sum
* Bump workspace fixtures to pcb 0.4
2026-06-10 10:21:13 -04:00
Akhil Velagapudi
adfdc228d8
pcb 0.4 breaking changes (#870 )
...
* Migrate stdlib to KiCad 10 symbols + footprints (#701 )
* Bump stdlib KiCad asset pin to 10.0.0
* Update crystal generic for KiCad 10 pin names
* Update snapshots
* Delete deprecated stdlib (#703 )
* Delete deprecated stdlib files
* Fix tests
* Remove deprecated generic stdlib modules
* Remove deprecated standoff and terminal block generics
* Remove deprecated stdlib helpers and API shims
* Remove physical value range deprecation hook
* Drop legacy stdlib load path
* Remove V1 manifest migration support
* Remove legacy net moved directives
* Remove legacy manifest assets support
* Bump KiCad 10 assets to 10.0.3
* Error on legacy Component properties
* Remove legacy module property API
* Drop old toolchain compatibility shims
* Strict 0.4 net naming (#849 )
* Enforce strict regular net naming
* Treat NotConnected nets as source-unnamed
* Update unreleased changelog for 0.4 changes
* Clean up 0.4 docs
* fix: pcb fmt
* Fix CI for KiCad 10 symbols and examples
* Fix symbol library fallback and NetTie defaults
* Use versioned KiCad parts index URL
* Include stdlib assets in frozen dependency materialization
* fix: bump W25Q128JVE dep
* Bundle KiCad split symbols granularly
* Remove flash module from workspace test board
* Update publish snapshots
* chore: bump @stdlib dependencies
* Fix Crystal compatibility for KiCad 9 symbols
2026-06-09 17:22:27 -04:00
Lucia Camacho
d3aefe06c6
bom.strict flag (#845 )
2026-06-09 11:54:40 -07:00
Akhil Velagapudi
b2e725caf2
Update docs for hydrated dependency manifests ( #862 )
2026-06-02 10:07:38 -04:00
Akhil Velagapudi
87c38f2547
Add pcb list -m dependency discovery ( #861 )
...
* Add pcb list dependency discovery
* Report breaking dependency updates
2026-06-02 10:07:24 -04:00
Akhil Velagapudi
4413c9d4d9
Deprecate [workspace.members] ( #852 )
...
* Hydrate V2 deps during migrate
* Fix mixed hydrated package resolution
* Simplify workspace discovery
* Clean up workspace package discovery naming
* Update stdlib formatting paths
2026-05-27 16:23:57 -04:00
Akhil Velagapudi
875b8bdfe6
config() does not support record types (#846 )
...
* Reject record types for config inputs
* Remove stale record docgen handling
2026-05-22 15:58:57 -04:00
Akhil Velagapudi
800f978acb
Split pcb shim and pcbc toolchain releases ( #832 )
...
* Add pcbc toolchain release artifact
* Implement pcb toolchain shim MVP
* Harden pcb toolchain shim
* Split pcb shim and pcbc compiler crates
* Simplify split toolchain shim
* Finish toolchain release plan
* Simplify pcb shim release checks
* Decouple shim and toolchain releases
* Add nightly pcbc channel
* Address pcb shim review feedback
* Run pcbc integration tests through pcbc
* Forward pcb help to compiler
* Fix pcb shim clippy warning
* Check out release tag in manual workflows
* Fix release refs and nightly refresh
* Keep shim bumps out of changelog
* Add simple pcb shim installers
* Forward pcb version and tolerate missing shim metadata
* Add release workflow dry runs
* Clean up split test snapshot metadata
* Show pcb help name on Windows shim
* Avoid repeated self update release fetches
2026-05-20 21:31:38 -04:00
Lenny Khazan
140f44933e
fix: smarter workplace name detection with pcb.toml fallback ( #813 )
...
* fix: smarter workspace name detection with pcb.toml fallback
* fix clippy
2026-05-14 15:45:00 -04:00
Akhil Velagapudi
68875cf331
Remove pcb new workspace ( #803 )
...
* Simplify pcb new board scaffolding
* Update import for board repos
* Clean up board repo scaffolding
* Preserve board repo metadata during forced import
* Update import board repo wording
2026-05-12 21:03:09 -04:00
Lenny Khazan
9c1b971b5f
feat: support registry search from multiple registries ( #776 )
...
* Add scoped multi-registry search
* Preserve registry index error context
Applied via @cursor push command
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com >
2026-05-10 22:58:09 -04:00
Lenny Khazan
298cbb17bc
feat: support datasheet= for Part(...), add datasheets for common house parts ( #766 )
...
* feat: add support for datasheets in Part(...)
* add datasheets for common house parts
* fix edge case when replacing parts
* part > component > symbol
* fix changelog, simplify fallback
2026-04-27 01:26:46 -04:00
Akhil Velagapudi
e14af38ff1
Simplify pcb doc changelog paths ( #754 )
2026-04-21 17:59:23 -04:00
Akhil Velagapudi
87e11d7aba
Remove dead fork support ( #737 )
2026-04-17 13:50:53 -04:00
Akhil Velagapudi
72b622270a
Support direct voltage_within checks ( #733 )
2026-04-16 22:10:34 +00:00
Akhil Velagapudi
34f51cb157
ENG-249: io() template as first arg support ( #726 )
...
* Add template-first io() support
* Clean up io template enforcement
* Add io template follow-up coverage
* Clean up AD7171 io declarations
* Fix lints in blinky
* Preserve io declaration spans on generated nets
* Update changelog for io templates
* Delete design.md file
* Limit io implicit checks to template syntax
* Keep io implicit-check failures non-fatal
* Demote io implicit-check failures to warnings
* Preserve net identity for io alias defaults
* Preserve shared net clones in interface templates
* Skip io implicit checks for reused net templates
* Simplify io template handling
* Avoid wasted interface net clones
2026-04-16 18:03:10 -04:00
Akhil Velagapudi
93a51c0a8b
Support doc changelog unreleased view ( #731 )
2026-04-16 17:01:53 -04:00
Akhil Velagapudi
06e2132c76
Add bom_profile support to Simulation ( #725 )
...
* Add bom_profile support to Simulation
* Guard Simulation modifier registration at root
* Deduplicate component modifier registration
2026-04-15 10:14:18 -04:00
Akhil Velagapudi
43b08e07db
Infer Component spice models from symbol metadata ( #723 )
2026-04-14 22:10:09 -04:00
Akhil Velagapudi
813bae2377
Add redundant explicit-name style lint ( #722 )
...
* Add redundant explicit-name style lint
* Clean up redundant-name style lint follow-ups
* Format stdlib/
* Fixup PR comment
* Simplify style lint and restore net naming semantics
* Deduplicate repeated style advice
2026-04-14 19:04:36 -04:00
Akhil Velagapudi
909264d8d7
Add Component() pin/net compatibility warnings ( #719 )
...
* Preserve symbol pin metadata
* Add pin/net compatibility warnings
* Auto-wire no_connect pins
* Document Component pin warnings
2026-04-14 10:41:41 -04:00
Akhil Velagapudi
ce93bbb58f
Add allowed config values ( #714 )
2026-04-13 17:46:55 -04:00
Akhil Velagapudi
18e55f5eab
Infer config() and io() names from assignment ( #718 )
...
* Infer io and config names from assignment
* Ignore positional None checks for io and config
* Update starlark-rust commit
2026-04-13 19:01:13 +00:00
Akhil Velagapudi
978733c11b
Add support for pcb build --config KEY=VALUE ( #717 )
...
* Add root config overrides to build and bom
* Simplify root eval input setup
* Make config coercion type-aware
* Document config string coercion rules
* Update changelog
2026-04-13 14:57:50 -04:00