Skip to content

chore(ci): refresh unit weights from verified hosted artifacts - #2143

Merged
schlessera merged 1 commit into
mainfrom
chore/2122-reviewed-unit-costs-p02122
Oct 16, 2026
Merged

schlessera merged 1 commit into
mainfrom
chore/2122-reviewed-unit-costs-p02122

Conversation

@schlessera

@schlessera schlessera commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Refs #2122

What changed

Unit shard weights now come from an explicit reviewed refresh of a named successful hosted CI run and attempt. The tool requires four fresh successful unit jobs, attempt-bound artifacts with matching downloaded ZIP digests, one actual checkout, immutable tree/parent identity, exhaustive source discovery, and exactly matching completed JUnit/timing/file partitions. It rejects partial or failed measurements. A 30-second missing-weight guard names expensive omissions; unknown newly discovered files still receive the positive default. Shard count, deadlines, partition algorithm and runtime offline guards are unchanged.

Why this shape

Follows the issue's approved measured-cost approach and the browser refresh precedent. Timings remain reviewed development inputs; ordinary CI never downloads measurement artifacts. Historical partial observations remain historical, while the new measurement record describes the complete current table. No package or public machine contract changes, so no changeset is needed.

Proof

Source base: 626a03af4a9db064751230a84732755b8afa961e. Committed implementation head: fc072b311.

The actual refresh command bun scripts/refresh-unit-costs.ts 38886704020 1 succeeded twice against the named successful automatic main run. All 955 measured source files and all four downloaded archive SHA256 digests match immutable evidence. That source is 5af94530672aec0999c571b3f8774a71f4f97729, tree 5813c3f87dbd43bd5f771ac39b0206bc42a521dc, parent ab0e9fb77a236cefbe5a0b19424836acf9205bde. The committed measurement record retains exact job/artifact identities and step durations.

Unit shard Baseline files Measured complete-proof step
1 229 840 s
2 241 1530 s
3 241 864 s
4 244 1013 s

These are actual step times, distinct from the reported completed-file totals of approximately 838/1528/856/971 seconds. The refreshed long-file observations include artifact recovery 162.977 s, hygiene review 129.067 s and turn journal 91.782 s. Applying the guard to actual hosted timings with the original committed table fails first with Missing unit weight above 30s: tests/pi-worker-runtime.test.ts; the complete refreshed table includes that omitted 74.883-second file as well.

On this branch's current 960-file discovery, four predicted loads are 1056.785 / 1056.784 / 1056.785 / 1056.784 seconds (max/min 1.000001). These are estimates from historical observations, not measured runtime improvements or current-candidate proof. Source changes since the historical run are not represented as a controlled same-SHA benchmark.

  • Focused refresh and unchanged partition/runtime guards pass: 34 tests / 70 assertions. The new refresh suite has 23 tests, covering failed/cancelled runs/jobs, wrong attempt, artifact timing/digest, actual checkout, immutable parents/tree, incomplete reports and incomplete discovery.
  • The unweighted 120-second fixture fails the named missing-weight assertion when its guard is disabled; it passes with the guard restored and after weighting. Independent failed-run-refusal and wrong-checkout mutations each fail their intended rejection assertion, then pass after restoration. No module-load failure is used as a receipt.
  • Strict typecheck passes. Required final bun run check:pr --base origin/main passes 864 tests / 5541 assertions, including lint/leakage and contribution gates.

Current integration — 2026-10-16

The maintainer explicitly authorized merging after prior tests passed, with conflicts checked after merge, and requested no full refresh solely for base advancement. The branch now applies only its six-file scope on actual main 55dbf1cf5e92cc084d3fde99c6e5c409854f7465, retaining incoming #2073/#2072 product changes. Current head is ccac1a0b10a425231d3678dcb57fa993efb4ea3b; tree is 65bb76f5f3e49130fc05501ef0fbf2fddbb913c0. None of the six owned files changed in either incoming main commit. All six file contents are byte-for-byte identical to the original tested implementation fc072b3111f04d633d06785cefbcc6bf882a93af; the rebase has no source conflicts. Incoming product and SDK changes are preserved.

The integrated refresh/partition runtime suite passes 34 tests / 70 assertions. git diff --check passes. Current 968-file discovery assigns 241/241/243/243 files exactly once, with predicted loads 1056.985 / 1056.984 / 1056.985 / 1056.984 seconds. The original 864-test preflight, strict typecheck and restored mutation receipts retain their original source identities; they are not relabeled as full tests of this combined tree. No full candidate confirmation is claimed or required by this session's explicit maintainer instruction. The automatic postmerge run will provide actual integrated runtime measurements.

