Appearance
Verification rules
Source: docs/11-profiles-and-reports.md
2. Verification rule catalog
verify returns a Report of located findings. Each finding carries a stable kebab-case rule id and a severity. A rule with an "enabling contract" only fires when that contract is supplied (via a profile or CLI flag); structural rules always run.
A rule is an error (a machine-safety, geometric-validity or contract violation) unless it is a process/quality advisory — Report::ok() is true and the CLI exit code is 0 when the only findings are warnings.
| Rule id | Severity | Triggers when… | Enabled by |
|---|---|---|---|
finite | error | a quantity is NaN or infinite | always |
travel-extrudes | error | a travel (non-printing) move deposits material | always |
bead | error | an extruding move has a non-positive bead width or height | always |
orientation-not-unit | error | the toolframe orientation vector is not unit length | always |
arc-radius | error | an arc's endpoint radius disagrees with its start radius | always |
bounds | error | a move leaves the build volume | machine.build_volume |
max-flow | error | volumetric flow exceeds the ceiling | material.max_volumetric_flow_mm3_s |
speed | error | an extruding feedrate is outside the allowed range | machine.feedrate_range |
monotonic-z | error | Z decreases where it must be non-decreasing | process.monotonic_z |
cold-extrusion | error | extruding below the minimum nozzle temperature | material.min_nozzle_temperature_c |
retraction-distance | error | a retraction distance exceeds the limit | process.max_retraction_distance |
retraction-speed | error | a retraction/unretraction speed exceeds the limit | process.max_retraction_speed |
travel-without-retraction | warning | a travel run exceeds the allowed distance without a retraction | process.max_travel_without_retraction |
first-layer-height | warning | the first-layer height is outside the allowed range | process.first_layer_height_range |
first-layer-speed | warning | the first-layer speed is outside the allowed range | process.first_layer_speed_range |
peak-acceleration | error | an arc's centripetal acceleration exceeds the machine's max acceleration | machine.kinematics.max_acceleration_mm_s2 |
junction-velocity | warning | a junction's velocity change exceeds the machine's square-corner velocity | machine.kinematics.max_junction_velocity_mm_s |
The rule set is closed: a reader MAY treat an unknown rule id as a forward-compatible addition, but the engine only emits ids from this table. Adding a rule is a minor change; removing or re-typing one, or changing a rule's default severity, is a notable change called out in release notes.