Commit Graph

140 Commits

Author SHA1 Message Date
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