Repository navigation
tests: split navigation-reach pointer cases so one file no longer floors every browser shard #2417
Description
2026-10-22 implementation handoff: draft #2434 integrates main 7b8a755ea329bd48a11b790e916c417b6f608eee at head 49cb2970de26574d640fdb3b54fba7637bfcca37, tree 9965372add6ccd9b9b8a946009d0b43580de7bd5. Both integration conflicts are resolved. The prior worker’s exact-head browser receipt is recovered and independently reconciled: all 24 split file/project instances and 2,151 cases pass, with no skips or unhandled errors and a local maximum file time of 177.180 seconds. This is local proof, not a successful hosted confirmation or an admitted timing-weight source.
The maintainer’s 2026-10-22 ruling removed the #2350 dependency. No declared blocker remains. Remaining acceptance is coordinator-owned: a successful complete hosted run containing the split, browser-weight refresh through the unchanged admission tool, recorded per-file costs below 250 seconds and per-shard whole-job durations, followed by confirmation of the final weight-bearing head. The PR stays draft with Refs #2417; milestone 0.44.0 is retained. The implementation worker does not request readiness, confirmation, a reservation or merge.
Context
After #2414 / #2415, three browser shards are scored by fresh weights (main run 39109891338). Each shard's slowest project is bounded by one file, packages/ui-react/tests/browser/navigation-reach.pointer.tsx. It runs once per rail pointer project:
| Project | Measured file seconds |
|---|---|
rail-fine |
481 |
rail-mixed |
428 |
rail-coarse |
411 |
Together that is about 1,320 s, roughly a quarter of all browser file-seconds. At source 90a95123cfceb169bd2ecf7c213544db742eaed7, the original file is 693 lines with seven direct parameterized test declarations (605 expanded cases per pointer) and a side-effect import of 112 durable Actions cases per pointer. Because Vitest runs each project's files one at a time, no shard count can bring a browser shard's critical path below about 480 s while this file stays whole. A fourth shard would not reduce the peak.
Scope
Split the file's cases into independently scheduled files along their existing case boundaries, as #2393 did for the narrow callout cases. Keep every assertion, pointer variant, deadline and capture identifier. Then refresh browser weights from a successful run that includes the split.
Out of scope: removing cases, changing pointer projects, or changing deadlines.
Acceptance criteria
- Every original case and assertion is retained, with an assertion-to-file mapping in the PR.
- Refreshed weights show each new file's per-project cost below 250 s.
- Complete candidate confirmation passes; per-shard whole-job durations are recorded.
Contract impact
None; test structure only.
Verification and preservation
The draft PR contains the exact current-main mapping of all 42 navigation assertion sites and retains all 62 original non-import/export statements, every parameter loop, and all 139 durable Actions assertion sites. Independent installed discovery still finds eight leaves in all three rail pointer projects. Positive document/command/worker fixtures use independently delivered source owner 419f3a51b5017a4705e6fe4dba9982b6fc8de3bc; production pins and guards remain unchanged.
Fresh mutation controls fail for the claimed reason and restore byte for byte: document configuration-digest bypass, corrupt independent fixture ownership, discovery-leaf omission, and assertion omission. Strict types, lint, focused audit/citation tests and local preflight pass. The case report SHA-256 is e2a45f02cd75a260ec04fdf07f08c34351299481c82cd6d01237a054417493c6.
Historical hosted run 39217736277 remains failed overall. Its successful browser jobs and 186.961-second maximum are historical observations; the refresh tool correctly refuses the run. No timing admission rule, case, assertion, timeout or scheduling bound has been weakened. Prior source and runtime handoffs remain in the issue/PR comments with their original identities.
Contributor weight-refresh documentation drift found during this continuation is tracked separately in #2550.
2026-10-22 correction: consolidated the current handoff, integrated-source evidence, removed dependency and still-open timing/hosted acceptance. Local browser proof does not complete those acceptance criteria.
2026-10-22 status: #2434 merged as 9af45a81; main run 39757864766 passed and is admitted by the refresh tool with all 24 new file/project costs below 250 s (max 185.047 s). Remaining: commit the refreshed scripts/browser-shard-costs.json and record per-shard durations from its main-push run. Details in the latest comment.
2026-10-22 closure: #2624 (3125574b) committed the refreshed weights; all 24 split file/project costs are below 250 s (max 185.047 s). Its main-push run 39766877611 passed every selected job; per-shard browser durations 720/689/692 s (before: 893/418/888 s) are recorded in the closing comment. All criteria met.
Activity
schlessera commentedon Oct 19, 2026
Claim
e1849-2417-20261019-r1on branchas/split-navigation-browser-tests, starting from fetched main90a95123cfceb169bd2ecf7c213544db742eaed7. Sole implementation worker under the epic coordinator. Preserve all cases, assertions, pointer projects, deadlines and cleanup; prepare a draft with equivalence and focused proof. The coordinator owns hosted confirmation, measured weight refresh and merge. Assignment will transfer to the coordinator at successful handoff.schlessera commentedon Oct 19, 2026
Implementation handoff to the epic coordinator: draft #2434 at
17766e9a065e1e8dfb58c33c36af7f27991ed77e, based on90a95123cfceb169bd2ecf7c213544db742eaed7, tree07874b2132e08cde15e0e0b8d743f483a1f59fba.All seven original declaration families and their 42 assertion sites are retained exactly; the entire additional 112-case durable Actions suite retains its own hooks and captures. Discovery selects eight leaves × three unchanged pointer projects. Native proof passes 2,151/2,151 cases, 24/24 file/project instances, no skips/errors; the source-bound report reconciles against independent discovery. The report SHA-256 is
a306971c7318634d7b0ef2ff52eae754fda6b9af5acaaabd55227187229faa8e. Omitting a leaf fails the inventory guard; removing the Sessions uniqueness assertion fails equivalence; both restore cleanly. Types and required preflight pass (235 tests / 2,315 assertions).Local focused browser cost: 332.28 s outer wall, 331.86 s inner wall / 89.32 s accounted process CPU; suite 328.70 s, maximum file/project 160.354 s. Setup costs, each file’s three pointer timings, measurement scope and diagnostic failures are recorded in the PR. No matched speedup or whole-CI gain is claimed.
Remaining: coordinator-run complete hosted confirmation, successful-run weight refresh, every new file/project below 250 s in refreshed hosted evidence, per-shard whole-job durations, and qualification of the final refreshed source. No ready event, hosted retry or merge was requested. Issue and draft PR retain verified 0.44.0.
Claim
e1849-2417-20261019-r1transfers with the existing assignment intact to the coordinating parent under the explicit session instruction; this is a successful implementation handoff, not claim release or issue completion.schlessera commentedon Oct 19, 2026
2026-10-19 coordinating review and initial hosted measurement request: #2434 is ready at head
17766e9a065e1e8dfb58c33c36af7f27991ed77e. Independent review reran source equivalence: all 62 direct top-level statements / 42 direct assertion sites and all 43 imported durable-suite statements / 138 assertion sites remain. Verified receipt hashes and actual browser case report establish 2,151 passing cases across 24 file/project instances, no skipped or failed cases. Required preflight and strict types pass; local measurements retain their limited scope.REST base, independently queried live main, fetched synthetic merge and immutable Git API agree: base
90a95123cfceb169bd2ecf7c213544db742eaed7, requested checkout4e2448ea8ab6402f64413e1080738eb09fd27b8e, parents base/head above, tree07874b2132e08cde15e0e0b8d743f483a1f59fba. Actual selected hosted checkouts and aggregate remain to be inspected.This first complete candidate run must supply successful hosted per-file/per-project timings. Required remaining work: prove each new file is below 250 seconds, refresh the scheduling weights from successful hosted evidence, record all shard whole-job durations, then qualify that final updated candidate before merge. New files currently use the existing positive default cost; no measured weight or whole-CI improvement is invented. No merge is authorized by this measurement request. Parent retains claim
e1849-2417-20261019-r1and milestone 0.44.0; #2417 stays open.schlessera commentedon Oct 19, 2026
2026-10-19 — hosted mount-inspector ENOENT observation from #2417 / PR #2434.
Run 39217736277 attempt 1, runtime_host job 117945823758 fails the first separate-UID broker case,
nested server-owned 0700 parent masks launch and conceal private files and sockets, atNESTED_PRIVATE_PARENT_LAUNCH_governed(packages/ui-sdk/tests/identity-broker-qualification.native.ts:55-98, assertion at line 84). The launch throwsWorkerHostError: the mount inspector cannot open/proc/96/root/tmp/brain-worker-state(ENOENT). The existingmountsinspector opens and validates the worker root inpackages/ui-sdk/tests/fixtures/identity-helper.py:397-439. This is a governed broker launch, distinct from this issue's original strict SDK bootstrap observation; it shares the mount-inspector refusal signature, but common causality is not established. No worker-exit cause can be inferred from the missing path alone.Actual checkout: synthetic
4e2448ea8ab6402f64413e1080738eb09fd27b8e, tree07874b2132e08cde15e0e0b8d743f483a1f59fba, parents base90a95123cfceb169bd2ecf7c213544db742eaed7and head17766e9a065e1e8dfb58c33c36af7f27991ed77e. The PR only splits navigation browser tests and changes their Vitest include; native helper, launcher, fixture, identity test and driver are unchanged from base. This is an external blocker for the browser-test redistribution, not evidence of a navigation regression.Artifact runtime-host-proof, 12170891852 is 495431 bytes; downloaded ZIP SHA256 verified as
0b579c67f8a7c9d68db6eba0413ab5737b37ba7dd55788ee045e29acf98a43a0.run-38IeBv/stderr.logpreserves the assertion/refusal; stdout records zero owned records, source directories and workers.cleanup.jsonconfirms container removal. Later identity cases did not execute; no complete identity proof is claimed.The preceding native managed hosted phase passed (426.780 s), including its expected automatic-index-failure negative control. That control's logged test failure is not the job's unexpected failure. The separate-UID phase failed after 2.258 s. Resource receipt: 429.039 s total proof elapsed, 678.62 VM-active CPU seconds, sampled peak used memory 1996492800 bytes on a 4-CPU / 16765378560-byte VM. Job wall time was 516 s including setup. These are failed-run costs, not improvements or process-specific memory measurements.
Retain
needs: reproon #2350. A bounded phase/identity/exit reproduction and guard-preserving failing-first correction remain required. No unchanged rerun, deadline increase, fallback or inspection relaxation was applied. The original CI run remains intact while other selected jobs finish.schlessera commentedon Oct 19, 2026
2026-10-19 — initial run 39217736277 has completed. PR #2434 is back in draft; no unchanged rerun is requested.
Unit (3), job 117945823883, fails seven cases in
tests/bound-browser-documents.test.ts; unit (2), job 117945823884, also fails one case each intests/browser-worker-audit.test.tsandtests/browser-command-activation.test.ts. The failed positive controls expect reviewed browser bindings/audits, while this PR changes the pinned Vitest configuration. These are relevant to the change and require correction; they are not being dismissed as the independent native blocker. A focused GPT-6-Astra continuation is now investigating the fixtures and will retain positive controls, source-drift refusal and production qualification boundaries. No production pin relaxation or removal of assertions is authorized by this diagnosis.All three browser shards, both layout shards, endurance, captures, verify, runtime and unit (1)/(4) succeeded. Packaging was intentionally excluded for this tests-only change. Aggregate job 117951272188 emitted the matching candidate identity and correctly refused the failed unit and runtime_host categories. The separate native mount-inspection blocker remains #2350.
The same continuation will retain immutable browser case and shard measurements, check all 24 split file/project instances and all 2,151 cases, and assess whether the existing weight refresh policy accepts successful browser jobs from a failed overall run. It must not describe this run as passing. Claim
e1849-2417-20261019-r1remains parent-owned with delegated continuatione1849-2417-20261019-r2; final confirmation and merge remain outstanding.schlessera commentedon Oct 19, 2026
2026-10-19 — #2417 continuation r2, under the parent's existing claim
e1849-2417-20261019-r1.The nine relevant unit failures are repaired in
86457357cc94d5917c98aa49f6941f3c2158eab8. Positive browser-document, inactive-command and worker-boundary fixtures now read independently owned raw Git blobs from delivered base90a95123cfceb169bd2ecf7c213544db742eaed7; document directory membership and binary fonts are frozen too. Actual current config/caller/producer bytes are tested separately. Production qualification hashes, audit implementations, offline guards, images, deadlines and navigation cases are unchanged. This follows delivered #2374/#2388 rather than granting qualification to changed source.Focused evidence: the original three files reproduce exactly 24 pass / 9 fail. Repaired tests pass 38/38, 181 assertions, with all original assertions retained. Bypassing the document config check fails all four current-document negatives; bypassing worker enforcement fails the real current-config negative even after recomputing the manifest; bypassing the command digest fails its drift guard, and admitting just the actual changed config fails
CURRENT_COMMAND_SOURCE_DRIFT_REQUIRES_FRESH_PROOF. Changing the positive fixture owner to the PR's unreviewed config fails the original and added positive assertions. Every mutation is restored byte-for-byte. Initial strict types caught a readonlytest.eachinput; copying that list resolves it. Final strict types pass (31.79 s wall, 49.54 s accounted CPU); requiredbun run check:pr --base origin/mainpasses 719 fast tests / 4,622 assertions plus 38 affected import-feedback tests / 181 assertions (64.69 s wall, 91.17 s accounted CPU); focused execution is explicit because the initial split preflight did not select these tests. No failing setup is represented as behavioral evidence.Source equivalence is rechecked: all 62 direct top-level statements / 42 assertion sites and all 43 imported durable-suite statements / 138 assertion sites remain exact. Fresh private empty-cache frozen copyfile dependencies match qualified identity
0c2758c046f2b69d5f33b66521baf3098db5f44256b73ec96961c98d381e6245(843 packages, 59,516 files, 1,833,832,361 bytes).Initial hosted measurement: run 39217736277 attempt 1 failed overall. Its three browser jobs succeeded. Their actual checkout logs, case/resource artifacts and immutable Git API agree on synthetic
4e2448ea8ab6402f64413e1080738eb09fd27b8e, tree07874b2132e08cde15e0e0b8d743f483a1f59fba, parents base90a95123cfceb169bd2ecf7c213544db742eaed7and original split head17766e9a065e1e8dfb58c33c36af7f27991ed77e. This is evidence for the original split, not new hosted proof of the repair head.Downloaded immutable browser artifacts have verified ZIP SHA-256:
d58a6fb9fca83c3463ef48423c62eed58006df62e92f0fa04c252b2cd8c91ff2.270dfb93281cd7e9554ee66a0eea9a9a44ebadf5215f5e5b8d29c991432173e7.71fc6b0aae80f40024cd7eaff0c482322b1836bde4b072cd9405a17a6d21eeea.All 330 discovered browser file/project instances reconcile exactly once across the three shards. All 24 navigation instances and 2,151 cases pass, with case names matching the prior complete local receipt, zero navigation skips/failures and zero unhandled errors. The complete browser domain reports 9,056 passed and 10 skipped cases outside navigation; those skips are not hidden in the navigation count. Every navigation file/project is below 250 seconds, maximum 186.961 seconds. The table records logged file elapsed time, not summed case-body time; every entry has passed status.
counts.pointer.tsxdesktop.pointer.tsxdurable-actions.pointer.tsxhandoff.pointer.tsxinventory.pointer.tsxkeyboard.pointer.tsxparity.pointer.tsxtargets.pointer.tsxBrowser job IDs are 117945823735, 117945823953 and 117945823662. All used the unchanged pinned image
mcr.microsoft.com/playwright@sha256:eff16c30e6f3f4af0a03fa4b706120d5e9b0891c344a27d64559aff5900a4a27, with four logical CPUs and approximately 16.77 GB VM memory. VM active CPU and sampled used memory cover proof commands including containers; they are not process CPU or exact peak memory. Whole-job times include setup/finalization; build/browser phases overlap that wall interval and are not extra costs.Historical scheduling evidence at main
7f22bb6ac2892360f3a5c4d3a1f93d9997af43e8, run 39109891338, recorded the original single navigation file at approximately 481/411/428 seconds (fine/coarse/mixed). The split's largest files are 163.335/182.984/186.961 seconds respectively; summed navigation file time is 1,060.943 seconds versus about 1,320 historical seconds. These different-source observations establish smaller measured scheduling units, not a controlled speedup. Historical browser job walls were 808/887 seconds across two shards (1,695 total); this initial three-shard run is 881/416/898 (2,195 total). No whole-browser job-wall improvement is observed or claimed; the unmeasured new files still use positive default weights.The established
scripts/refresh-browser-costs.tsadmission requires a successful overall CI run, not merely successful browser jobs. Executing it against this run refuses withA successful attributed CI run/attempt is required. Its checks and the existing weights remain unchanged. The issue's successful-run weight criterion remains pending even though this initial measurement meets the numeric per-file threshold.PR #2434 stays draft and uses
Refs #2417. Native mount-inspector blocker #2350 remains unresolved; no native code was changed, no expensive confirmation/ready event was requested, and no merge is claimed. Remaining: resolve that blocker, obtain successful complete candidate proof, refresh weights through the established tool, then qualify the final refreshed source. The initial base remains unchanged; no rebase or main integration was performed. The parent retains the assignment and claim, and owns the next hosted decision and final handoff. No competing claim or unassignment is introduced.2 remaining items
schlessera commentedon Oct 20, 2026
Claim
e1849-2417-20261020-r3-sourcefor bounded source reconciliation of the preserved #2434 split, following the maintainer's continuation request. Live readback found #2417 unassigned.Main has added a Storage navigation row and changed Vitest registration and frozen audit inputs. The current split must retain those additions and current-source refusal controls before any later qualification. A dedicated isolated checkout will reconcile the existing PR contribution with inspected main, preserve the original assertion matrix and prepare a reviewable source candidate.
This allocation does not include dependency installation, tests, builds, browser/native proof, weight refresh, remote pushes, readiness, hosted confirmation or a merge reservation. #2350 remains an unresolved native prerequisite; #2417 stays blocked and #2434 stays draft. Source reconciliation is not a causal repair of the inspector refusal or qualification of the changed tree.
Historical navigation timings remain attached to their original run/head/base. The existing weight refresh must still refuse a failed overall run. Parent retains claim, review and all later execution decisions; no competing owner or unrelated branch is changed.
schlessera commentedon Oct 20, 2026
2026-10-20 source-only handoff: preserved candidate fix/2417-navigation-source-r3, head
7d6fd28573d4ca97e4e79b52fdb8f3c2dbb16a13, tree0f2ed147f624f9ab17cb99aece68b5c745aca8ae. History-preserving mergee75f113bd242193cb1349af5f3dba168017527f1has ordered parents prior PR head86457357cc94d5917c98aa49f6941f3c2158eab8and inspected main468618cf106c3e793cbb030f8fc90bf8d018913f. The actual merge had no conflicts despite the earlier API conflict indication.Main's Storage row and browser command registration are retained. Positive fixtures now read the independently delivered Storage owner
caae12da2e678dd4720bf112e93ef21812cfdc18, matching main's already-delivered audit inputs; no production pin was recomputed. Parent source review independently confirms nine literal navigation blocks, all 42 direct assertion sites, unchanged leaves and current-source refusal controls. The durable suite retains 138 direct expect calls plus one expect.element call (139 total); the old 138 count omitted the latter, without an assertion change. Scripts, workflows, manifest, lockfile, weights and production audit/guard files match inspected main.No install, build, tests, runtime discovery, types, preflight or hosted proof ran in this source allocation. Parent reviewed and pushed only the separate preservation branch after the child finished; the existing #2434 branch and draft head remain unchanged. No new PR, qualification or current-tree timing claim is made. Historical 2,151-case/24-instance results and 186.961-second maximum retain their original failed-overall-run identity.
#2350 remains the canonical unresolved prerequisite. Resume by reclaiming this preserved candidate, assessing live source changes, obtaining focused positive/refusal/mutation and actual browser inventory proof plus required preflight, then complete selected confirmation after the prerequisite is resolved. Weight refresh still requires an admitted successful overall run, followed by final weight-bearing candidate and main proof. No guard relaxation or unchanged failed-run retry is authorized.
Claim
e1849-2417-20261020-r3-sourceis complete and released; the parent is removing only its own assignment. #2417 remains open/blocked and #2434 remains draft, both milestone 0.44.0. No integration reservation was acquired. The clean prepared worktree and indexed source receipts are retained for resumption.schlessera commentedon Oct 22, 2026
Claim
bk044-2417-resume-20261022on branchas/split-navigation-browser-tests, resuming draft #2434. I will integrate current main, recheck the preserved split with real browser proof and mutation controls, repair citations, and run final local preflight. I will stop at the draft PR and leave candidate confirmation and merge to the coordinator. The coordinator owns the maintainer-ruled blocker reconciliation.schlessera commentedon Oct 22, 2026
Maintainer ruling 2026-10-22: the #2350 edge is dropped. #2350 is a one-off, unreproduced mount-inspector flake that appeared once, in this PR's run 39217736277, and main
runtime_hosthas been green since. RemovedBlocked by #2350and theblockedlabel; no other blocker remains. Milestone 0.44.0 is unchanged.schlessera commentedon Oct 22, 2026
Claim
bk044-2417-resume-20261022-r2for resumed draft #2434, publishing toas/split-navigation-browser-tests. Recovering the prior worker’s unpushed main merge and citation commits in an isolated checkout. I will run real pinned-browser proof, restored mutation controls and final local preflight, keep the PR draft, and hand candidate confirmation, admitted weight refresh and merge to the coordinator. The maintainer dropped the #2350 dependency on 2026-10-22.schlessera commentedon Oct 22, 2026
Implementation handoff for claim
bk044-2417-resume-20261022-r2: recovered and pushed head49cb2970de26574d640fdb3b54fba7637bfcca37onas/split-navigation-browser-tests; merged main7b8a755ea329bd48a11b790e916c417b6f608eee. Draft #2434 is mergeable, and both PR and issue retain milestone 0.44.0. The existing assignment is retained for the coordinator.The prior worker’s exact-head real pinned browser receipt is recovered, hash-verified and reconciled against fresh installed discovery: 24 instances / 2,151 cases pass, no skips or unhandled errors, local max 177.180 seconds. Fresh
bun run check:pr --base origin/mainpasses 970 fast tests / 6,439 assertions and 40 affected tests / 210 assertions. Fresh types, lint, source-equivalence and audit/citation checks pass.Fresh restored mutation receipts: bypassing the config digest fails all four current-document refusal controls; using the candidate as the positive source owner fails all four positive controls; omitting discovery leaves fails installed inventory; removing
Sessions oncefails independent statement equivalence. No guard, assertion, pointer variant, deadline or production pin changed.The coordinator owns a successful full hosted run, admitted browser-weight refresh with per-shard job times, and final weight-bearing candidate confirmation. The PR stays draft with
Refs #2417; no ready transition, confirmation, reservation or merge was requested. Contributor-guide drift is filed separately at #2550 and attached to #1849. The maintainer already dropped the #2350 dependency.Current-head draft checks observed after the final push:
draft gates,changeset,contractand projectsyncall pass for49cb2970de26574d640fdb3b54fba7637bfcca37. Product jobs are intentionally skipped for this draft and are not claimed as hosted candidate proof.schlessera commentedon Oct 22, 2026
Status 2026-10-22: one weight-file PR remains. #2434 merged as squash
9af45a81b4a6159303f22b28d42c8ae69465d150withRefs.9af45a81concluded success.refreshBrowserCosts(scripts/refresh-browser-costs.ts) was run in memory against that run's browser domain. It accepts the run: checkout and head9af45a81, tree50a4eea8, the pinned Playwright image, jobs 119756743270 / 119756743221 / 119756743185. Nothing was written. Per-project costs of the 24 new files, in seconds:countsdesktopdurable-actionshandoffinventorykeyboardparitytargetsAll 24 are below 250 s; the peak falls from 481 s to 185.047 s. Whole-job durations in that run were browser (1) 893 s, browser (2) 418 s and browser (3) 888 s. Those shards were still scheduled by the old weights, with the new files unmeasured at 1 s, so the imbalance is expected until the refresh lands.
What remains (a code change, not hosted proof):
bun scripts/refresh-browser-costs.ts 39757864766 1toscripts/browser-shard-costs.json. That rewrites 333 of 390 browser weights; layout keys are preserved.Milestone 0.44.0 is unchanged.
schlessera commentedon Oct 22, 2026
Claim
bk044-2417-costs-20261022-r1on branchtest/2417-browser-shard-costs-044for the remaining weight-file slice after merged #2434. I will run the unchanged refresh tool for successful main-push run 39757864766 attempt 1, verify the 24 split file/project costs, and hand off a draft PR with local preflight and mutation receipts. The coordinator retains readiness, main-push duration recording and merge; the existing assignment and milestone 0.44.0 remain.schlessera commentedon Oct 22, 2026
Implementation handoff for claim
bk044-2417-costs-20261022-r1: draft #2624 is pushed atf927db7f74d895ce57fff6769f1aa99e9338242aontest/2417-browser-shard-costs-044, starting from main19ecff0808de356584049ff91bd331921ab7d5a9. PR and issue milestones are read back as 0.44.0; the existing assignment transfers intact to the coordinator.The sole committed file is
scripts/browser-shard-costs.json, exactly generated bybun scripts/refresh-browser-costs.ts 39757864766 1. The unchanged admission rules accept the successful main-push run for9af45a81: all three fresh browser jobs, checkout/tree/parents, complete timing inventory and pinned source/image attribution. All 24 new navigation file/project entries match the published measurements and are below 250 seconds (max 185.047 seconds). All 56 layout entries and layout provenance are preserved.Final-head
bun run check:pr --base origin/mainpasses: 970 fast tests / 6,439 assertions, lint/leakage and metadata checks, and explicit no-affected-tests import feedback (115.92 seconds). Strict types and all 35 focused refresh/sharding tests / 66 assertions pass. The independent measurement check fails before refresh on the missing counts cost, then passes after refresh. Temporarily removing the overall-run success condition makesrefresh refuses failed run attributionfail on its expected rejection assertion; source restoration is byte-identical and the test passes again. No contract change or consumer-visible package change is included; no changeset is required.One current-head draft-check inspection reports
changesetandcontractpending;draft gateshas not appeared yet. This is pending CI, not a CI failure or passing hosted proof. No polling, ready event, reservation, confirmation or merge is requested by this implementation worker.The PR uses
Refs #2417. Per-shard browser whole-job durations will be recorded by the coordinator from this PR's successful main-push run, with the actual squash SHA, run/attempt and three browser job identities, to finish criteria 2–3. Keep the issue open until that evidence is recorded. No new blocker or follow-up issue was found.schlessera commentedon Oct 22, 2026
Closing as completed (2026-10-22). Criteria 2 and 3 are now met. Criterion 1 was met earlier in #2434.
Criterion 2, refreshed weights. #2624 (squash
3125574b) commitsscripts/browser-shard-costs.jsonregenerated from admitted run 39757864766. On main, all 24 splitnavigation-reach.*.pointer.tsxfile/project weights are below 250 s; the largest isdesktop×rail-mixedat 185.047 s. The whole-file entry no longer exists.Criterion 3, confirmation and per-shard durations. The maintainer ruled on 2026-10-22 that main-push CI is the hosted proof. #2624's automatic main run, 39766877611, attempt 1, concluded success with every selected job passing, including the aggregate. All three browser job checkout receipts identify
3125574b81b6c1b62f490ac88b946fa0e2f05576. Each shard reports334 recorded weights, 2 positive defaults; before the refresh, 30 files ran on defaults.Whole-job durations come from the jobs API (
completed_atminusstarted_at). The before column is pre-refresh run 39757864766 at9af45a81, which already contains the split but still used the old weights.The slowest shard drops from 893 s to 720 s, 173 s less. The spread between the slowest and fastest shard narrows from 475 s to 31 s. Summed browser job time is 2,199 s before and 2,101 s after. These are two single observations on different commits and runners, not a controlled pairing, so no exact speedup is claimed. Milestone 0.44.0.