fix(skills): match codex bot in GraphQL author.login filters#227
Merged
Conversation
GitHub's GraphQL API returns Bot author logins in their bare form (`chatgpt-codex-connector`) while the REST API returns them suffixed (`chatgpt-codex-connector[bot]`). The unresolved-thread queries in review-fix-loop and address-pr-comments use GraphQL but filter on the REST-suffixed literal, so every codex-authored review thread was silently dropped from the count. Effect: Step 2E and Step 3 in review-fix-loop reported `unresolved=0` even when codex had open threads, falsely advancing SUCCESS_COUNT and declaring the PR clean. Surfaced today on PR #226 where a codex P2 thread (`#discussion_r3189543903`) sat open through 4 "clean" iterations. Fix: extend the GraphQL `select()` clauses in three sites to accept either form. Forward-compatible if GitHub ever changes the convention. REST API filters (fix-ci-tests, address-pr-comments REST paths) are already correct and unchanged.
AlexandreYang
marked this pull request as ready for review
May 5, 2026 15:26
AlexandreYang
requested review from
astuyve,
julesmcrt,
matt-dz,
thieman and
val06
as code owners
May 5, 2026 15:26
julesmcrt
approved these changes
May 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GitHub's GraphQL API returns Bot author logins in their bare form (
chatgpt-codex-connector) while the REST API returns them suffixed (chatgpt-codex-connector[bot]). Three GraphQLselect()clauses inreview-fix-loopandaddress-pr-commentsfilter on the REST-suffixed literal only, so every codex-authored review thread was silently dropped from the unresolved count.Impact
Surfaced today on PR #226: a codex P2 thread (
#discussion_r3189543903, "Require non-empty command descriptions") sat unresolved through four "clean" review-fix-loop iterations because Step 2E and Step 3's GraphQL queries never saw it.SUCCESS_COUNTreached 5 and the loop declared the PR clean while a real P2 was open. The bug was visible to a human inspecting the PR but invisible to the loop.Fix
Extend the GraphQL
select()clauses at three sites to accept either form:Sites changed:
.claude/skills/review-fix-loop/SKILL.md:234(Step 2E unresolved-thread check).claude/skills/review-fix-loop/SKILL.md:321(Step 3 verify check).claude/skills/address-pr-comments/SKILL.md:127(resolved-thread filter)A short
# NOTE:comment is added above each query explaining the REST-vs-GraphQL discrepancy so future edits don't regress.Why both forms
Keeping the
[bot]form alongside the bare form means the filter stays correct if GitHub ever standardises on the suffixed login in GraphQL. Cheap forward-compatibility.Not changed
fix-ci-tests/SKILL.md:227andaddress-pr-comments/SKILL.md:66, 77use the REST API path, which already returnschatgpt-codex-connector[bot]correctly. Left untouched.Test plan
author.loginreturnschatgpt-codex-connectorfor the bot's threads (typenameBot); REST returnschatgpt-codex-connector[bot].