Checklist

  • Prior passing local proof retained; integrated focused conflict checks pass under the maintainer’s explicit no-full-refresh instruction. No full current-candidate hosted pass is claimed.
  • Actual next complete hosted run has slowest/fastest unit proof steps below 1.25, with comparable-source limits recorded.
  • Current predicted loads differ by less than 15%; complete partition behavior is unchanged.
  • PR and issue retain release milestone 0.44.0; live publication remains 0.43.1.
  • No consumer-visible package change or changeset required.
  • Leakage and local preflight pass.
  • No public machine contract changes.
  • CI measurement policy and current-table provenance header are updated.

Anything left open

The actual next complete hosted run must meet the unit step max/min <1.25 criterion; historical weights and equal predicted loads do not establish that outcome. This independently useful refresh slice uses Refs #2122, so the issue stays open for the actual postmerge measurement and full acceptance reconciliation. No whole-CI speedup is claimed. #2121 separately owns within-shard parallel execution and preserves this timing schema. This session's explicit maintainer instruction permits integration using retained passing proof and focused conflict checks instead of a full new candidate confirmation.

@schlessera schlessera added this to the 0.44.0 milestone Oct 16, 2026
@schlessera schlessera added type: chore Tooling, CI, release plumbing, dependencies. area: ci CI workflows, the gates they run, release scripts, packaging. labels Oct 16, 2026
@schlessera
schlessera force-pushed the chore/2122-reviewed-unit-costs-p02122 branch from fc072b3 to ccac1a0 Compare October 16, 2026 14:12
@schlessera
schlessera marked this pull request as ready for review October 16, 2026 14:13
@schlessera
schlessera merged commit 3031e31 into main Oct 16, 2026
2 of 13 checks passed
@schlessera

Copy link
Copy Markdown
Owner Author

2026-10-16 actual-squash measurement completes the remaining #2122 balance criterion. Main run 38914099262 attempt 1 has four successful unit jobs, each with a successful Complete unit proof step:

Shard Job Complete unit proof Files
1 117018353497 1169 s 241
2 117018353690 1179 s 241
3 117018353644 1330 s 243
4 117018353932 1204 s 243

Slowest/fastest = 1330/1169 = 1.137725, below 1.25. Historical baseline 38886704020 has steps 840/1530/864/1013 s, ratio 1.821429. Step sum increases from 4247 to 4882 s while maximum decreases from 1530 to 1330 s. This is an observed balance improvement across explicitly different sources and discovered inventories, not a controlled same-SHA causal speedup or whole-CI saving. The baseline is 5af94530672aec0999c571b3f8774a71f4f97729 / 955 files; the delivered source includes intervening roster/session/native-continuity changes and 968 files. Both preserve four serial unit partitions and the same Bun 1.4.2 test runner; this measurement precedes #2121 parallel-worker integration.

All four actual checkout logs, proof-checkout and resource receipts identify squash 3031e31a11249a3ebcd53987e764a199b3af9925, tree 65bb76f5f3e49130fc05501ef0fbf2fddbb913c0, parent 55dbf1cf5e92cc084d3fde99c6e5c409854f7465. Immutable GitHub commit data agrees. JUnit, timing maps and selected manifests agree on every file; their disjoint union exactly matches all 968 source-discovered files. JUnit reports zero failures/errors. Its 28 conditional skips are explicitly identified: 24 existing opt-in live image-provider cases and four existing sqlite-vec-unavailable cases, matching the baseline skip classes; no new skip is treated as executed proof.

Execution logs show Bun 1.4.2 (744846f84) and Chrome 155.0.8059.39. All resource receipts report four logical CPUs and 16,766,414,848 total bytes. VM-wide active CPU observations are 1389.33/1704.03/2191.04/2017.94 seconds; sampled peak used bytes are 4,807,593,984 / 2,823,528,448 / 3,782,623,232 / 6,213,591,040. These include other VM activity and are not process peaks. Shard 3's proof step includes a 26.365-second offline lease image prerequisite; the separately recorded unit phase is 1302.382 seconds. The comparison consistently uses actual Complete unit proof steps including such prerequisites.

Together with the delivered refresh validation, named unweighted-120-second and restored mutation receipts, original passing preflight/typecheck, unchanged partition coverage and equal current predicted loads, this satisfies the issue's scoped acceptance. PR #2143 and this issue retain milestone 0.44.0. The aggregate and other categories remain outside this bounded timing verdict; no complete whole-main green claim is made or awaited. No new implementation, refresh or test rerun occurred during this audit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, the gates they run, release scripts, packaging. type: chore Tooling, CI, release plumbing, dependencies.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant