Skip to content

v0.2.1

Choose a tag to compare

@markerikson markerikson released this 14 Oct 22:17
· 75 commits to main since this release

This bugfix release fixes reviews that failed because agents wrote their output to the wrong file, explains why a review slice failed, makes a bare branch name review the whole branch, and shows file groups sooner while a review runs.

Changelog

Failed Reviews From Mismatched Output Paths

We had a review fail with "all 2 review slices failed" even though both reviewer agents had finished, spent about $1.50, and written findings. It turned out that the agents had written their output files under a slightly different name than the one DiffLoupe was looking for.

The run tag, which names each agent's output file, used a 7-character commit SHA. The temporary checkout that the agents read from used a 12-character SHA in its directory name. The agents passed that directory path to tilth dozens of times, and then wrote their output with the 12-character SHA instead of the path the prompt gave them.

We've fixed this in two ways:

  • Run tags and every displayed commit now use 12-character SHAs, so the two names match.
  • DiffLoupe now refuses any agent write or edit to a file other than that agent's output file, and refuses patch tools outright. The refusal message names the correct path, so the agent can retry.

Run IDs for new runs now contain 12-character SHAs. Existing runs keep their IDs and still open normally.

Clearer Failure Messages

When every review slice failed, the error always told you to run diffloupe doctor, even when credentials were fine. DiffLoupe now reads each failed agent's output to find the cause. The cause can be a provider error such as an invalid API key, a write to the wrong path, invalid JSON, a non-zero exit, or no output at all. The error lists the cause for each slice and points to its raw output. It only suggests doctor when the cause looks like a credential or tooling problem. The error banner in the web UI now keeps those line breaks.

Bare Branch Names Review the Whole Branch

diffloupe review my-feature used to review only the tip commit of my-feature. A bare branch name now means the whole branch against its merge base with the default branch, the same as branch:my-feature. Use commit:my-feature to review just the tip commit. A bare name of the default branch still means its tip commit, since the default branch has no commits of its own to compare. The terminal log now shows how many commits a review covers.

Groups Show Up Sooner

Grouping only needs the git range, so it now runs before the registry check and the repo map. The page shows the computed groups before the group-naming model call returns. While a review is running, the summary now says that findings will appear when the review finishes, instead of "No new issues found." Failed and cancelled runs also say so in the summary.

Full Changelog: v0.2.0...v0.2.1