Repository navigation
π [fix] card: refuse a malformed issue before any GitHub read - #74
Closed
alejandrorpascual wants to merge 1 commit into
Closed
alejandrorpascual wants to merge 1 commit into
alejandrorpascual wants to merge 1 commit into
Conversation
- move, status and item-id exit 64 unless the issue is one positive integer - before, "26 53" reached a strict GraphQL read, failed 3 retries and halted the run - cause: zsh does not word-split `set -- $pair`, so a two-card loop passed both numbers as one - tests/test-card.sh case 10: five bad values per verb exit 64 with no gh call and no halt file
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more β On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
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.
A board run stopped itself because one command asked GitHub about two tickets at once, in a slot that holds one. GitHub refused, the run counted that as GitHub failing, retried three times and halted every read. Now the board tool checks that it got exactly one ticket number and turns anything else down on the spot, so a typo fails just that command instead of the whole run.
Check it by hand
git fetch https://github.com/alejandrorpascual/super-board fix/card-refuse-malformed-issue && git switch --detach FETCH_HEAD. You should be on commit7b94aff.bash tests/test-card.sh. It should end withβ bad card number β 64, no GitHub call, no haltandPASS: 10 card-helper checks.git checkout HEAD~1 -- scripts/super-board-card.sh) and run the test again. It should stop atFAIL: status '26 53' should exit 64 (rc=0). Restore withgit checkout HEAD -- scripts/super-board-card.sh.zsh -c 'pair="26 53"; set -- $pair; scripts/super-board-card.sh --owner acme --number 1 --repo acme/app status $1; echo rc=$?'. It should printinvalid issue: '26 53' β pass one issue number per callandrc=64at once, with no retries.Tried by Claude: steps 2 to 4 ran on this branch on macOS (zsh, Python 3.14.7). Step 1 is written from the branch name.
Note
β³ In review Β· round 1 Β· β 4/4 AC Β· head
7b94affProblem
scripts/super-board-card.sh, during asuper-board runon 2026-10-19 (installed as.claude/bin/super-board-card.sh, kit 3.1.2)for pair in "26 53" "40 52"; do set -- $pair; n=$1; β¦; super-board-card.sh --config $C move $n Done; done$pair, sonwas26 53; the arg-count check saw one argument and passed itread_cardsent-F issue="26 53"to a GraphQLInt!. The helper runs strict (SB_GITHUB_READ_STRICT=1), so the rejection counted as a GitHub failure: 3 retries, then a halt of every read in the runSolution
issue_argcheck in the verb dispatch:move,statusanditem-idrefuse an issue that doesn't match^[1-9][0-9]*$invalid issue: '<arg>' β pass one issue number per call, before any gh call, so no retry and no halt fileidsanditemstake no issue and are unchangedAcceptance criteria
status,item-idandmoveexit 64 for"26 53","#26","abc","0"and""β³
tests/test-card.shcase 10β³
tests/test-card.shcase 10 (fake gh call log empty,SB_GITHUB_HALT_FILEabsent)β³
tests/test-card.shcases 1 to 9 unchanged and passingβ³
FAIL: status '26 53' should exit 64 (rc=0)with the old scriptIteration history
bash tests/test-card.shβ PASS 10 Β·bash tests/run-safety.shβ 61 of 62 suites pass;test-ui-refine-loop-setup.shfails the same way (16 passed, 42 failed) on untouchedmainatf014cfa, so it predates this change Β·7b94affRisk
π’ Low Β· one argument check in the card helper; valid issue numbers take the same path as before
#(#26) or zero-padded number now gets 64 instead of a GitHub error. The kit's docs and scripts show bare numbers (move <issue> <Status>), so a correct caller is unaffected