Repository navigation
Read every page of standup searches and refuse truncated results - #257
Merged
Merged
Conversation
haacked
marked this pull request as ready for review
October 24, 2026 01:03
GitHub's search API returns 30 results per page by default, so a standup covering more merged PRs dropped the rest without an error. Claude-Session: https://claude.ai/code/session_01A512d6pECY8WFZS47mRFEY
haacked
force-pushed
the
haacked/standup-search-pagination
branch
from
October 25, 2026 03:13
e4047f7 to
4412021
Compare
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.
GitHub's search API returns 30 results per page unless the call asks for more. The standup skill ran its three searches as single
gh api search/issuescalls, so a standup window with more than 30 merged PRs dropped the rest with no error. On Friday's standup, 14 of 44 merged PRs were missing, including 8 that had carried over from the previous standup.The three searches now go through
scripts/standup-search.sh, which reads every page at 100 per page. It exits non-zero when GitHub returns fewer items thantotal_countor marks the searchincomplete_results. On a failed search, the skill reports the error and does not write the archive file. The next run takes that file's modified time as its merge cutoff, so writing it after a short search would drop the missing PRs for good.bin/standup-runcarries the same exception, because its prompt otherwise always writes the archive file.Test plan
ai/skills/standup/scripts/tests/test-standup-search.shpasses. It runs against a fakeghthat pages results like GitHub. It covers a three-page read, a short read, a match over 1,000 results, an incomplete search, and a failedghcall.--paginate, removingper_page=100, or removing the truncation check.https://claude.ai/code/session_01A512d6pECY8WFZS47mRFEY