roborev exclusion patterns match the whole commit message, causing silent skips #24
Open
opened 2026-08-24 00:23:44 -04:00 by jared
·
1 comment
No Branch/Tag Specified
Labels
Clear labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
kodor
kodor/feature-proposal
kodor/fix
kodor/needs-review
kodor/triaged
question
wontfix
kodor
kodor/feature-proposal
kodor/fix
kodor/needs-review
kodor/triaged
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Kodor should process this issue
Kodor has written a feature proposal
Kodor should implement a fix (assigned to Kodor)
Kodor's work or failure needs Jared's review
Kodor has already triaged this issue (skip)
Further information is requested
This will not be worked on
needs
human
Cannot move without a person -- a decision, a check an agent cannot make, something outside the repo
origin
client
Came from a client ask
origin
obligation
Created by a change elsewhere
origin
review
Came from human review
origin
roborev
Promoted from a roborev finding
type
chore
Maintenance with no behaviour change
type
debt
Owed work -- docs, tests, cleanup a change obligated
type
decision
Needs a decision before work can proceed
type
defect
Something is wrong
type
feature
New capability
ws
helpers
Analysis and workflow helpers
ws
logo
Logo and branded output composition
ws
packaging
Package infrastructure and release
ws
quarto
Quarto themes and publishing templates
ws
theme
Themes, palettes, and fonts
Assign a task to kodor
Kodor thinks this needs a feature.
Kodor should fix this
Kodor thinks the user is ready to review this.
Kodor is done with this issue.
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Civilytics/civilyticsR#24
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
excluded_commit_patternsin.roborev.tomlare plain substring matchestested against the entire commit message, not just the subject line. roborev
says so itself when you ask for the review explicitly:
How this was found
cd1af67("fix(packaging): exclude scoped chore and docs commits from roborev")excluded itself. Its subject contains none of the patterns, but its body quotes
chore:,chore(, anddocs(while explaining what the commit changes. Thecommit was silently never reviewed, and there is no override flag on
roborev reviewto force it.A probe commit with a clean body queued a review immediately, which rules out the
hook or the daemon as the cause.
Why it matters
The failure is silent. There is no skipped-job record —
roborev statusreports
0 skipped— so a commit that is never reviewed looks identical to onethat had nothing to say. Any future commit whose body discusses an excluded
prefix ("reverts the docs: change", "replaces the chore(ci) workflow") drops out
of review with no signal.
Current patterns
The
chore(/docs(forms are deliberate — this project's cadence rule mandatestype(ws): subject, so the barechore:form never matches a real commit here.The trade-off was made knowingly: scoped chore and docs commits stop consuming
reviews, at the cost of this rare silent-skip case.
What to do
Nothing urgent. This issue exists so the next silent skip is diagnosable in
minutes. If it happens more than once, the options are:
--forceflag onroborev review.help, since matching is on raw text.
Also unreviewed
cd1af67itself was never reviewed as a result. It is a two-line config changeplus a documentation paragraph in
AGENTS.md; recovering it was judged not worthtemporarily editing the config.
Related trap found while closing out this issue's session.
The probe commit mentioned above (
cb4c158) was cancelled and reset away, butits job record — job 18 — is permanently counted as an open finding:
roborev close 18returns404 review not found for job.closemarks areview resolved, and a job cancelled before it ran never produced one.
roborev compactonly discovers completed jobs, so it skips it.roborev repo deletewould take the repo's wholereview history with it.
So
scripts/roborev.pywill report job 18 as an open finding in every futurewrap, pointing at a commit that is on no branch. It is noise, not a real
finding — a comment on the job records that, though
roborev show 18also 404sfor the same reason.
If you are reading this in a later session: job 18 is expected and can be
ignored. Do not spend time trying to close it.
Two things would fix this upstream:
cancelshould mark the job closed, andlist --openshould not count cancelled jobs.