Skip to content

A verifier that checked nothing must not be printed with a tick - #24

Merged
melbinjp merged 1 commit into
mainfrom
zero-checked-is-not-ok
Aug 19, 2026
Merged

A verifier that checked nothing must not be printed with a tick#24
melbinjp merged 1 commit into
mainfrom
zero-checked-is-not-ok

Conversation

@melbinjp

Copy link
Copy Markdown
Owner

Ran docproof cold on a project it had never been pointed at:

ok paths: 71 checked, 48 skipped
ok cli-flags: 47 checked
ok versions: 1 checked
ok symbols: 0 checked

The README argues against that last line in as many words: "a checker that silently skips everything looks exactly like a clean one."

Not a bug in Outcome.silent, and this does not touch it. symbols and versions set silence_is_signal = False on a measurement: twelve of forty repositories document no own-package import, twenty document no Python requirement, none of them broken. The classification is right; the rendering of it was not.

One branch in Report.render. An applicable verifier with nothing checked and nothing skipped gets the dash an inapplicable one already gets:

ok versions: 1 checked
-- symbols: nothing of this kind is documented here, and for this check that is ordinary rather than suspicious

Exit code, verdict and claim counts are unchanged. tests/test_silence.py covers it with a fixture where the verifier is applicable and empty, since an inapplicable one already prints a dash.

200 tests.

Ran docproof cold on `rigout` and it said:

    ok symbols: 0 checked

That is the sentence this tool exists to stop appearing anywhere. Its own README argues
"a checker that silently skips everything looks exactly like a clean one", and here it
was, three verifiers reporting real counts and the fourth reporting a tick over nothing.

It is NOT a bug in `Outcome.silent`, and the fix deliberately does not touch it. `symbols`
and `versions` set `silence_is_signal = False` on a measurement - twelve of forty
repositories document no own-package import, twenty document no Python requirement - so
their silence is ordinary and alarming on it would fail half a healthy corpus. That
decision stands. What was wrong was rendering an ordinary nothing as a pass.

It gets the dash now, the same marker an inapplicable verifier gets, because that is what
it is: nothing to say, said out loud.

200 tests.
@melbinjp
melbinjp merged commit 46deed1 into main Aug 19, 2026
21 checks passed
@melbinjp
melbinjp deleted the zero-checked-is-not-ok branch August 19, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant