{"slug": "a-pr-walkthrough-needs-evidence-between-the-steps", "title": "A PR walkthrough needs evidence between the steps", "summary": "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.", "body_md": "A suggestion on GitHub changed what I wanted to improve next in [PR Tour](https://github.com/YunSinLee/pr-tour), the open-source skill I’m building for Codex and Claude Code.\n\nThe 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.\n\n[imMamdouhaboammar suggested making the transition itself explicit](https://github.com/anthropics/skills/discussions/1800#discussioncomment-18549931). That led to the main change in v0.7.0: a reader can now inspect the source behind a step-to-step explanation.\n\nThe existing `next` text still explains why the guide moves on. An optional `transition` adds the destination and the basis of that explanation:\n\n```\n{\n  \"next\": \"The response receives the WebSocket send method. Follow that callback to state handling.\",\n  \"transition\": {\n    \"to\": \"response-state\",\n    \"basis\": \"source\",\n    \"evidence\": [\n      {\n        \"path\": \"starlette/websockets.py\",\n        \"side\": \"right\",\n        \"start\": 207,\n        \"end\": 209,\n        \"text\": \"The response receives the current WebSocket send method.\"\n      }\n    ]\n  }\n}\n```\n\nThis fragment comes from the pinned Starlette example. The full example adds the callback implementation and destination branch as well.\n\nThe 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.\n\nIn 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.\n\nThere are three authored categories:\n\nI 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.\n\nThe [queue handoff in the demo](https://yunsinlee.github.io/pr-tour/demo.en.html#finish-body) 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.\n\nThe 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.\n\nOlder 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.\n\nOnce source excerpts were inside the explanation pane, the three-column layout felt cramped.\n\nThe 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.\n\nI 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.\n\nThe 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.\n\n[Try the English demo](https://yunsinlee.github.io/pr-tour/demo.en.html#finish-body) · [Source and installation](https://github.com/YunSinLee/pr-tour)\n\nIf 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?\n\n*Written with AI assistance from Codex.*", "url": "https://wpnews.pro/news/a-pr-walkthrough-needs-evidence-between-the-steps", "canonical_source": "https://dev.to/devyuuun/a-pr-walkthrough-needs-evidence-between-the-steps-3pfk", "published_at": "2026-09-22 13:47:52+00:00", "updated_at": "2026-09-22 13:53:10.788933+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools"], "entities": ["PR Tour", "Codex", "Claude Code", "GitHub", "Starlette", "YunSinLee", "Web Locks", "IndexedDB"], "alternates": {"html": "https://wpnews.pro/news/a-pr-walkthrough-needs-evidence-between-the-steps", "markdown": "https://wpnews.pro/news/a-pr-walkthrough-needs-evidence-between-the-steps.md", "text": "https://wpnews.pro/news/a-pr-walkthrough-needs-evidence-between-the-steps.txt", "jsonld": "https://wpnews.pro/news/a-pr-walkthrough-needs-evidence-between-the-steps.jsonld"}}