PCB Revision Witness v0.1
Executive Summary
PCB Revision Witness compares reference and candidate PCB artifacts to produce localized structural-drift evidence, affected-net summaries, BOM deltas, and replayable provenance records. It supports board review and supply-chain diligence; it does not replace electrical validation, DFM, X-ray inspection, or certification.
**Status:** `DRIFT_DETECTED`
**Findings:** 8
**High-priority review targets:** 3
Scope
- Inputs: KiCad `.kicad_pcb` reference/candidate exports and BOM CSV files.
- Outputs: netlist deltas, component deltas, trace/via layout deltas, BOM deltas, affected-region bounding box, JSON evidence, and SHA manifest.
- Boundary: review-priority support only; not a signoff or certification artifact, electrical validation, DFM, X-ray inspection, or certification.
Inventory
| Artifact | Nets | Components | Segments | Vias | BOM lines |
|---|---:|---:|---:|---:|---:|
| reference | 5 | 3 | 4 | 0 | 3 |
| candidate | 6 | 4 | 7 | 2 | 4 |
Affected Region
`{"max_x": 52.5, "max_y": 52.25, "min_x": 32.7, "min_y": 45.75}`
Review Priority Findings
1. Component R5 added.
- **Category:** `component_added`
- **Severity:** `high`
- **Details:** `{"footprint": "Resistor_SMD:R_0402_1005Metric", "layer": "F.Cu", "nets": ["GND", "RESET_BOOT"], "reference": "R5", "rotation": 90.0, "value": "0R", "x": 48.0, "y": 46.25}`
2. BOM line R5 added.
- **Category:** `bom_added`
- **Severity:** `high`
- **Details:** `{"candidate": {"manufacturer": "Yageo", "mpn": "RC0402JR-070RL", "quantity": "1", "reference": "R5", "value": "0R"}}`
3. Added passive R5 bridges sensitive/control net to rail.
- **Category:** `suspicious_bridge_path`
- **Severity:** `high`
- **Details:** `{"at": [48.0, 46.25], "nets": ["GND", "RESET_BOOT"], "reference": "R5", "value": "0R"}`
4. Board net inventory changed.
- **Category:** `netlist_delta`
- **Severity:** `review`
- **Details:** `{"added": ["DEBUG_BRIDGE"], "removed": []}`
5. Component C1 changed.
- **Category:** `component_changed`
- **Severity:** `review`
- **Details:** `{"candidate_at": [47.8, 47.2], "coordinate_shift_mm": 2.22, "reference": "C1", "reference_at": [46.0, 48.5], "value": {"candidate": "1uF", "reference": "100nF"}}`
6. Trace layout changed.
- **Category:** `trace_layout_delta`
- **Severity:** `review`
- **Details:** `{"added_segments": [{"end": [48.0, 48.75], "layer": "F.Cu", "net": "3V3", "start": [47.35, 47.2], "width": 0.25}, {"end": [48.0, 49.25], "layer": "F.Cu", "net": "GND", "start": [47.55, 46.25], "width": 0.1}, {"end": [48.0, 49.25], "layer": "F.Cu", "net": "GND", "start": [48.25, 47.2], "width": 0.25}, {"end": [48.0, 48.25], "layer": "F.Cu", "net": "RESET_BOOT", "start": [48.45, 46.25], "width": 0.1}, {"end": [42.0, 47.8], "layer": "F.Cu", "net": "USB_D_P", "start": [33.2, 49.0], "width": 0.15}, {"end": [52.0, 51.75], "layer": "B.Cu", "net": "USB_D_P", "start": [42.0, 47.8], "width": 0.15}], "removed_segments": [{"end": [48.0, 48.75], "layer": "F.Cu", "net": "3V3", "start": [45.55, 48.5], "width": 0.25}, {"end": [48.0, 49.25], "layer": "F.Cu", "net": "GND", "start": [46.45, 48.5], "width": 0.25}, {"end": [52.0, 51.75], "layer": "F.Cu", "net": "USB_D_P", "start": [33.2, 49.0], "width": 0.15}]}`
7. Via pattern changed.
- **Category:** `via_pattern_delta`
- **Severity:** `review`
- **Details:** `{"added_vias": [{"at": [42.0, 47.8], "drill": 0.3, "net": "USB_D_P", "size": 0.6}, {"at": [52.0, 51.75], "drill": 0.3, "net": "USB_D_P", "size": 0.6}], "removed_vias": []}`
8. BOM line C1 changed.
- **Category:** `bom_changed`
- **Severity:** `review`
- **Details:** `{"mpn": {"candidate": "GRM155R61A105KE15D", "reference": "GRM155R71C104KA88D"}, "value": {"candidate": "1uF", "reference": "100nF"}}`
Claim Boundaries
- This is replayable structural-drift evidence for PCB review, not board signoff.
- This does not replace electrical simulation, impedance validation, DFM checks, X-ray inspection, functional test, or certification.
- Suspicious bridge findings are review targets, not proof of malicious intent.
- KiCad parsing is prototype-level and should be expanded before evaluator use on full production boards.