Repository navigation
ci(heavy-caps): engineering owners are exempt; other authors get 15 oldest PRs and 100 heavy runs a day - #9077
Conversation
…een oldest PRs, and the backstop names itself Cindy (16:25): "let's lift that block for engowners" and "we can also raise to 15". Authors listed in .github/ENGOWNERS, read from the pull request's base commit so a pull request cannot add its own author, skip the per-author, per-prefix and shared-login caps; this includes the shared agent login, so agent lanes are no longer held. Other authors' heavy suites run for their fifteen oldest open non-draft pull requests (was three; the twelve-run daily cap is unchanged). The shared login's five-PR backstop now fails with its own message instead of the per-author one. Repo-wide limits, drafts and ci:run are unchanged. spec:AST-030 FR16, its Verification row and CONTRIBUTING say so.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
PR Analysis Report📚 Storybook Preview🧪 Sandbox PreviewNo new or modified components detected. Bundle Size SummaryNo component packages changed. Accessibility AuditStatus: The accessibility audit did not run on this pull request. It runs after merges to Generated by PR Enrichment workflow | Storybook | Sandbox | View full report |
There was a problem hiding this comment.
The change does what the description says, and the heavy-caps tests cover the new owner, roster and fifteen-PR states. Approval waits on an engineering owner's decision on the rewritten spec:AST-030 FR16: exempting listed owners (the shared agent login included), the fifteen-PR window, the backstop's own message, and running the suite when the roster can't be read. An engineering owner records the decision by commenting /approve-spec <full head SHA>, and the author may do so as an engineering owner. Two small optional fixes:
action.ymltreats a handle that appears only in a trailing roster comment as an owner, which the spec-owner gate'sparseOwnerFiledoes not.- The heavy-job contract test does not require
contents: read, which the roster read now depends on.
[Automated review]
| .split('\n').filter(line => !line.trimStart().startsWith('#')) | ||
| .flatMap(line => line.match(/@[\w-]+/g) ?? []) | ||
| .map(handle => handle.slice(1).toLowerCase()); |
There was a problem hiding this comment.
A handle that appears only in a trailing comment (@alice # was @bob) counts as an owner here. The spec-owner gate's parseOwnerFile (.github/scripts/knowledge-frontmatter.cjs) strips # to the end of the line, so it does not. Stripping comments the same way keeps the two rosters identical:
.split('\n').map(line => line.replace(/#.*/, ''))…contents: read Review follow-up: a handle only in a trailing # comment no longer counts as an owner, matching parseOwnerFile, and the heavy-job contract test requires the contents: read the roster read depends on.
…wners skip every limit Cindy (16:56): "daily cap 100". The per-author daily cap becomes a DAILY constant of 100 (was 12); the shared login's five-PR and forty-run backstops stay for a non-owner shared login. FR16 now says engineering owners are exempt from all of these limits, the shared login's included, and its Verification row names the 101st heavy run and an owner's shared login past the backstops.
There was a problem hiding this comment.
The code and tests do what the rewritten FR16 says, and approval waits on an engineering owner's decision on that spec change. An engineering owner needs to approve or amend the updated spec:AST-030 FR16: listed engineering owners (the shared agent login included) skip every heavy-suite limit, other authors get their fifteen oldest pull requests and one hundred heavy runs a day, the shared-login backstop gets its own message, and an unreadable roster lets the suite run. They record that decision by commenting /approve-spec <full head SHA> on this pull request, and the author may do so as an engineering owner. Please also update the description, which still says the twelve-run daily cap is unchanged.
[Automated review]
|
/approve-spec 96870fb |
…y-caps-prefix # Conflicts: # docs/specs/AST-030/spec.md
|
/approve-spec 2629396 |
There was a problem hiding this comment.
The change matches spec:AST-030 FR16 as rewritten here, which an engineering owner approved for this revision, and the tests cover every new state, so this looks ready to merge. One optional wording fix: the description's Evidence list says the 100th heavy run is held, but the code and the FR16 Verification row hold the 101st.
[Automated review]
User impact
.github/ENGOWNERSare not held by any of these limits: per-author, per-prefix, or the shared login's five-PR and forty-run backstops. That includes the shared agent login.ci:runfor fork pull requests, and the re-run and bot exemptions.Authority
Cindy, 2026-10-30: "let's lift that block for engowners" and "we can also raise to 15" (16:25 PT), and "daily cap 100" (16:56 PT).
spec:AST-030FR16 changes to match, along with its Verification row and the CONTRIBUTING line. That needs an owner's/approve-specat this head.Changes
.github/actions/heavy-caps/action.yml:.github/ENGOWNERSthrough the API at the pull request's base commit, so a pull request cannot add its own author, and returns early for a listed author (handles compared case-insensitively, comment lines ignored);OLDEST = 15, used by both the queue check and the daily count's set of pull requests;DAILY = 100;heavy-caps-action.test.mjs:spec:AST-030FR16, its Verification row, andCONTRIBUTING.md.Evidence
heavy-caps-action.test.mjspasses (8 tests).OLDEST = 3;Scope
Writing rubric results