reviewer dispatch: treat a head-sha change since the last verdict as activity nf-6tsw ← Beads

closed priority 2 task unassigned

Twinned from https://github.com/cfsh/ninefold/issues/342 by tools/beads/import_github.py's reconcile pass.

Split out of PR #341's review (finding C1, second half — the poll-side half shipped there).

tools/reviewer/dispatch.sh decides whether to re-review from comment/review/re-request activity only — it never compares the PR's headRefOid against the last verdict's sha=. Its header assumes pushes always arrive with an itemized reply comment, which holds for feedback-driven pushes but NOT for stack-rebuild force-pushes (cherry-pick onto fresh main after a squash-merge — routine per CLAUDE.md). Consequence: a GAPS verdict goes permanently stale after a rebuild and no re-review ever fires; the poll now shouts about it every tick (PR #341), but the shout can only be silenced by a human/coder nudge.

Fix shape: in the dispatcher's activity comparison, also fetch headRefOid and treat head_sha != last_verdict_sha as activity (with the usual debounce so a rebuild storm doesn't queue N reviews).

Refs #341.

Dependencies

None.

Comments

No comments.

Add a comment