ERC/DRC reports: list included severities as well as ignored checks

Closes #22379 (closed).

Closes #22389 (closed).

Supersedes !2358 (closed).

These changes add

  • a list of severities that are included in the respective report and
  • a list of checks that are set to be ignored.

This allows a user inspecting the report to better assess the quality of the report.

Example output:

$ kicad-cli sch erc --severity-all --format json --output erc.json 2025-11-22_erc_severity_in_reports.kicad_sch && cat erc.json
Found 8 violations
Saved ERC Report to erc.json
{
    "$schema": "https://schemas.kicad.org/erc.v1.json",
    "coordinate_units": "mm",
    "date": "2025-11-24T22:09:25+0100",
    "ignored_checks": [
        {
            "description": "Global label only appears once in the schematic",
            "key": "single_global_label"
        },
        {
            "description": "Four connection points are joined together",
            "key": "four_way_junction"
        },
        {
            "description": "SPICE model issue",
            "key": "simulation_model_issue"
        },
        {
            "description": "Assigned footprint doesn't match footprint filters",
            "key": "footprint_filter"
        }
    ],
    "included_severities": [
        "error",
        "warning",
        "exclusion"
    ],
    "kicad_version": "9.99.0",
    "sheets": [
        {
            "path": "/",
            "uuid_path": "/03f99350-6e5f-4c2b-a1ca-f3c4c3435ccb",
            "violations": [
                ...
            ]
        }
    ],
    "source": "2025-11-22_erc_severity_in_reports.kicad_sch"
}
$ kicad-cli pcb drc --severity-all --format report --output drc.txt 2025-11-22_erc_severity_in_reports.kicad_pcb && cat drc.txt
Found 4 violations
Found 0 unconnected items
Saved DRC Report to drc.txt
** Drc report for 2025-11-22_erc_severity_in_reports.kicad_pcb **
** Created on 2025-11-24T22:33:44+0100 **
** Report includes: Errors, Warnings, Exclusions **

** Found 4 DRC violations **
[invalid_outline]: Board has malformed outline (no edges found on Edge.Cuts layer)
    Local override; error
    @(0.0000 mm, 0.0000 mm): PCB
[lib_footprint_issues]: The current configuration does not include the footprint library 'Resistor_SMD'
    Local override; warning
    @(125.0875 mm, 95.0000 mm): Footprint R1
[silk_over_copper]: Silkscreen clipped by solder mask
    Local override; warning
    @(125.0875 mm, 93.3500 mm): Reference field of R1
    @(125.0000 mm, 93.0000 mm): Via [<no net>] on F.Cu - B.Cu
[silk_over_copper]: Silkscreen clipped by solder mask
    Local override; warning (excluded)
    @(127.0000 mm, 96.0000 mm): PCB text 'Not Tented' on F.Silkscreen
    @(128.0000 mm, 95.0000 mm): Via [<no net>] on F.Cu - B.Cu
    it'll be fine :)

** Found 0 unconnected pads **

** Found 0 Footprint errors **

** Ignored checks **
    - Footprint has no courtyard defined
    - Tuning profile track geometries
    - Footprint doesn't match symbol's footprint filters
    - PTH inside courtyard
    - NPTH inside courtyard
    - Footprint component type doesn't match footprint pads

** End of Report **
Edited by Bernhard Kirchen

Merge request reports

Loading