Skip to content

Let pr_review.py reply Select One of Two Identical Findings by Line #2418

Closed as duplicate

Description

@ptr727

scripts/pr_review.py reply selects a thread by --match text and narrows by --path, and it refuses, correctly, when more than one unresolved thread matches. A reviewer that posts the same finding twice on one file, with identical text at two lines, leaves every such pair unanswerable through the helper. No quote of the finding tells the two apart, and --path names the same file for both.

The hand-run fallback is closed as well. gh-write-guard denies a direct resolveReviewThread mutation outside the helper, so a same-owner pull request has no route to answer the pair except the GitHub UI.

Observed shape, constructed. Two unresolved threads on scripts/x.py, at original lines 10 and 30, each carrying the body "f() materializes all matches into a list." Running reply <N> --match "materializes all matches" --path scripts/x.py prints status=AMBIGUOUS with both candidates and writes nothing. Copilot produced two such pairs in one round on #2415.

Done looks like. reply accepts a line selector, for example --line, matched against the thread's original line so a later push does not move it, that narrows an ambiguous match to one thread. It still refuses on zero and on more than one. A test covers an identical-text pair that the selector separates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingscriptA defect in hub tooling

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions