KiCad Adapter Matrix¶
Generated by
scripts/build_adapter_matrix.py; do not edit by hand.
The matrix keeps KiCad 10.0.x as the stable baseline and treats KiCad 11 as a preview until separate read, write, and export canaries pass. Runtime selection is fail-closed: a tool declaring an IPC or CLI requirement is not silently redirected to a file parser.
| Category | Tools | KiCad 11 | Preferred adapters | Canary surfaces | Mutation guard |
|---|---|---|---|---|---|
dfm |
3 | independent |
local-engine |
read |
— |
emc |
8 | independent |
local-engine |
write |
validated-design-file-write |
export |
31 | preview |
kicad-cli |
export |
isolated-output-validation |
library |
30 | independent |
local-engine → network |
read, write |
isolated-library-output-validation |
manufacturing |
23 | partial |
kicad-cli → local-filesystem |
read, write, export |
isolated-output-and-source-preservation |
pcb_read |
27 | preview |
kicad-11-headless-ipc → kicad-gui-ipc → local-filesystem |
read |
— |
pcb_write |
49 | preview |
kicad-11-headless-ipc → kicad-gui-ipc → transactional-pcb-file |
write |
ipc-transaction-or-atomic-parse-validation |
power_integrity |
8 | independent |
local-engine |
read, write |
validated-design-rule-write |
project |
31 | independent |
local-engine → kicad-cli |
read |
— |
release_export |
2 | preview |
kicad-cli |
export |
human-gated-isolated-output-validation |
routing |
15 | partial |
freerouting → transactional-pcb-file |
write, export |
transactional-board-write-and-route-validation |
schematic |
93 | partial |
kicad-11-headless-ipc → kicad-gui-ipc → guarded-schematic-file → kicad-cli |
read, write, export |
atomic-roundtrip-loss-detection |
signal_integrity |
12 | independent |
local-engine |
read, write |
validated-design-rule-write |
simulation |
11 | not-applicable |
ngspice |
read, write |
isolated-simulation-artifacts |
validation |
38 | partial |
kicad-cli → local-engine |
read, export |
— |
version_control |
6 | independent |
git |
read, write |
git-checkpoint-and-confirmation |
Reference scenarios¶
| Scenario | Available tools | Blocked tools | Selected backends |
|---|---|---|---|
kicad10Gui |
387 | 0 | freerouting: 1, git: 6, guarded-schematic-file: 69, kicad-cli: 59, kicad-gui-ipc: 51, local-engine: 93, local-filesystem: 78, network: 6, ngspice: 11, transactional-pcb-file: 13 |
kicad11Headless |
387 | 0 | freerouting: 1, git: 6, guarded-schematic-file: 69, kicad-11-headless-ipc: 51, kicad-cli: 59, local-engine: 93, local-filesystem: 78, network: 6, ngspice: 11, transactional-pcb-file: 13 |
degradedNoKiCad |
259 | 128 | git: 6, guarded-schematic-file: 69, local-engine: 93, local-filesystem: 78, transactional-pcb-file: 13, unavailable: 128 |
Mutation safety¶
- Schematic file writes use atomic replacement plus structural fingerprint loss detection.
- PCB file writes use transactional temporary-file replacement and post-write parsing.
- IPC writes require a live KiCad GUI document or an explicitly asserted KiCad 11 headless API server.
- Native exports require
kicad-cliand validate isolated output artifacts. - The SWIG
pcbnewmodule remains forbidden in production code.