propose_board_rules
Preview changes to a KiCad board's design rules—clearances, track widths, via sizes, and net classes—before writing anything; returns a revision token and lists every change or incoherence.
Instructions
Dry run of setting the board's design rules (minimum clearance, track width, via diameter, via annular width, through-hole diameter, and named net classes with their nets) in the project's .kicad_pro; lists every value that would change, every loosening and every incoherence; writes nothing and returns a revision_token. Lengths are mm. A key absent from the project counts as KiCad's built-in default, never as unset. netclasses: [{name, clearance?, track_width?, via_diameter?, via_drill?, priority?, nets?: [exact net names]}]. allow_loosen: lowering a rule is refused unless this is true; set only after a human has read the listed items; never set it to get past a refusal on your own. allow_incoherent: a class value below a board minimum is refused unless this is true; set only after a human has read the listed items; never set it to get past a refusal on your own. Order for a project: import_from_schematic -> board_outline -> board_rules -> input_preparation -> silkscreen_minimums -> pin_rule_baseline -> pour step -> routing. Every confirm writes a NEW board revision beside the source (the source is untouched) and returns it as output_pcb (also pcb_path; the board you passed in is source_pcb): continue from that path. Both gates are stale until verify_board runs; only verify_board certifies.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pcb_path | Yes | ||
| netclasses | No | ||
| output_dir | No | ||
| allow_loosen | No | ||
| via_diameter | No | ||
| min_clearance | No | ||
| min_track_width | No | ||
| allow_incoherent | No | ||
| min_via_annular_width | No | ||
| min_through_hole_diameter | No |