Repository navigation
feat(skills): ci-status — ask the fleet's status API before polling GitHub - #247
Merged
Merged
Conversation
…itHub Agents waited on PR checks by polling GitHub every 15-20 s, one model turn per poll, unable to tell a running job from one starved of a runner. The new ci-status skill reads the self-hosted fleet's status API (running, queued with a measured start range from now, overdue, not_queued, unknown), wakes on its recheck_after_s, and falls back to gh pr checks (0/1/8) when the API is not configured or not reachable, saying so once. The API's host is private: it comes only from PULSEENGINE_CI_STATUS_URL and PULSEENGINE_CI_STATUS_CACERT. CI-STATUS-NO-PRIVATE-HOST fails on the shapes of a leak (an mDNS .local URL, the local CA directory, a Caddy root cert) without naming the host, since claims.yaml is public too; negative-controlled (a .local URL in the skill exits 1). issue-hunt, the feature loop and the operating contract point here. Plugin 0.40.0, twenty skills; PLUGIN-README-SKILL-COUNT caught the README's stale 19 on the first run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G5qpB7zvxLvdrvn5YRyj4R
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.
New skill
ci-status: before polling GitHub for a PR's checks, ask the self-hosted fleet's read-only status API (running / queued with a measured start range / overdue / not_queued / unknown) and wake on itsrecheck_after_s. When the API is not configured or not reachable, say so once and fall back togh pr checks(0 pass, 1 fail or no checks, 8 pending), waking every 15–30 min.The API's host is private infrastructure and never enters the repo: it comes only from
PULSEENGINE_CI_STATUS_URL/PULSEENGINE_CI_STATUS_CACERT.CI-STATUS-NO-PRIVATE-HOSTfails if an mDNS.localURL, the local CA directory or a Caddy root certificate name appears underclaude-tooling/. It matches the shape of a leak, not the host name, becauseclaims.yamlis public too. Negative control: a.localURL in the skill makes it exit 1.CI-STATUS-FALLS-BACK-AND-SAYS-SOpins the fallback rule, the exit-code table, "unknown is not not_queued", the no-double-subtraction rule, and the pointers from issue-hunt, feature-loop and the operating contract.REQ-CI-STATUS-SKILL/VER-CI-STATUS-SKILL, release 0.40.0, satisfied byFEAT-CI-GATES.PLUGIN-README-SKILL-COUNTcaught the README's stale "19" on the first run.Local: claims 13/13, claim-check self-test 13/13, manifest in sync, roster 20 both ways, rivet PASS (the 2 warnings already on main), zola build OK.
🤖 Generated with Claude Code
https://claude.ai/code/session_01G5qpB7zvxLvdrvn5YRyj4R