cd /news/ai-agents/a-pr-walkthrough-needs-evidence-betw… · home topics ai-agents article
[ARTICLE · art-137077] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

A PR walkthrough needs evidence between the steps

A developer released v0.7.0 of PR Tour, an open-source skill for Codex and Claude Code that generates guided walkthroughs of pull requests, adding an optional "transition" field that lets readers inspect the source behind step-to-step explanations. The update follows a community suggestion to make transitions explicit, and the builder now reads cited line ranges from Git, including unchanged files, while the agent still authors the reasoning. The release also adds draggable desktop dividers with persisted widths and moves comment saving to a single IndexedDB transaction after WebKit testing exposed a race condition between tabs.

by read3 min views3 publishedSep 22, 2026

A suggestion on GitHub changed what I wanted to improve next in PR Tour, the open-source skill I’m building for Codex and Claude Code.

The guide could show every changed file and cite valid source lines, yet still leave out the connection between two steps. An unchanged callback or queue might be the part a reader actually needs.

imMamdouhaboammar suggested making the transition itself explicit. That led to the main change in v0.7.0: a reader can now inspect the source behind a step-to-step explanation.

The existing next text still explains why the guide moves on. An optional transition adds the destination and the basis of that explanation:

{
  "next": "The response receives the WebSocket send method. Follow that callback to state handling.",
  "transition": {
    "to": "response-state",
    "basis": "source",
    "evidence": [
      {
        "path": "starlette/websockets.py",
        "side": "right",
        "start": 207,
        "end": 209,
        "text": "The response receives the current WebSocket send method."
      }
    ]
  }
}

This fragment comes from the pinned Starlette example. The full example adds the callback implementation and destination branch as well.

The builder reads the cited ranges from Git. right means the pinned head; left means the merge base. The source can come from an unchanged file, because the connection often lives outside the diff.

In the HTML, View connection evidence expands those excerpts with line numbers, syntax colors, and links to the pinned source. The excerpts are bundled into the same file and remain readable offline.

There are three authored categories:

I used “Source cited” because a valid source range does not prove a call relationship. The builder checks the destination step, source identity, and ranges. The agent still authors the explanation.

The queue handoff in the demo is an example of that distinction. It shows the send callback, queue insertion, queue retrieval, and session entry. It also says that the full TestClient wrapping and session-creation path is not included, so the interpretation still contains an inference. It makes no claim about a real network server’s transport.

The example has seven connections: three source-cited, one including inference, and three reading-order moves. Those counts describe the guide’s annotations; they are not an execution-path coverage score.

Older manifests still build. Adding this information to an old guide requires authoring the transitions and regenerating the HTML; a rebuild alone cannot supply the missing reasoning.

Once source excerpts were inside the explanation pane, the three-column layout felt cramped.

The two desktop dividers are now draggable. Moving one resizes its adjacent panes, with minimum widths so a pane does not disappear. Widths follow the guide and code when their order is switched, and the browser remembers them when storage is available. Double-click a divider to reset; keyboard users can focus it and use arrow keys or Enter. Mobile keeps its Guide / Code tabs.

I checked the update in Chromium and WebKit, including offline excerpts, pane resizing, mobile navigation, and existing review-comment behavior. Comment imports still require the same PR snapshot and exact source.

The WebKit checks also caught a race when two tabs saved comments at once: serializing localStorage writes with Web Locks did not always make the next tab’s read current. Comment saves now read, merge, and write in one IndexedDB transaction. Existing localStorage comments are imported without deleting the old copy, and the JSON backup remains available when browser storage is blocked.

Try the English demo · Source and installation

If you try it, I’d like to know where the reading order still loses you. Does the cited code explain the jump, and is it clear which part remains an inference?

Written with AI assistance from Codex.

── more in #ai-agents 4 stories · sorted by recency
── more on @pr tour 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/a-pr-walkthrough-nee…] indexed:0 read:3min 2026-09-22 ·