Repository navigation
cockpit wait: an account block is pointless only for a refused repo - #119
Merged
Merged
Conversation
GitHub refused hosted jobs on three private repos (petcam-android, petcam-nvr, enjoyable-languages-site) once the account's included minutes ran out, and `cockpit wait` on taylab-launch-kit #279 and taylab-agent-kit #21 exited 2 at once, though their self-hosted runs were only queued on a busy ultra. The account-blocked finding now carries `repos`, the repos with refused jobs (a storage-quota repo is not one). Both wait deciders (lib/checks.js and Waiter.decide) stop only when the target is one of them, or when one of the target's own checks is queued for a GitHub-hosted runner while the account is blocked; a public repo's hosted queue still waits. Against an older daemon the CLI reads the repos from the finding's "Repos:" evidence. Co-Authored-By: Claude Opus 5.5 <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.
Why
2026-10-24: GitHub refused hosted jobs on petcam-android, petcam-nvr and enjoyable-languages-site ("The job was not started because recent account payments have failed or your spending limit needs to be increased", e.g. petcam-nvr run 40127592404). Those are private repos and the Free plan's 2,000 included minutes are spent.
cockpit wait taylab-launch-kit --pr 279andcockpit wait taylab-agent-kit --pr 21then exited 2 ("not waiting — GitHub is refusing jobs on 3 repos"), but their runs are self-hosted and were only queued on a busy ultra. Public repos and self-hosted runners kept running through the block (fleet-runner's hosted macOS/Windows/ARM jobs ran at 19:56Z, the same minute petcam-nvr was refused).What
verdict.js:loadFailureFactskeepsaccount.blockedRepos(refused only, not storage quota). Theaccount-blockedfinding carriesrepos, and its title counts those.lib/checks.jsdecideand SwiftWaiter.decide(CLI + MCP): an account block makes waiting pointless only when the target repo is inrepos(full or short name), or when one of the target's own checks is queued with causegithub-hostedand "will not start" (a private repo's hosted run). A public repo's hosted queue still waits.repos: the CLI (andrefusedReposin checks.js) reads them from the finding'sRepos: a, bevidence line, so the reinstalled CLI fixes the kit waits before the daemon is redeployed.reposadded); docs (cli.md exit 2, agents.md, api.js tool text) and CHANGELOG.Tests
checks.test.js: refused repo (full and short name) is pointless; the kit case (block on other repos, own run queued behind a busy host) stays pending; own run queued for a hosted runner under a block is pointless with the billing reason, a public repo's is pending; old-daemon evidence parsing.verdict.test.js:blockedReposexcludes quota repos; findingrepos/title.RollupTests.swift: the same cases forWaiter.decide.npm test1111/1112 pass (0 fail), fixtures and skill--checkclean,check-docs.shok. Swift suite proven in CI.Deploy: fleetd changes (verdict.js/checks.js/api.js). The waiting
~/deploy-idle-4cf00c3.shon ultra switches toorigin/mainat deploy time, so it deploys this too once merged.🤖 Generated with Claude Code