Skip to content

D40 — User rule override file in strictly checked JSON

Decision

The user override file (doc 15 §6.3) is JSON read by the engine (--rules-override on rules, route, tracemaker-place); YAML is converted by scripts/crules_override.py. Unknown keys, rule ids, categories, parameters, value types and board references are errors; an entry that names a part not detected as its category is a reported warning

Alternatives

A YAML parser in C++; silently ignoring entries that do not apply

Reason

Same approach as the catalogue (D26: no YAML library for one file); a typo must never drop an override, but a board edit must not stop routing when the catalogue default (the conservative side) still applies

D26