Skip to content

chore(ci): refresh the Test Core shard-timings dataset - #25960

Closed
github-actions[bot] wants to merge 2 commits into
mainfrom
claude/shard-timings-refresh-40272142430
Closed

github-actions[bot] wants to merge 2 commits into
mainfrom
claude/shard-timings-refresh-40272142430

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Refreshes scripts/test-shard-timings.json, the balancing input for the Test Core
shard split. Opened automatically by .github/workflows/shard-timings-refresh.yml.
Every byte came out of scripts/measure-test-shard-timings.mjs; nothing here was
hand-edited, and no bound, timeout or matrix entry was touched.

Regression readings: rises, density, files over budget

Regression detection lives here since #22949 ruling E: the suite-duration ceilings only report, and each refresh diffs its window against the previous dataset instead. Nothing in this section fails a build -- a finding is a card (see the next section).

Density per run (packages executed, cache replays excluded), newest first: 40272142430 20 · 40266979145 59 · 40262173089 58 · 40257470166 58 · 40242835329 32 · 40238189261 33 · 40233481335 29 · 40228747755 20 · 40223991179 20 · 40219252911 20 · 40214410982 40 · 40209651657 40 · 40204927516 75 · 40200279306 73 -- this window's mean is 41.2 over 14 run(s).

Previous window: mean 63.4 over 8 run(s) -- NOT comparable (1.54×; "comparable" is within 1.25× of each other).

This diff is a BASELINE, not a judgement: the two windows are not of comparable density -- 41.2 executed packages per run against 63.4 (1.54x, over the 1.25x that "comparable" allows) -- so this window becomes the baseline instead. The rises below are readings -- none is a finding and none is filed. The next refresh whose window density is comparable with this one judges against it.

Packages up by 25 % or more: 4 (findings: 0)

package previous s this window s rise share of its runs' executed total, previous → now verdict slowest file in this window
@objectstack/verify 220.52 376.32 1.71× 0.0172 → 0.0287 (1.67×) baseline src/dashboard-window.test.ts 73.29 s (run 40200279306)
@objectstack/plugin-pinyin-search 37.94 53.27 1.40× 0.00289 → 0.00959 (3.32×) baseline src/boot-reconcile.integration.test.ts 17.47 s (run 40200279306)
@objectstack/organizations 73.20 99.66 1.36× 0.00686 → 0.0178 (2.60×) baseline src/object-extension-managed-target.wall.test.ts 7.08 s (run 40200279306)
@objectstack/service-cache 1.64 2.22 1.35× 0.000132 → 0.00069 (5.23×) baseline src/memory-cache-adapter.test.ts 0.11 s (run 40214410982)

Verdicts: finding = up 1.25× or more AND its share up 1.25× or more (a card); density only = its share moved less than 1.25×, so the run slowed around it (not a card); provisional = one of the two weights rests on fewer than 3 executed runs (not a baseline); no prior share = the previous window replayed it, so the guard has nothing to read; baseline = see above.

Down: 62 package(s) lighter, 47 by the same factor or more (at most 80 % of the previous weight) -- @objectstack/example-embed-objectql 28.22 → 7.86 s, @objectstack/example-showcase 130.48 → 48.49 s, @objectstack/downstream-contract 16.85 → 6.80 s, @objectstack/service-sms 22.13 → 8.95 s, @objectstack/cloud-connection 268.04 → 115.93 s, @objectstack/service-i18n 17.69 → 7.81 s, @objectstack/service-job 31.65 → 14.25 s, @objectstack/objectql 970.12 → 450.03 s, @objectstack/example-todo 58.58 → 27.48 s, @objectstack/vitest-filter-preflight 28.34 → 13.41 s, +37 more. Not compared: 0 carried (a cache HIT re-confirmed the previous weight; no run of this window executed them), 0 new, 0 gone.

Test files over budget in this window (10 s of wall, unless the file declares a measured budget with its class): 146 in 11 package(s)

