Skip to content

Add resolved-finding suppression to previous_reviews prompt section - #1271

Merged
mariusvniekerk merged 1 commit into
kenn-io:mainfrom
subaru-ye:fix/previous-reviews-suppression
Sep 30, 2026
Merged

mariusvniekerk merged 1 commit into
kenn-io:mainfrom
subaru-ye:fix/previous-reviews-suppression

Conversation

@subaru-ye

Copy link
Copy Markdown
Contributor

A single-commit review receives its parent commits' stored findings in the ## Previous Reviews section — in the fix loop, these are exactly the findings the fix commit just addressed. The section told the reviewer to check whether the current commit addressed previous feedback, but unlike in_range_reviews it never said to judge those findings against the current code, so a review of a fix commit could re-raise the resolved finding or ask to undo the fix itself, preventing refine from reaching a fixed point (#1031).

This adds the missing instruction to the previous_reviews template block: re-raise a previous finding only when it persists in the current code, do not ask to undo a change made to address earlier feedback, and still report genuine problems in the current code, including ones such a change introduced. Wording uses "fixed since those reviews" so the same block stays accurate for dirty and range prompts, which render it too. The developer-response suppression paragraph is unchanged.

A focused test builds the issue scenario (parent commit with a FAIL review, child commit that fixes it) against a temp repo and test DB and asserts the prompt carries both the finding and the suppression instruction; the two previous_reviews goldens are updated accordingly.

Fixes #1031

The previous_reviews section hands the reviewer the parent commits'
findings - in the fix loop, the findings the fix commit just addressed -
and asked only whether the current commit addresses previous feedback.
Unlike in_range_reviews, it never said to judge those findings against
the current code, so a review of a fix commit could re-raise the
resolved finding or ask to undo the fix itself, preventing refine from
reaching a fixed point.

State the missing instruction: re-raise a previous finding only when it
persists in the current code, do not ask to undo a change made to
address earlier feedback, and still report genuine problems in the
current code, including ones such a change introduced.

Fixes kenn-io#1031
@roborev-ci

roborev-ci Bot commented Sep 29, 2026

Copy link
Copy Markdown

roborev: Combined Review (534f082)

Verdict: No findings at or above medium severity.


Reviewers: codex, codex (security) | Synthesis: codex | Total: 29s

@mariusvniekerk
mariusvniekerk merged commit f853331 into kenn-io:main Sep 30, 2026
20 checks passed
Technophobe01 added a commit to Technophobe01/roborev that referenced this pull request Oct 5, 2026
Release 0.70.0

## New features

