Golden demo
The golden demo is a tiny, self-contained corpus that shows BoardReadyOps catching realistic release problems on a broken board and then confirming a fixed board is clean. It ships in the repository under examples/golden-demo and is part of the BoardReadyOps v2 roadmap.
Reproducible source demos
The public source fixtures are part of this repository. Inspect the blocked board and the corrected board. They demonstrate expected fail and expected pass outcomes without needing credentials or a hosted service.
The former external PR demos are not currently available, so no live Check Run or sticky PR comment is promised by these links. To evaluate the GitHub Action and uploaded workflow artifacts, install the reviewed workflow in a repository you control and run it against a test commit. This corpus tests the local deterministic engine directly.
Run it in two commands
boardreadyops run examples/golden-demo/broken
boardreadyops run examples/golden-demo/fixed
The broken board exits 1 with five findings, four of them blocking at the default high threshold; the fixed board exits 0. Both projects keep DRC and ERC disabled, so the demo runs without kicad-cli.
What the broken board reports
| Rule | Severity | Problem |
|---|---|---|
design.board-outline |
high | The Edge.Cuts outline is open. |
design.unique-references |
high | A reference designator (R1) is used twice. |
bom.missing-mpn |
high | A populated BOM row has no manufacturer part number. |
bom.compliance |
high | A populated part is marked Non-Compliant. |
bom.risk-score |
medium | The missing MPN scores R1 at 60/100 for supply risk. Below the high threshold, so it warns rather than blocks. |
The fixed board resolves all five and reports nothing. Each problem maps to one clear cause and one clear fix, documented in the demo README.
How it stays correct
tests/unit/examples/golden-demo.test.ts runs the pipeline against both boards and asserts the findings exactly match examples/golden-demo/expected-findings.json. The expected-findings file is the single source of truth shared by the documentation and the test, so the demo cannot silently drift from what the docs promise.
See also
- Quickstart for running BoardReadyOps on your own project.
- Rules for the full rule catalog behind the demo findings.
- Demo scenarios for more realistic examples below.
Demo scenarios
Three shareable, self-contained scenarios live under examples/scenarios/. Each includes a report.json snapshot and a README.md explaining what it demonstrates.
| Scenario | Outcome | Demonstrates |
|---|---|---|
failing-pr/ |
❌ blocked | Missing MPN, non-compliant part, NRND lifecycle |
prototype-ready/ |
✅ passes | Clean BOM, all components documented, non-blocking advisories only |
production-ready/ |
✅ passes | Production mode, active waiver with owner/reason/expiry, changelog present |
Run a scenario
boardreadyops run examples/scenarios/failing-pr
boardreadyops run examples/scenarios/prototype-ready
boardreadyops run examples/scenarios/production-ready
The report.json in each scenario directory is a pre-generated snapshot you can share as a stable link, embed in documentation, or use in sales and onboarding materials without exposing private design data.
Keeping reports up to date
The scenario fixtures are validated by tests/unit/examples/scenarios.test.ts. After any rule changes, regenerate the snapshots:
boardreadyops run examples/scenarios/failing-pr --format json > examples/scenarios/failing-pr/report.json
boardreadyops run examples/scenarios/prototype-ready --format json > examples/scenarios/prototype-ready/report.json
boardreadyops run examples/scenarios/production-ready --format json > examples/scenarios/production-ready/report.json