A measurement-smell linter — fail a PR that changes retrieval with no interval #39
Replies: 2 comments 2 replies
In favour, with a scope reduction that I think is the difference between this shipping and this becoming a maintenance burden. Do not try to detect bad statistics. A linter that tries to judge whether an interval was computed correctly will be wrong constantly and people will disable it within a fortnight. Do detect missing statistics. That is a syntactic check and it is nearly always right:
That is twenty lines and it catches the actual failure mode, which is not "someone computed a bad interval" but "someone shipped a retrieval change with a point estimate and no interval at all". The |
|
Filed as #56, against Both refinements from this thread made it in verbatim:
Dependabot PRs are exempted; they cannot produce a measurement. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Half-formed, posting it here rather than as an issue because it does not have a hypothesis yet.
The PR template asks for a measurement table. CI checks that the eval gate passes. Neither
checks whether the claims in the PR description are supported by the numbers in it.
Things a linter could catch:
Most of those are regex-able against the PR body plus the eval JSON.
Where I am unsure: this could easily become annoying and get disabled, which is worse than
not having it. And a linter that produces false positives on honest PRs teaches people to
ignore CI comments generally.
Possibly the right shape is a comment that asks a question rather than a check that fails.
"This PR describes an improvement — I could not find an interval for it. Is that in the eval
output?"
Does anyone think this is worth building, or is it solving a problem the template already
solves well enough?
All reactions