Repository navigation
spec(policy): pr_budget.t27 -- batch port waves per ring or crate, cap open PRs per author at 20 (Closes #10067) - #10070
Merged
Merged
Conversation
…p open PRs per author at 20 (Closes #10067) Two rules as a t27 card, with the 2026-10-17 queue measurements as test data: 1. Batching: a port wave PR (title `spec(port)`, branch `zcode-port-*` or `port/cr-chat-*`) lands one PR per ring or crate. Each spec still earns 27 TRI in the Queen earnings ledger, so no author loses credit. A 20-file wave is 960 Actions runs as 20 PRs and 48 as one. 2. Budget: at most 20 open non-draft PRs per author; the excess is held as a draft and promoted as slots free. Lab (Railway, t27c at 063da04, zig 0.16.0): test-report 11/11 pass, 0 vacuous, 3 invariants proved; parse-complete 8/8 in specs/policy. Negative control: OPEN_CAP 21 / CHECKS_PER_PR 28 fails to compile. Spec only; wiring it into a gate is a follow-up. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
gHashTag
enabled auto-merge (squash)
October 17, 2026 18:26
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.
Closes #10067
Adds
specs/policy/pr_budget.t27, a t27 card holding two rules for the PR queue:spec(port), branchzcode-port-*orport/cr-chat-*) lands one PR per ring or crate, not one per file. Each ported spec still earns 27 TRI in the Queen earnings ledger, so batching keeps every author's credit. A 20-file wave as 20 PRs costs 20 x 29 checks + 20 merges x 19 push runs = 960 Actions runs. As one batch it costs 48. That arithmetic is a test.OPEN_CAP). The excess is held as a draft and promoted as slots free. Every author counts the same, the owner's account and the Queen's bees included.The 2026-10-17 measurements are test data: open PRs (dmitrii-f-t27 128, gHashTag 162 with 131
queen-*), a rate of 6-9 PRs/hour, 732 master push runs and 76 dmitrii-f-t27 PR runs out of 1000, and 29 of 51 queued runs at 18:00Z.This is the spec only. Nothing reads it yet, and no existing PR is touched. Wiring it into a gate is a follow-up.
Verification (Railway lab, t27c built at 063da04, zig 0.16.0)
test-report specs/policy/pr_budget.t27: 11/11 tests pass, 0 vacuous, 3 invariants proved at comptimespec-status: IMPLEMENTED;parse-complete --specs-dir specs/policy: 8/8 consumed, 0 truncatedOPEN_CAP = 21,CHECKS_PER_PR = 28fails to compile (assertion failed).t27only🤖 Generated with Claude Code