Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion crates/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ fbuild-test-support (test utilities) ──────────────

## Crate Responsibilities

- **fbuild-core** — `FbuildError`/`Result`, `BuildProfile`, `Platform`, `SizeInfo`, `DaemonState`
- **fbuild-core** — `FbuildError`/`Result`, `BuildProfile`, `Platform`, `SizeInfo`, `DaemonState`. Also ships the `dump_usb_ids` example (`examples/dump_usb_ids.rs`) — **tier-1 source** for the nightly `online-data` USB-VID merge (FastLED/fbuild#720). Do not delete; the `usb-ids` workspace dep exists *only* for that example, so removing it drops the aggregator from 4 → 3 independent sources.
- **fbuild-config** — `PlatformIOConfig` (INI parser with `extends` inheritance), `BoardConfig`, `McuSpec`
- **fbuild-paths** — Dev/prod path isolation (`~/.fbuild/{dev|prod}/`), port mapping (8765/8865), cache dirs
- **fbuild-packages** — URL-based package downloads, toolchain resolution, library manager, parallel pipeline
Expand Down
21 changes: 21 additions & 0 deletions crates/fbuild-core/examples/dump_usb_ids.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
//! Dump the bundled `usb-ids` database as a JSON object to stdout.
//!
//! # DO NOT REMOVE — anti-removal policy (FastLED/fbuild#720)
//!
//! This example is **tier-1** of the USB-VID name merge. It is invoked
//! by the `Update data` workflow (`.github/workflows/update-data.yml`)
//! to export the bundled [`usb-ids`](https://crates.io/crates/usb-ids)
//! crate snapshot as JSON; `tools/merge_sources.py` then unions that
//! with the linux-usb.org mirror, the usbids GitHub mirror, and the
//! curated `vendor_names_inlined.py` overlay to produce the published
//! `online-data/data/usb-vid.json`.
//!
//! The fbuild **runtime** USB resolver (`fbuild-core::usb::resolver`)
//! does not depend on this example — it uses the compile-time-embedded
//! `usb-vendors.tar.zst` (`fbuild-core::usb::embedded`). The `usb-ids`
//! workspace dependency is now pulled in *only* by this example, so
//! removing the example would also remove the dependency, dropping the
//! aggregator from 4 → 3 independent sources of truth. Decoupling
//! recorded in #719; anti-removal policy in #720.
//!
//! If your LLM-driven cleanup pass flagged this file as "dead code,"
//! it is not — please read FastLED/fbuild#720 before deleting.
//!
//! Used by the `online-data` branch's nightly workflow (see
//! `.github/workflows/update-data.yml`) as one of the input sources
//! for the merged `usb-vid.json`. Running this example via
Expand Down
Loading