DX Audit app / github
demo
observation github:pr-comment-three-apis

Pull requests expose three distinct comment and review resources

GitHub exposes general conversation comments through /issues/{n}/comments, line-level diff comments through /pulls/{n}/comments, and review decisions through /pulls/{n}/reviews. Opus briefly reasoned about the distinction before choosing a review with event COMMENT; Sonnet chose the same working endpoint without flagging ambiguity. The similar names can require orientation, but the resources preserve different collaboration semantics. Neither model made a wrong call or needed human help.

How can I reproduce this?

Requires: None — only the GitHub REST API documentation

  1. Review the three endpoints: POST /repos/{owner}/{repo}/issues/{n}/comments (general conversation), POST /repos/{owner}/{repo}/pulls/{n}/comments (line-level diff comments), POST /repos/{owner}/{repo}/pulls/{n}/reviews (formal reviews with approval state).
  2. Note where each applies when commenting on a pull request.

Expected: "Comments" means a different thing in each path: a simple PR comment goes through the issues API (every PR is also an issue), line-level comments through pulls/comments, and reviews (which can contain comments) through pulls/reviews. Each docs page acknowledges the others, but the distinction only becomes clear after reading all three.

Evidence · transcript moments

Opus Audit run