file package slowest run its seconds runs over budget / runs that executed it
src/commands/migrate/data-commands.absent-database.integration.test.ts (integration) @objectstack/cli 40200279306 394.05 5 / 5
test/stack-conversion-record-door.test.ts (integration) @objectstack/cli 40204927516 352.24 3 / 3
test/package-install-local-uninstall-cleanups.integration.test.ts (integration) @objectstack/cli 40200279306 281.45 3 / 3
test/serve-config-boot-residual.integration.test.ts (integration) @objectstack/cli 40200279306 268.32 3 / 3
test/artifact-flag-precedence.integration.test.ts (integration) @objectstack/cli 40200279306 258.76 5 / 5
scripts/build-schemas-check-mode.retired-keys.test.ts (repo) @objectstack/spec 40204927516 241.05 (declared 190) 6 / 10
scripts/build-schemas-check-mode.manifest.test.ts (repo) @objectstack/spec 40204927516 226.64 (declared 180) 6 / 10
test/stack-provenance-door.test.ts (integration) @objectstack/cli 40204927516 184.83 4 / 4
src/commands/migrate/object-scope.integration.test.ts (integration) @objectstack/cli 40204927516 180.37 3 / 3
test/package-install-local-jobs.integration.test.ts (integration) @objectstack/cli 40204927516 171.95 4 / 4
test/generate-stack-reach.test.ts (integration) @objectstack/cli 40200279306 156.23 5 / 5
test/picklist-reference-doors.test.ts (integration) @objectstack/cli 40200279306 148.61 5 / 5
scripts/build-schemas-check-mode.anchor.test.ts (repo) @objectstack/spec 40204927516 144.97 (declared 140) 1 / 10
test/package-install-local-hooks.integration.test.ts (integration) @objectstack/cli 40204927516 124.49 4 / 4
test/build-callable-names.test.ts (integration) @objectstack/cli 40200279306 123.82 5 / 5
test/lint-per-package-authoring-parity.test.ts (integration) @objectstack/cli 40200279306 119.83 3 / 3
src/commands/migrate/plan.boot-parity.integration.test.ts (integration) @objectstack/cli 40204927516 118.02 3 / 3
src/commands/migrate/plan.telemetry-sibling.integration.test.ts (integration) @objectstack/cli 40200279306 113.36 5 / 5
test/package-install-local-jobs-shared-name.integration.test.ts (integration) @objectstack/cli 40200279306 111.28 3 / 3
test/package-install-local-jobs-pull.integration.test.ts (integration) @objectstack/cli 40200279306 110.30 5 / 5
test/i18n-extract-check-json.test.ts (integration) @objectstack/cli 40204927516 109.45 4 / 4
test/package-install-local-handlers.integration.test.ts (integration) @objectstack/cli 40204927516 106.76 4 / 4
src/commands/migrate/unmapped-columns.integration.test.ts (integration) @objectstack/cli 40204927516 98.92 4 / 4
src/commands/migrate/plan.declared-default-datasource.integration.test.ts (integration) @objectstack/cli 40204927516 95.65 (declared 80) 2 / 4
test/validate-per-package-authoring-parity.test.ts (integration) @objectstack/cli 40204927516 94.64 4 / 4
test/generate-refuses-unimportable-alias.test.ts (integration) @objectstack/cli 40204927516 94.13 3 / 3
test/build-runtime-bundle-bodyless.test.ts (integration) @objectstack/cli 40200279306 92.69 3 / 3
test/i18n-extract-check-dry-run.test.ts (integration) @objectstack/cli 40200279306 92.53 5 / 5
test/package-union-readers.test.ts (integration) @objectstack/cli 40200279306 92.00 5 / 5
test/package-install-local-boot-steps.integration.test.ts (integration) @objectstack/cli 40200279306 90.08 5 / 5
test/build-strict-body-count.test.ts (integration) @objectstack/cli 40204927516 82.44 3 / 3
test/serve-package-declared-capabilities.test.ts (integration) @objectstack/cli 40204927516 81.28 3 / 3
test/lint-eval-generator-refusal-separator.test.ts (integration) @objectstack/cli 40204927516 81.11 4 / 4
test/verify-author-time-stage.test.ts (integration) @objectstack/cli 40204927516 80.34 4 / 4
test/info-detail-package-fold.test.ts (integration) @objectstack/cli 40200279306 79.95 5 / 5
test/union-fold-command-parity.test.ts (integration) @objectstack/cli 40204927516 74.30 3 / 3
src/dashboard-window.test.ts @objectstack/verify 40200279306 73.29 2 / 2
test/generate-refuses-namespace-prefix.test.ts (integration) @objectstack/cli 40204927516 69.59 3 / 3
test/build-view-container-name.test.ts (integration) @objectstack/cli 40204927516 66.67 4 / 4
test/generate-refuses-unparseable-name.test.ts (integration) @objectstack/cli 40200279306 66.41 5 / 5
src/parent-write-reach.test.ts @objectstack/verify 40200279306 63.34 2 / 2
test/dev-boot-output-order.integration.test.ts (integration) @objectstack/cli 40204927516 63.15 4 / 4
src/commands/migrate/plan.nullable-tenant-columns.integration.test.ts (integration) @objectstack/cli 40204927516 62.72 3 / 3
src/unique-scope.test.ts @objectstack/verify 40200279306 61.38 2 / 2
test/verify-parent-write-reach.test.ts (integration) @objectstack/cli 40204927516 60.15 3 / 3
test/verify-delete-behaviors.test.ts (integration) @objectstack/cli 40204927516 57.78 3 / 3
test/verify-dashboard-windows.test.ts (integration) @objectstack/cli 40200279306 56.46 5 / 5
test/migrate-meta-default-range.test.ts (integration) @objectstack/cli 40200279306 55.64 3 / 3
test/verify-unique-scopes.test.ts (integration) @objectstack/cli 40204927516 55.23 4 / 4
test/i18n-extract-companion-orphan.test.ts (integration) @objectstack/cli 40200279306 55.13 5 / 5
test/generate-refuses-name-outside-charset.test.ts (integration) @objectstack/cli 40204927516 54.70 4 / 4
test/verify-reference-shapes.test.ts (integration) @objectstack/cli 40200279306 54.02 5 / 5
test/validate-view-container-name.test.ts (integration) @objectstack/cli 40204927516 53.46 4 / 4
test/generate-refuses-retired-generator.test.ts (integration) @objectstack/cli 40204927516 53.28 4 / 4
test/package-owned-command-readers.test.ts (integration) @objectstack/cli 40204927516 52.99 3 / 3
test/serve-config-boot-flat-docs.integration.test.ts (integration) @objectstack/cli 40204927516 52.44 3 / 3
test/serve-view-container-read.integration.test.ts (integration) @objectstack/cli 40204927516 48.02 4 / 4
src/commands/migrate/resume.recorded-by.integration.test.ts (integration) @objectstack/cli 40200279306 43.98 5 / 5
test/serve-no-auth-secret-refusal.integration.test.ts (integration) @objectstack/cli 40200279306 43.97 5 / 5
test/create-objectstack-stack-reach.test.ts (integration) @objectstack/cli 40204927516 42.24 4 / 4
src/eager-entry-import.test.ts (local) @objectstack/spec 40266979145 41.61 (declared 30) 7 / 8
test/build-text-face-advisory-count.test.ts (integration) @objectstack/cli 40200279306 41.41 5 / 5
test/validate-lint-mapping-connector-source.test.ts (integration) @objectstack/cli 40200279306 41.09 5 / 5
test/dev-no-watch.pin.test.ts (integration) @objectstack/cli 40204927516 40.01 4 / 4
test/package-restart-acceptance.integration.test.ts (integration) @objectstack/cli 40200279306 36.64 3 / 3
test/verify-json-stdout.test.ts (integration) @objectstack/cli 40200279306 36.10 3 / 3
src/parent-record-read-leaf.integration.test.ts @objectstack/plugin-audit 40204927516 35.78 2 / 2
test/qa-names-and-tags-run.test.ts (integration) @objectstack/cli 40204927516 35.28 4 / 4
test/serve-host-config-metadata-door.integration.test.ts (integration) @objectstack/cli 40200279306 34.58 5 / 5
test/metadata-type-schema-gate.test.ts (integration) @objectstack/cli 40204927516 34.48 4 / 4
test/scaffold-emission-typechecks.test.ts (unit) @objectstack/cli 40242835329 33.31 3 / 3
src/commands/migrate/apply.remote-posture.test.ts (unit) @objectstack/cli 40200279306 33.26 5 / 5
test/serve-migrate-exit-schema-parity.integration.test.ts (integration) @objectstack/cli 40204927516 33.22 3 / 3
src/held-session-vendor-admin-doors.pin.test.ts @objectstack/verify 40200279306 32.65 2 / 2
scripts/upgrade-guide-docs.test.ts (local) @objectstack/spec 40214410982 30.07 (declared 30) 1 / 8
test/dev-standalone-self-heal.integration.test.ts (integration) @objectstack/cli 40204927516 29.60 4 / 4
test/retry-policy-key-validate-door.test.ts (integration) @objectstack/cli 40204927516 28.22 4 / 4
src/comment-parent-pair.integration.test.ts @objectstack/plugin-audit 40204927516 28.07 2 / 2
test/stack-datasource-default-validate-door.test.ts (integration) @objectstack/cli 40204927516 26.88 3 / 3
test/validate-field-predicate-traversal.test.ts (integration) @objectstack/cli 40200279306 26.83 5 / 5
test/qa-requires-skip-run.test.ts (integration) @objectstack/cli 40204927516 25.85 3 / 3
test/authoring-rule-command-parity.test.ts (integration) @objectstack/cli 40204927516 25.23 4 / 4
test/emit-json-pipe.test.ts (integration) @objectstack/cli 40204927516 24.01 3 / 3
src/serializers/typescript-serializer-annotation.test.ts @objectstack/metadata 40204927516 23.74 8 / 8
src/harness.key-custody.test.ts @objectstack/verify 40200279306 22.41 2 / 2
src/utils/schema-migrate.one-shot-family.integration.test.ts (integration) @objectstack/cli 40242835329 19.29 3 / 3
test/serve-runtime-state-project-key.test.ts (integration) @objectstack/cli 40204927516 18.94 4 / 4
src/harness.app-default-profile.test.ts @objectstack/verify 40200279306 18.90 1 / 2
src/commands/migrate/plan.deferred-reads.integration.test.ts (integration) @objectstack/cli 40200279306 18.22 5 / 5
src/harness.one-composition.test.ts @objectstack/verify 40200279306 17.89 2 / 2
test/verify-host-root.test.ts (integration) @objectstack/cli 40204927516 17.62 4 / 4
src/boot-reconcile.integration.test.ts @objectstack/plugin-pinyin-search 40200279306 17.47 4 / 5
src/handle.test.ts @objectstack/verify 40200279306 17.30 1 / 2
test/published-entry-node-env-source-reroute.test.ts (integration) @objectstack/cli 40204927516 17.12 3 / 3
src/harness.org-context.test.ts @objectstack/verify 40200279306 16.60 1 / 2
test/format-zod-union.test.ts (integration) @objectstack/cli 40200279306 16.57 3 / 3
src/held-session-impersonation-target.pin.test.ts @objectstack/verify 40200279306 16.43 2 / 2
src/utils/schema-migration-plugins.test.ts (unit) @objectstack/cli 40242835329 16.43 3 / 3
test/migrate-meta-strict-factories.test.ts (unit) @objectstack/cli 40200279306 16.38 2 / 5
src/stored-metadata-reader-contexts.pin.test.ts (local) @objectstack/runtime 40200279306 16.31 2 / 2

