feat(tcfeed): add pr --all, the last scan worst first - #116
Merged
Conversation
The flag this deliberately did not have. The rails around it are the substance of the change, because the reason it did not have one has not gone anywhere: bulk unsolicited pull requests are against GitHub's acceptable use policy however good the workflow is, and an account that sends them stops being able to send anything. --all is the run whose table is still on the screen, not every repository the cache has ever seen - the cache holds months of them and none of that was being looked at when --all was typed. main() writes the ranked table to `lastrun` and --all reads it back, so the two can never disagree about what "all" meant. Worst first, through one shared `ranked()` now used by both the table and the file. Two orderings that drift is the sort of bug nobody notices until the wrong repository has been written to, and it matters here precisely because the cap truncates: taking the top three of twenty-five has to mean the top of the table. Too-big, archived and vanished repositories cannot appear. They are skipped before a row is ever added, so `lastrun` cannot offer --all something the scan itself declined to clone. The cap changes shape rather than going away. Named repositories were typed, so exceeding the cap is still an error; --all was one word, so it truncates instead - and says out loud how many it left behind, because a run that quietly did three of twenty-five reads exactly like a run that did all of them. TCFEED_PR_PAUSE (default 20s) spaces the requests that actually open. Forking, pushing and opening in a tight loop is the shape abuse detection watches for, and being throttled mid-run leaves half a fork behind. Skips wait for nothing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ThreatCrush Security Scan67 finding(s) HIGH/CRITICAL: 11 | MEDIUM: 55 | LOW: 1
…and 17 more. Full results in the Security tab. Snippets are redacted; ThreatCrush never prints matched credential material. |
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.
--allis the flag this deliberately did not have. The rails around it are the substance of the change, because the reason it did not have one has not gone anywhere: bulk unsolicited pull requests are against GitHub's acceptable use policy however good the workflow is, and an account that sends them stops being able to send anything. Worth stating plainly — the first maintainer to answer one of these closed it (rasterm/rasterm#3).What
--allmeansThe run whose table is still on the screen — not every repository the cache has ever seen. The cache holds 76 of them and none of that was being looked at when
--allwas typed.main()writes the ranked table tolastrun,--allreads it back, so the two cannot disagree about what "all" meant.Worst first, through one shared
ranked()now used by both the table and the file. Two orderings that drift is the sort of bug nobody notices until the wrong repository has been written to, and it matters because the cap truncates — taking the worst three of twenty-five has to mean the top of the table.Too-big, archived and vanished repositories cannot appear. They are skipped before a row is ever added, so
lastruncannot offer--allsomething the scan itself declined to clone.The cap changes shape rather than going away
Named repositories were typed, so exceeding
TCFEED_PR_MAXis still an error.--allwas one word, so it truncates instead — and says out loud how many it left behind, because a run that quietly did three of twenty-five reads exactly like a run that did all of them:TCFEED_PR_PAUSE(default 20s) spaces the requests that actually open. Forking, pushing and opening in a tight loop is the shape abuse detection watches for, and being throttled mid-run leaves half a fork behind. Skips wait for nothing.Verified
tsc --strictclean, every path exercised:--all, no prior scan--allis the table a scan prints--all foo/barlastrun, cap 3taking the worst 3+2 left for a later runrasterm/rasterm—already asked — closedlastrun🤖 Generated with Claude Code