no-silent-passlisted
Install: claude install-skill AleksandarBisevac/claude-plugins
# No silent pass
Two halves of one rule. Code must not produce normal-looking output when something went wrong,
and a check must not look green while asserting nothing. Both fail the same way: everything
reports fine and nobody learns anything for months.
This repo's test suite is the `--selftest` block inside each file, printing `N/M cases passed`.
Everything below is about those cases and the code they guard.
## Fail loud
- **Give success and failure distinct sentinels.** If the error path writes the same value the
success path writes, failed runs read as complete. `except Exception: status = "READY"` is the
shape to look for.
- **When you catch, either recover meaningfully or make the failure visible** — raise, or return
a distinguishable value. A `return`/`continue`/fallback inside `except` that produces
normal-shaped output is where silent corruption lives.
- **`x = x or default` is a bug whenever `0`, `False` or `""` are meaningful.** Use
`x if x is not None else default`. Reserve the `or` form for empty containers.
- **A no-op on unexpected input is silent corruption.** Skipping a key you do not recognise, or
`continue`-ing past a record you cannot parse, with no error and no count, leaves the caller
believing the operation applied.
- **Filtering down to empty must never read as "all clear."** When a selector, rule set or work
list narrows to nothing, an "evaluated everything, found no problems" path reports a perfect
result while checking nothing