…and 46 more file(s) over budget, in full in this run's job log.

Held to the budget it declares (ruling record 6181973363), in place of the 10 s line: scripts/build-schemas-check-mode.git-topology.test.ts (@objectstack/spec) 469.74 s of its 580 s, spawns the real producer once per single-cause fixture; scripts/build-schemas-check-mode.deleted-baseline.test.ts (@objectstack/spec) 413.94 s of its 530 s, spawns the real producer once per single-cause fixture; scripts/build-schemas-check-mode.deletion-proofs.test.ts (@objectstack/spec) 366.03 s of its 490 s, spawns the real producer once per single-cause fixture; scripts/liveness/check-liveness.test.ts (@objectstack/spec) 341.59 s of its 540 s, spawns the real producer once per single-cause fixture; scripts/build-schemas-check-mode.retired-keys.test.ts (@objectstack/spec) 241.05 s of its 190 s, spawns the real producer once per single-cause fixture; scripts/build-schemas-check-mode.manifest.test.ts (@objectstack/spec) 226.64 s of its 180 s, spawns the real producer once per single-cause fixture; scripts/build-schemas-check-mode.anchor.test.ts (@objectstack/spec) 144.97 s of its 140 s, spawns the real producer once per single-cause fixture; src/commands/migrate/plan.declared-default-datasource.integration.test.ts (@objectstack/cli) 95.65 s of its 80 s, spawns the real producer once per single-cause fixture; src/commands/migrate/audit-mail-bodies.archive.integration.test.ts (@objectstack/cli) 60.92 s of its 90 s, spawns the real producer once per single-cause fixture; src/shared/alias-integrity.test.ts (@objectstack/spec) 43.31 s of its 50 s, whole-package import; src/eager-entry-import.test.ts (@objectstack/spec) 41.61 s of its 30 s, whole-package import; scripts/upgrade-guide-docs.test.ts (@objectstack/spec) 30.07 s of its 30 s, spawns the real producer once per single-cause fixture; src/commands/serve-kernel-only-lifetime.integration.test.ts (@objectstack/cli) 25.75 s of its 40 s, spawns the real producer once per single-cause fixture; test/serve-no-storage-boot-guard.integration.test.ts (@objectstack/cli) 24.41 s of its 40 s, spawns the real producer once per single-cause fixture; src/commands/serve-no-server-banner.integration.test.ts (@objectstack/cli) 23.63 s of its 30 s, spawns the real producer once per single-cause fixture; test/start-stdio-stdout-purity.integration.test.ts (@objectstack/cli) 19.55 s of its 20 s, spawns the real producer once per single-cause fixture; scripts/dist-freshness-adoption.test.ts (@objectstack/spec) 19.15 s of its 90 s, spawns the real producer once per single-cause fixture; test/start-mcp-stdio-early-initialize.integration.test.ts (@objectstack/cli) 18.76 s of its 20 s, spawns the real producer once per single-cause fixture; scripts/projection-cli.test.ts (@objectstack/spec) 18.27 s of its 20 s, spawns the real producer once per single-cause fixture; src/commands/serve-no-transport-announcements.integration.test.ts (@objectstack/cli) 17.25 s of its 30 s, spawns the real producer once per single-cause fixture; test/serve-plugin-auth-load-failure-refusal.integration.test.ts (@objectstack/cli) 16.58 s of its 20 s, spawns the real producer once per single-cause fixture; test/serve-mcp-stdio-early-initialize.integration.test.ts (@objectstack/cli) 15.92 s of its 20 s, spawns the real producer once per single-cause fixture; scripts/def-key-collisions.test.ts (@objectstack/spec) 13.38 s of its 70 s, spawns the real producer once per single-cause fixture; scripts/dist-freshness.test.ts (@objectstack/spec) 12.40 s of its 40 s, spawns the real producer once per single-cause fixture; test/serve-datasource-mapping-before-sync.integration.test.ts (@objectstack/cli) 11.83 s of its 30 s, spawns the real producer once per single-cause fixture; src/integration/connector-author-shape.test.ts (@objectstack/spec) 11.76 s of its 30 s, compiles the package type graph once; src/contracts/scoped-context.test.ts (@objectstack/spec) 10.57 s of its 30 s, compiles the package type graph once.

