feat(grug): every review says which commits it read - #817
Merged
Conversation
"Looked at: <range>" was emitted ONLY when a Living Hunt delta existed. A full base..head review - the common path, and every FIRST review of any PR - answered "what did you actually read" with nothing at all. That is the first question a skeptical reader asks about a review. Both cases now disclose, and both name a RANGE rather than a single commit: `base..head` is what the author pastes into `git diff` to see exactly what Grug saw. One implementation, `board.review_scope_line`. The full-diff branch was briefly written twice - once there and once inline in dispatch with its own wording and its own `head_sha[:7]` - so the same fact appeared in two vocabularies on the same surface. Scope note: #673 also asks for an in-progress note on re-review. That was implemented, reviewed, and REMOVED before this commit rather than shipped: it omitted `app_id`, so it could match and overwrite a human's comment (board_client's legacy branch discards content when key == "elder"), and nothing cleared it when a review died, so a crashed review would have left "Wait" on the board permanently with the prior findings already erased. Worse than the staleness it was meant to fix. Re-filed with those two constraints as acceptance criteria. Suites: 1883 webhook, 288 api, 24 infra. Refs #673
This was referenced Aug 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
"Looked at:
<range>" was emitted only when a Living Hunt delta existed. A fullbase..headreview - the common path, and every first review of any PR - answered "what did you actually read" with nothing.That is the first question a skeptical reader asks about a review, and on most PRs it had no answer.
Summary
Both cases disclose now, and both name a range rather than a single commit:
base..headis what the author pastes intogit diffto see exactly what Grug saw.One implementation,
board.review_scope_line. The full-diff branch was briefly written twice - once there, once inline indispatch.pywith its own wording and its ownhead_sha[:7]- so the same fact appeared in two vocabularies on the same surface.Acceptance criteria
base..headrun discloses its scope -test_stack_discloses_scope_on_a_full_diff_run_toobase987..c0ffee1test_stack_detail_without_a_head_sha_still_rendersSize
Size: S
Out of scope
#673's in-progress note is deliberately NOT here. It was implemented, reviewed and removed before this PR rather than shipped. Two-axis review found it net-negative:
app_id, sofind_boardcould match any comment quoting the board marker - including a human's. And because the key iselder,board_client's legacy branch (if key != "elder") discards existing text rather than preserving it, so a human quoting the marker would have had their comment replaced wholesale.not check_publish_failed, so a publish failure, a consumer crash into the DLQ, post-settle ineligibility, or the fail-open path would each leave "Wait" on the board permanently - with the prior findings already overwritten. Strictly worse than the staleness it was meant to fix.Re-filed with both as hard acceptance criteria.
#673 item 3 (disclose tier/arms/model) is also out. Per operator decision it moves to the dashboard rather than the author's PR comment - it is useful to whoever runs Grug, not to whoever wrote the PR.
Refs #673