Skip to content

claw-refresh: survive HTML error pages, refresh only what the merger lands next, cap 5, stop above 150 queued runs (Closes #10545) - #10559

Merged
gHashTag merged 1 commit into
masterfrom
claude/claw-refresh-throttle
Oct 18, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/claw-refresh-throttle

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10545

claw-refresh failed on every push to master (Gate Topology runs 39146314331, 39145102967, 39144352772, 39143956433): the GraphQL listing came back as an HTML error page and gh api --paginate exited 1 with invalid character '<'. When it did work it could start update-branch on 30 PRs at once, about 26 workflows each, into a queue of 396 queued runs against 13 running.

What changes

  • Listing (gate-topology.yml, claw-refresh only): pages of first:30, labels(first:10), up to 3 tries, a failed try keeps nothing. A persistent failure writes ::warning:: and a step-summary line and exits 0.
  • Rule (specs/claw/refresh.t27, with tests): refresh a behind, conflict-free PR only if auto-merge is armed on it or it carries bee-reviewed (the two things the merger acts on); at most 5 per run (was 30); nothing at all when more than 150 Actions runs are queued or the queue size cannot be read. The job only copies facts into the module.
  • scripts/gen_w661.py (dead) deleted to pay the foreign-line budget for the job's growth.
  • Regenerated gen/c/claw/refresh.c and the seal.

Lab results (Railway only)

  • 54/54 tests pass, 0 vacuous.
  • Mutation: 185 of 199 killed; 11 survivors are < to <= loop-bound flips whose extra pass touches nothing (rank == cap is never assigned; index == count is past the used records); 3 hangs are endless loops the mutant makes.
  • Census tools/census/quiet.txt: "named a path but not quiet" 233 to 237 (four new run steps); shell and fetches did not move.

Not verified

  • A live run on master after merge (the job has never completed on Actions).
  • update-branch with the pull-requests-only token may answer 403 (the App may need contents:write).
  • Merges made with github.token do not trigger push workflows.
  • Inherited reds not from this PR: claw-sarif, duplicate-bodies (clamp01), Corpus ratchet, Verilog widths, withdrawn-live.

🤖 Generated with Claude Code

…lands next, cap 5, stop above 150 queued runs (Closes #10545)

The claw-refresh job failed on every push to master: the GraphQL listing
(100 PRs x 50 labels) came back as an HTML error page and `gh api
--paginate` died with "invalid character '<'" under bash -e.

- list(): pages of first:30, labels(first:10), up to 3 tries, a failed
  try keeps nothing; a persistent failure writes ::warning:: and a
  step-summary line and exits 0.
- specs/claw/refresh.t27 owns the rule: refresh only a behind, clean PR
  with auto-merge armed or the bee-reviewed label (the two signals the
  merger acts on), at most 5 per run (was 30), nothing when more than 150
  Actions runs are queued or the queue size is unread. 54 tests, boundaries
  150/151 and 5/6 included.
- scripts/gen_w661.py deleted (dead) to pay the foreign-line budget for
  the job's growth.
- Regenerated gen/c/claw/refresh.c and the seal on the lab.
- Census: tools/census/quiet.txt "named a path but not quiet" 233 -> 237
  (four new run steps in claw-refresh); shell.txt and fetches.txt did not move.

Lab results: 54/54 tests pass; mutation 185/199 killed, 11 survivors are
loop-bound flips whose extra pass touches nothing (rank == cap is never
assigned, index == count is past the used records), 3 hangs are endless
loops made by the mutant.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-18 18:02:53 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 44
PRs with All Checks Green 6
READY 0
FAILING 44
PENDING 0
NO CHECKS YET 0

These columns do not partition: 0 + 44 + 0 + 0 = 44, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=fad12492937a != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit d1d4f16 into master Oct 18, 2026
32 of 35 checks passed
gHashTag added a commit that referenced this pull request Oct 18, 2026
…ried listing)

#10559 landed the same queue gate and listing fix this branch carried
(refresh_budget, first:25), with more: three tries, a cap of 5 and only
PRs the merger lands next. specs/claw/refresh.t27, gen/c/claw/refresh.c
and the seal are master's. This branch keeps the token shape for
claw-t27f, claw-suggest and claw-refresh, the claw-batch red marker,
and adds actions: read to claw-refresh: without it the queue read
falls to -1 and the job refreshes nothing, silently.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

claw-refresh: survive HTML error pages from the GraphQL listing and stop flooding the Actions queue

1 participant