You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 67d19f7
Browse filesBrowse the repository at this point in the historyBrowse files
The composer doesn't offer a verdict on your own pull request (#307)
GitHub refuses a review of a pull request you opened yourself, so the PR
page's **Approve** and **Request changes** buttons could only ever come
back as an error on your own PR — a button whose one possible answer is
a refusal. They now sit out a PR the signed-in account authored, the
same way they already sit out a merged or closed one. **Comment** — the
half that is always yours to do — stays, and so does the Claude button
beside it.
The PR context menus are untouched: they never offered a verdict in the
first place.
## Your own pull request
| Before | After |
| --- | --- |
| <img src="/web-api/iframe-proxy?url=https://github.comhttps://media.githubusercontent.com/media/episode6/screenshots/main/collins/no-verdicts-on-your-own-pr/composer-before-20260813-224600.png"
width="380" alt="Composer with Address comments, Request changes,
Approve and Comment" /> | <img src="/web-api/iframe-proxy?url=https://github.comhttps://media.githubusercontent.com/media/episode6/screenshots/main/collins/no-verdicts-on-your-own-pr/composer-after-20260813-224600.png"
width="380" alt="Composer with Address comments and Comment only" /> |
## Somebody else's pull request, unchanged
The gate is authorship, not a blanket removal — the verdicts are still
there on a PR you didn't open (anthropics/claude-code#86537, fetched
live):
<img src="/web-api/iframe-proxy?url=https://github.comhttps://media.githubusercontent.com/media/episode6/screenshots/main/collins/no-verdicts-on-your-own-pr/composer-someone-elses-pr-20260813-224600.png"
width="380" alt="Composer on someone else's PR, still offering Request
changes and Approve" />
## How it knows
- `prstatus.viewer_login()` asks `gh api user` for the login gh is
signed in as, the first time a PR page loads, and remembers it for the
run — the account doesn't change under a running app. A failure isn't
remembered: offline or signed out is a state that gets better.
- `prdetail` compares that login with the PR's author
(case-insensitively, since gh spells an author back the way the account
was registered) and carries the answer as
`PullRequestDetail.viewer_is_author`; `parse_detail` takes the login as
an argument, so it stays pure and fixture-testable.
- The composer's `sync` draws the two verdicts only for a live PR that
somebody else opened.
- Every unanswerable case — no gh, offline, an author gh didn't name —
reads as somebody else's PR, which leaves the page exactly as it was
before anyone asked.
## Full window
| Before | After |
| --- | --- |
| <img src="/web-api/iframe-proxy?url=https://github.comhttps://media.githubusercontent.com/media/episode6/screenshots/main/collins/no-verdicts-on-your-own-pr/window-before-20260813-224600.png"
width="440" alt="Collins window, PR panel with all four composer
buttons" /> | <img src="/web-api/iframe-proxy?url=https://github.comhttps://media.githubusercontent.com/media/episode6/screenshots/main/collins/no-verdicts-on-your-own-pr/window-after-20260813-224600.png"
width="440" alt="Collins window, PR panel without the verdict buttons"
/> |
## Testing
- `pytest` — 1749 passed (7 new: the authorship compare and its
unanswerable cases, the fetch handing the login through and surviving
without it, and `viewer_login`'s ask-once/don't-remember-a-failure/no-gh
behavior).
- `ruff check collins tests` — clean.
- Captured headlessly against real GitHub data: PR 305 (mine, open)
before and after, and a live PR from another author to confirm the
verdicts survive there.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01EfA4T1qTZ8MV7SiJW99FTf
---------
Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
0 commit comments