⁉️ Terminology: clarifying checks, commands and exit codes
The current guidelines on command behavior and return values have led to confusion. We should standardize on terminology around checks, commands, exit codes, success, failure, passing and not passing.
-
Today, the check fails if the command's return value is
0. - We document: This might seem counter-intuitive at first as 0 typically indicates success. The return value of 0 means that the problematic condition was successfully identified.
🥅 Goal + Description of Desired Future State 🌅
The goal of this issue is to discuss inverting the current state and clarifying terminology to reduce confusion moving forward.
- A check is....
- A check includes a
command. - A check can
passornot pass. - When a check has
passed, that means that...- the command has
___and - the problematic condition has
not been found.
- the command has
- When a check has
not passed, that means that...
🐾 Next Steps
Based on the decision we make here, we might need to rewrite the checks. If we do need to do that, let's make sure we include all applicable changes in that effort. (See this comment on line folding.)
-
Test that negation in playbook generation works as expected in branch mg-verify-negation-20250515 -
Create negation branch -
Update docs -> merge into negation branch -
Work with check authors to invert checks -
+ Maintainers 🧪 test
Edited by Brie Carranza