fix: add --limit 200 and targeted --query filters to all gh project item-list calls#77
Merged
Merged
Conversation
…tem-list calls Default limit of 30 silently truncated projects with >30 items, causing execute-backlog-item to miss ranked candidates and fall through to wrong tiers (discovered when #40 at position 34 was never returned). All 9 affected command files audited and fixed. All calls now include either --limit 200/500 or are single-item #<n> queries (which return at most one result and need no limit). Targeted --query filters applied throughout: - is:issue to exclude PRs and draft items from all project item queries - status:Todo for rank-analysis calls (add-backlog-item, refine-backlog-item) - no:milestone for unassigned-candidate queries (plan-release, execute-backlog-item Tier 2) - milestone:<v> for milestone-scoped status lookups (release-status, plan-release re-planning) - Label and type filters pushed server-side where possible (plan-release mode A/B, refine-backlog) - -status:Done for validate-backlog to reduce audit dataset size (raised limit to 500) - #<n> targeted queries for single-item lookups (execute-backlog-item item ID, resolve-external-blocker) --query confirmed to preserve Project rank order: filtered output sequence matches rank-ordered --limit 200 output for the same items (reproducible test: compare item order from `--query "status:Todo"` vs `--limit 200` then jq filter to Todo — sequences are identical). Refs #76 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
gringolito
added a commit
that referenced
this pull request
May 25, 2026
The broad `gh issue list` call was superseded by the targeted `gh project item-list` Tier 1/Tier 2 queries introduced in #77. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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
gh project item-list, which caused/execute-backlog-itemto miss candidates ranked ≥31 and fall through to wrong tierscommands/*.mdfiles audited and updated--queryfilters pushed server-side throughout to reduce response size and improve correctnessRank-preservation investigation
Test method: compare item order from
gh project item-list 2 --owner gringolito --format json --query "status:Todo"againstgh project item-list 2 --owner gringolito --format json --limit 200 | jq '[.items[] | select(.status == "Todo")]'Result: sequences are identical —
--querypreserves Project rank order. Same test confirmed formilestone:v0.3.0 status:Todo.Conclusion:
--queryDOES preserve Project rank.Changes per file
execute-backlog-item.md--query "is:issue status:Todo milestone:<v>" --limit 200; Tier 2:--query "is:issue status:Todo no:milestone" --limit 200; single-item lookup:--query "#<n>"add-backlog-item.md--query "status:Todo" --limit 200for rank fetchrefine-backlog-item.md--query "#<n>"for membership check;--query "status:Todo" --limit 200for rank fetchrefine-backlog.md--limit 200; removed separategh issue listcallplan-release.md--query "is:issue status:Todo no:milestone ..."with type/blocker label filters; re-planning:--query "is:issue milestone:<v>"release-status.md--query "is:issue milestone:<v>" --limit 200for status lookup mapbacklog-health.md--query "is:issue" --limit 200validate-backlog.md--query "is:issue -status:Done" --limit 500resolve-external-blocker.md--query "#<stub>"for single-item ID lookupAcceptance Criteria
/execute-backlog-itemuses targeted queries with--limit 200and no longer drops items ranked 31+commands/*.mdfiles that callgh project item-listaudited and fixed--querypreserves rank: affected commands use targeted queries for Tier 1 and Tier 2Closes Fix gh project item-list truncation: missing --limit causes silent candidate drops #76