Per-file reading: the window's per-shard captures (test-core-timings-N-of-M, written by report-test-timings.mjs --capture), read for 14 of 14 run(s): 30506 file line(s) measured here; 48894 replayed line(s) left out, because a cache HIT replays a duration measured outside this window.

Every package has a per-file reading in this window.

What the seat landing this PR does

The refresh lane's seat, after this PR lands (#22949 ruling E; the workflow's header carries the same duty). The bot files nothing.

  1. Rises: no card this time -- no rise above is a finding.
  2. Files over budget: skills(ci): two-speed CI — fast set on PR and merge-queue runs, full battery hourly on main and before a release, main-red stops the lane, four required contexts plus the guard, timing gates report-only, test budgets not deletions #22998 makes a test file over 10 s of wall, or over the budget it declares with its class, a card for the owning lane -- one card per package in the file list above (11 this time), naming each of its files and its slowest run.
  3. A rise marked density only, provisional, no prior share or baseline is a reading, not a card. A package or file that already has an open card gets the new numbers there as a comment, not a second card.
  4. ⛔ Never a red build and never a raise: this PR moves no ceiling and fails no job.

Source

Measured across 14 accumulated run(s) of the HOURLY schedule run of CI on
main — the full-battery run (#16467). A push run on main is affected-only and
is not a measurement of the workspace, so no push run feeds this file.

No single green run measures the whole workspace either — turbo's cache is namespaced
per shard and only main pushes write it, so a
package whose inputs have not changed is a HIT and the generator refuses hits rather
than recording a replay as a duration. Runs are therefore accumulated, each fenced by
its own --run group, until every package has been EXECUTED by at least the
generator's minimum number of them, and each weight is the median of those executions.

All 75 package weights were measured in these runs; nothing was carried.

⚠️ This PR references #16173 and #16222 but does NOT carry a closing keyword for them,
because a weekly lane cannot know which cards a given run ought to retire. If this is
the first refresh to land, retire those two by hand as part of merging it.

Sample depth, run-to-run spread and suite-duration ceilings

⚠️ PROVISIONAL: 8 of the 75 weights rest on fewer than 3 executed runs, because the retained runs replayed them more often than they executed them. They are named in the dataset provisional list and are fit to balance on, NOT to set a per-package ceiling from: @objectstack/metadata-protocol, @objectstack/plugin-audit, @objectstack/plugin-sharing, @objectstack/rest, @objectstack/runtime, @objectstack/service-analytics, @objectstack/service-automation, @objectstack/verify.

Suite-duration ceilings: 75 held unchanged (a refresh never moves one; a raise is a ruling), 0 new, each new one its slowest executed run in this window x 1.25.

Every package carries a ceiling.

⚠️ 18 package(s) ran OVER their held ceiling in this window (marked in the table): a reading, not a red -- under #22949 ruling E the ceiling reports on every event, and a regression is judged by the diff at the top of this body. This refresh does not raise them; that takes a ruling.

Each package's executed runs in this refresh (minimum 3), the spread of its readings in seconds, and the suite-duration ceiling Test Core grades it against: its slowest executed run x 1.25 when first set, then held by every refresh -- a ceiling is raised only by a ruling.

package runs min s median s max s max/min ceiling s
@objectstack/client 9 33.63 81.49 221.21 6.58× 179.74 held; this window: 276.52; ⚠ a window run is OVER its held ceiling
@objectstack/example-embed-objectql 13 5.90 7.86 37.03 6.27× 51.51 held; this window: 46.30
@objectstack/service-cluster-redis 14 4.18 12.79 24.54 5.87× 28.00 held; this window: 30.68
@objectstack/service-sms 14 5.86 8.95 34.03 5.81× 47.04 held; this window: 42.54
@objectstack/example-showcase 5 37.71 48.49 188.19 4.99× 192.05 held; this window: 235.24
@objectstack/service-cluster 14 5.87 11.41 27.22 4.63× 28.46 held; this window: 34.03
@objectstack/trigger-api 13 4.92 10.92 22.76 4.63× 42.12 held; this window: 28.46
@objectstack/metadata-core 14 7.32 15.70 29.29 4.00× 38.66 held; this window: 36.61
@objectstack/downstream-contract 13 5.04 6.80 19.33 3.83× 22.71 held; this window: 24.17
@objectstack/service-i18n 13 4.79 7.81 17.33 3.62× 49.45 held; this window: 21.67
@objectstack/vitest-filter-preflight 13 8.21 13.41 28.97 3.53× 28.93 held; this window: 36.21; ⚠ a window run is OVER its held ceiling
@objectstack/knowledge-memory 13 1.49 2.57 4.71 3.16× 6.39 held; this window: 5.89
@objectstack/driver-turso 6 75.61 129.29 235.41 3.11× 272.37 held; this window: 294.27
@objectstack/plugin-auth 5 181.14 283.83 557.86 3.08× 600.45 held; this window: 697.33
@objectstack/cloud-connection 9 65.58 115.93 194.89 2.97× 163.89 held; this window: 243.62; ⚠ a window run is OVER its held ceiling
create-objectstack 14 9.66 13.77 28.05 2.90× 38.40 held; this window: 35.07
@objectstack/knowledge-ragflow 13 1.76 4.29 5.04 2.86× 3.40 held; this window: 6.31; ⚠ a window run is OVER its held ceiling
@objectstack/service-job 9 8.54 14.25 24.45 2.86× 45.32 held; this window: 30.57
@objectstack/service-messaging 6 74.82 120.65 203.45 2.72× 166.91 held; this window: 254.32; ⚠ a window run is OVER its held ceiling
@objectstack/driver-sqlite-wasm 6 46.25 63.75 123.26 2.67× 123.14 held; this window: 154.08; ⚠ a window run is OVER its held ceiling
@objectstack/hono 5 21.46 30.38 55.16 2.57× 45.99 held; this window: 68.95; ⚠ a window run is OVER its held ceiling
@objectstack/service-datasource 6 62.68 90.24 160.84 2.57× 128.93 held; this window: 201.06; ⚠ a window run is OVER its held ceiling
@objectstack/organizations 6 62.03 99.66 156.15 2.52× 137.91 held; this window: 195.19; ⚠ a window run is OVER its held ceiling
@objectstack/plugin-webhooks 5 33.76 49.65 84.23 2.49× 108.05 held; this window: 105.29
@objectstack/service-realtime 11 4.97 8.09 12.40 2.49× 27.68 held; this window: 15.50
@objectstack/objectql 9 265.05 450.03 647.79 2.44× 952.27 held; this window: 809.74
@objectstack/example-crm 5 21.19 23.11 51.42 2.43× 68.83 held; this window: 64.28
@objectstack/connector-mcp 9 18.43 29.90 44.70 2.43× 54.85 held; this window: 55.88
@objectstack/mcp 5 48.77 68.77 115.71 2.37× 108.17 held; this window: 144.64; ⚠ a window run is OVER its held ceiling
@objectstack/connector-rest 9 21.19 28.39 49.62 2.34× 60.82 held; this window: 62.03
@objectstack/core 5 75.26 103.58 172.91 2.30× 151.42 held; this window: 216.14; ⚠ a window run is OVER its held ceiling
@objectstack/service-storage 9 91.68 150.72 209.05 2.28× 208.28 held; this window: 261.32; ⚠ a window run is OVER its held ceiling
@objectstack/types 14 11.65 19.54 26.42 2.27× 32.05 held; this window: 33.03
@objectstack/client-react 13 5.95 8.10 13.48 2.27× 16.23 held; this window: 16.85
@objectstack/connector-slack 6 18.08 23.67 40.77 2.25× 55.45 held; this window: 50.96
@objectstack/sdui-parser 13 2.78 3.68 6.10 2.20× 5.18 held; this window: 7.63; ⚠ a window run is OVER its held ceiling
@objectstack/plugin-email 9 52.95 77.36 115.70 2.18× 119.94 held; this window: 144.63
@objectstack/service-queue 8 24.04 33.57 49.87 2.07× 83.25 held; this window: 62.35
@objectstack/service-package 5 24.27 32.97 49.26 2.03× 32.90 held; this window: 61.58; ⚠ a window run is OVER its held ceiling
@objectstack/platform-objects 8 55.35 80.46 111.78 2.02× 135.03 held; this window: 139.72
@objectstack/embedder-openai 13 3.75 5.22 7.52 2.01× 9.10 held; this window: 9.40
@objectstack/trigger-record-change 6 37.00 56.43 71.39 1.93× 109.12 held; this window: 89.24
@objectstack/observability 13 1.98 3.06 3.81 1.93× 4.24 held; this window: 4.77
@objectstack/metadata-fs 5 15.95 21.58 29.82 1.87× 61.33 held; this window: 37.28
@objectstack/service-cache 13 1.29 2.22 2.41 1.86× 3.69 held; this window: 3.01
@objectstack/driver-mongodb 5 52.84 54.92 97.72 1.85× 158.96 held; this window: 122.16
@objectstack/driver-memory 5 75.90 103.22 139.18 1.83× 171.63 held; this window: 173.98
@objectstack/driver-sql 4 166.19 241.07 301.93 1.82× 450.76 held; this window: 377.42
@objectstack/formula 9 26.12 39.47 47.15 1.81× 56.95 held; this window: 58.94
@objectstack/trigger-schedule 5 32.08 33.51 57.74 1.80× 72.40 held; this window: 72.18
@objectstack/plugin-pinyin-search 5 42.03 53.27 75.35 1.79× 62.37 held; this window: 94.19; ⚠ a window run is OVER its held ceiling
@objectstack/service-analytics 2 297.80 406.18 514.57 1.73× 440.54 provisional
@objectstack/connector-openapi 6 18.97 24.54 32.73 1.73× 61.57 held; this window: 40.92
@objectstack/service-settings 9 94.94 147.44 159.25 1.68× 157.56 held; this window: 199.07; ⚠ a window run is OVER its held ceiling
@objectstack/runtime 2 593.39 793.70 994.01 1.68× 913.09 provisional
@objectstack/example-todo 6 22.89 27.48 37.85 1.65× 88.84 held; this window: 47.32
@objectstack/plugin-security 5 205.60 245.56 339.24 1.65× 474.43 held; this window: 424.05
@objectstack/verify 2 286.43 376.32 466.20 1.63× 418.97 provisional
@objectstack/lint 5 111.09 141.56 177.12 1.59× 332.18 held; this window: 221.41
@objectstack/plugin-hono-server 8 54.02 68.19 84.98 1.57× 78.61 held; this window: 106.23; ⚠ a window run is OVER its held ceiling
@objectstack/service-mailbox 9 49.28 67.92 75.73 1.54× 83.20 held; this window: 94.67
@objectstack/spec 8 821.39 1168.98 1259.37 1.53× 1903.55 held; this window: 1574.22
@objectstack/service-knowledge 5 23.44 34.06 35.71 1.52× 48.58 held; this window: 44.64
@objectstack/connector-imap 14 2.70 3.55 4.08 1.51× 4.95 held; this window: 5.11
@objectstack/metadata 8 104.03 142.75 156.31 1.50× 194.04 held; this window: 195.39
@objectstack/plugin-dev 5 34.60 48.97 50.87 1.47× 87.97 held; this window: 63.59
@objectstack/service-print 5 20.76 29.92 30.21 1.45× 49.70 held; this window: 37.76
@objectstack/rest 2 472.09 569.96 667.83 1.41× 878.41 provisional
@objectstack/plugin-approvals 3 190.33 254.27 258.91 1.36× 290.60 held; this window: 323.64
@objectstack/plugin-sharing 2 128.71 150.16 171.61 1.33× 235.53 provisional
@objectstack/http-conformance 3 123.85 155.47 158.41 1.28× 149.61 held; this window: 198.02; ⚠ a window run is OVER its held ceiling
@objectstack/cli 3 2450.97 2697.45 2857.33 1.17× 2868.12 held; this window: 3571.67
@objectstack/service-automation 2 511.15 522.93 534.71 1.05× 557.10 provisional
@objectstack/plugin-audit 2 251.33 255.86 260.40 1.04× 185.93 provisional
@objectstack/metadata-protocol 2 669.76 670.12 670.47 1.00× 769.71 provisional

Measured per-shard suite time on the newest run in the set

1: 10s  |  2: 7s  |  3: 14s  |  4: 12s  |  5: 6s  |  6: 9s  |  7: 8s  |  8: 6s

Predicted bins, before and after

BEFORE  partition-test-shards: self-test OK (75 measured packages -> 77 shard items, 8 shards, max/mean 1.00x <= 1.3x, floor 1607s, bins 1865.75/1866.28/1865.97/1866.34/1865.71/1866.01/1867.52/1865.66s within the 2899.02s density cap, file-level slices: @objectstack/cli x3)
AFTER   file:///home/runner/work/objectstack/objectstack/scripts/partition-test-shards.mjs:1801
      throw new Error(
            ^

Error: slice derivation, committed dataset (1 of 1 sliced package(s) judged):
  - @objectstack/cli: sliced 3 ways at 2697.45s, one slice is 899s -- past 1.3x the heaviest other serial task (670s, so 871s), so the package is still the list's serial floor on its own. Raise it to 4.
    at file:///home/runner/work/objectstack/objectstack/scripts/partition-test-shards.mjs:1801:13
    at check (file:///home/runner/work/objectstack/objectstack/scripts/partition-test-shards.mjs:1539:5)
    at selfTest (file:///home/runner/work/objectstack/objectstack/scripts/partition-test-shards.mjs:1798:3)
    at main (file:///home/runner/work/objectstack/objectstack/scripts/partition-test-shards.mjs:3097:9)
    at file:///home/runner/work/objectstack/objectstack/scripts/partition-test-shards.mjs:3184:3
    at ModuleJob.run (node:internal/modules/esm/module_job:343:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:681:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)

Node.js v22.23.3

The partitioner's own pins RED on this refresh — read this before merging

This is the designed behaviour, not a defect in the refresh: the acceptance bound is
a ratio, and a package that has grown past what the Test Core split can bin makes the
pins fail with the arithmetic in the message. The remedy the partitioner names is to
raise the file-level slice count for that package — ⛔ never to raise the bound, and
⛔ never to hand-edit this dataset. This workflow deliberately does neither: it
reports and stops, because both are decisions.

No checks will start on this PR by themselves

It was opened with the Actions GITHUB_TOKEN, and GitHub's recursion guard means a
PR opened that way triggers no workflow runs. Push any commit to the branch, or close
and reopen the PR, to start CI.

Refs #16464, #16173, #16222.

Regenerated by .github/workflows/shard-timings-refresh.yml from the test-core-run-summary artifacts of 14 accumulated run(s) (40272142430 40266979145 40262173089 40257470166 40242835329 40238189261 40233481335 40228747755 40223991179 40219252911 40214410982 40209651657 40204927516 40200279306), newest 40272142430 at 2a728ba. Generated, never hand-edited.
@objectstack-fleet

Copy link
Copy Markdown
Contributor

Superseded by #25968, which carries this PR's commit 92343f5b unchanged (git diff 92343f5b b3234103 -- scripts/test-shard-timings.json is empty).

This PR could not land on its own. On the refreshed weights the partitioner's pin 3c refuses @objectstack/cli at 3 slices (one slice is 899s, the limit is 871s), which is the red "Shard partitioner self-test" in Lint · CI, release & engine gates. #25968 raises the CLI to 4 slices in the same change.


Generated by Claude Code

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

Labels

size/l skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants