Repository navigation
chore(ci): give browser proof headroom with fresh weights, a 20-minute bound and three shards - #2415
Merged
Merged
Conversation
2 tasks
Browser shard 2 drifted from the 840 s qualification bar to its 900 s job bound (887 s on main 7f22bb6, 917 s cancelled on a ready PR). Refresh measured weights from successful main run 39109891338 attempt 1, which includes the #2393 split. Scored by the fresh weights, the slowest project per shard drops from 628 s to 573 s on both shards. Closes #2414 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Browser shard 2 reached 887 s on main and 917 s on a ready PR against the 900 s bound; refreshed weights brought the slower shard to 845 s, still above the 840 s qualification bar. The bound now leaves real buffer, and a test pins it so it cannot shrink silently. Refs #2414 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refreshed weights brought the slower browser shard to 845 s, above the 840 s bar. Scored by fresh weights, three shards bring each shard's slowest project to 482 s, the cost of the single heaviest file. Layout stays at two shards. One table, PROOF_SHARDS in scripts/proof-shards.ts, now feeds retention receipts and source validation, the weight refresh, the input-partition fingerprint and a workflow guard that matches each domain's matrix and --shard divisor. A receipt from the two-shard era names another partition and is never admitted. Refs #2414 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Also state that the inclusion fingerprint binds each domain's measured partitions rather than two, and that layout keeps two shards. Refs #2414 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 tasks
schlessera
marked this pull request as draft
October 18, 2026 08:57
schlessera
force-pushed
the
chore/2414-browser-weights
branch
from
October 18, 2026 08:57
ae70774 to
d4cc905
Compare
schlessera
marked this pull request as ready for review
October 18, 2026 08:58
Open
1 of 3 tasks
This was referenced Oct 18, 2026
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 #2414
What changed
Browser proof gets more buffer three ways, per the maintainer's direction on #2414:
Refreshed weights.
scripts/browser-shard-costs.jsonbrowser measurements now come from successful main run 39109891338, attempt 1 (7f22bb6ac, which includes the test(ui-react): separate narrow callout geometry and capture #2393 split), viabun scripts/refresh-browser-costs.ts 39109891338 1 browser. Layout costs and provenance are untouched.20-minute browser job bound (was 15), pinned by
tests/ci-workflows.test.ts. Layout stays at 25.Three browser shards (layout stays two). One table,
PROOF_SHARDSinscripts/proof-shards.ts, now feeds:scripts/proof-reuse.tsreceipt divisor, source job count, per-shard validation and pair lookup;scripts/refresh-browser-costs.ts);scripts/inclusion-inputs.ts);scripts/check-ci-workflows.ts) that matches each domain'sci.ymlmatrix and--sharddivisor.scripts/ci-proof.tsandscripts/browser-sequencer.tsalready parse any--shard=M/Nand are unchanged.Why
Browser (2) drifted from #2366's 840 s bar to 887 s on main and 917 s cancelled on a ready PR. The weights-only refresh in this PR's first confirmation (run 39111465321) measured 845 s and 730 s. That is better, but still above the bar.
Scored by fresh weights, each shard's slowest project:
That 482 s floor is
navigation-reach.pointer.tsxin one rail project, the single heaviest file. A fourth shard gives nothing more. Splitting that file is the next lever and is out of scope here.Validation
bun run check:pr --base origin/mainatd4cc90500on268b76ba6: 957 fast and 233 affected tests, all passing. Strict types pass.Retention: a two-shard-era receipt (
"shard":"1/2") is refused for browser (tests/proof-reuse.test.ts). Fixtures now derive their job and receipt counts fromPROOF_SHARDS.Refresh: browser measurements record every configured shard's job (
tests/refresh-browser-costs.test.ts).Guard controls (
tests/ci-workflows.test.ts): a browser matrix of[1, 2], a browser/2divisor, a layout/3divisor and a layout[1, 2, 3]matrix are each rejected.Mutation receipts, each restored byte-identically:
failremovedtests/ci-workflows.test.ts:354tests/ci-workflows.test.ts:359Independent gpt-6-astra review: it verified retention integrity (three distinct jobs, exact
M/3receipts, partitions inside the fingerprint) and found the three-shard partition covers all 309 specs exactly once. Affected-only PRs still select whole domains, so no shard can be empty. Its two P3 findings are fixed: the missing layout-matrix control, and stale "two measured partitions" text in the decision record.Gaps
scripts/visual.mjskeeps a "both CI shards" comment and a--shard=1/2usage example. The file is hash-pinned by the browser command activation audit, so I left it unchanged.scripts/browser-worker-audit.jsondescribes its historical two-shard scope as recorded audit evidence.ci.ymljob-name/matrix change drifts it from the audited generated-CSS producer set. As with fix(ci): keep draft-mode success from standing as a ready PR's proof #2398, that binding falls back to fresh proof until a re-audit (ci: establish post-merge re-audit procedure for generated-CSS producers #2408).No changeset: no shipped package files changed.
🤖 Generated with Claude Code