- Compare web analytics by agent, model, project, or source with the new **Break down by** control. Choose p50, p90, or p99 for latency, and hide or highlight individual chart series.
- Use light mode in the web UI. It follows your system setting, and the header toggle remembers your preference.
- Set up roborev with your coding agent using the [agent-assisted setup guide](https://roborev.io/docs/agent-setup.md). The guide covers hooks, skills, and review guidelines, and instructs the agent to ask before each change.

## Improvements

- The TUI opens filtered to the current repository and branch, including in linked worktrees. `Esc` clears the filters. Settings move to `[tui] filter_repo` and `filter_branch`; the old `auto_filter_repo` and `auto_filter_branch` keys no longer apply. Set either new key to `false` to disable that filter.
- Agent Hook reminders to coding agents require project review guidance. Add `review_guidelines` in `.roborev.toml` on the default branch, or use `REVIEW.md` when that setting is unset. Global guidelines alone do not enable reminders.
- Configure credentials for semantic search, which finds reviews by meaning, through `api_key` under `[search.embeddings]`. Use a string, `{ env = "NAME" }`, or `{ file = "~/path" }`. Replace existing `api_key_env = "NAME"` settings with `api_key = { env = "NAME" }`. Local servers also accept requests without authentication when no key is configured.
- Search updates only affected reviews after review events and avoids repeated scans of unchanged history. This reduces CPU use on large review histories.
- Review instructions require evidence for findings, check dependency behavior against pinned versions, and calibrate severity to plausible triggers. They also tell reviewers to respect prior developer responses unless a code change invalidates them.
- The web review table fits more rows and shows the model alongside the agent. Each commit cell includes the repository, branch, ref, and subject.
- GitHub review comments list reviewers once in the footer. Each finding separates the problem from its suggested fix.
- Daemon start and restart allow up to two minutes for readiness. Slow starts report progress every 15 seconds, including the startup log path and latest message.

## Bug fixes

- Sort any column in the web review table without loading the entire history. Sorting applies to loaded rows, and a note identifies when older jobs remain unloaded.
- Analytics charts show gaps when failure-rate or latency data is missing instead of plotting zero. The unfinished final period is faded or dashed.
- Reviews of fix commits receive instructions to suppress resolved findings and avoid asking users to undo fixes made for earlier feedback.
- Reviews and keyword search continue when embedding credentials are missing. Status and health explain missing or rejected credentials.
- Search excludes deleted reviews from results and scoring, and reruns refresh the index immediately.
- CI reviews discover older pull requests in repositories with more than 100 open PRs. Wildcard discovery skips repositories that explicitly disable pull requests.
- CI reviews continue after branch renames that replace a parent branch with nested branches. Retry handling honors skip labels, and cleanup retries unfinished work for closed or superseded reviews.
- CI polling and recovery failures make application health unhealthy while unaffected reviews continue. Recorded retry failures remain visible after restart until recovery or removal.
- Health checks honor each active review's configured deadline, including repository and panel overrides, instead of flagging permitted long reviews after 30 minutes.
- `roborev list` and `roborev show` no longer fail when stored prompts contain invalid UTF-8. Responses replace malformed bytes without changing stored text.
- PostgreSQL sync accepts review text containing invalid UTF-8 or NUL bytes. Existing pending reviews retry automatically.
- `review --branch` falls back to the detected default branch when a PR-head or feature upstream is missing locally. Explicit base settings still take precedence, and missing trunk upstreams still produce an error.
- Linked worktrees use their own branch's tracked hooks when `core.hooksPath` names a relative directory tracked in Git.
- Claude Code weekly-limit errors trigger quota handling, so reviews move to a configured backup instead of retrying the same agent during cooldown.

* tag 'v0.70.0': (222 commits)
  fix(search): refresh only changed jobs after review events (kenn-io#1276)
  Keep CI reviews running after branch renames and report polling failures (kenn-io#1273)
  Move macOS tests to Namespace (kenn-io#1275)
  Add resolved-finding suppression to previous_reviews prompt section (kenn-io#1271)
  chore(deps): update github actions dependencies (kenn-io#1258)
  refactor(search): move review search onto kit v0.27.0 (kenn-io#1267)
  fix(daemon): report startup progress and allow time for migrations (kenn-io#1272)
  fix(daemon): replace invalid UTF-8 in JSON responses (kenn-io#1268)
  Fix branch reviews for missing non-trunk PR upstreams (kenn-io#1269)
  Sortable review table, analytics breakdowns by agent and model, and light mode for the web UI (kenn-io#1270)
  fix(search): keep daemon running without embedding credentials (kenn-io#1264)
  Restructure review prompts: systematic hunting passes, per-finding verification, severity calibration (kenn-io#1037)
  fix(hooks): leave a tracked relative core.hooksPath per worktree (kenn-io#1254)
  fix(storage): index responses.commit_id for commit comment lookups (kenn-io#1262)
  fix(search): stop scanning review_fts for every mirrored document (kenn-io#1261)
  Skip PR-disabled repositories during CI discovery (kenn-io#1265)
  ci: lint Go code for Windows (kenn-io#1263)
  fix(storage): honor test parallelism rules for review text (kenn-io#1255)
  fix(daemon): honor active job deadlines in health checks (kenn-io#1260)
  Sanitize review text during PostgreSQL sync (kenn-io#1234)
  ...
@subaru-ye
subaru-ye deleted the fix/previous-reviews-suppression branch October 6, 2026 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

previous_reviews omits the "do not re-raise" instruction in_range_reviews has, so a fix commit's review can ask to revert the fix

2 participants