Skip to content

Commit 0401847

Browse files
chore(ci): refresh the Test Core shard-timings dataset (#22368)
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. ## Source Measured across 21 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. - https://github.com/objectstack-ai/objectstack/actions/runs/37850732030 - https://github.com/objectstack-ai/objectstack/actions/runs/37843751209 - https://github.com/objectstack-ai/objectstack/actions/runs/37821041350 - https://github.com/objectstack-ai/objectstack/actions/runs/37813369702 - https://github.com/objectstack-ai/objectstack/actions/runs/37805495283 - https://github.com/objectstack-ai/objectstack/actions/runs/37797261717 - https://github.com/objectstack-ai/objectstack/actions/runs/37789039326 - https://github.com/objectstack-ai/objectstack/actions/runs/37781792979 - https://github.com/objectstack-ai/objectstack/actions/runs/37767301056 - https://github.com/objectstack-ai/objectstack/actions/runs/37760742919 - https://github.com/objectstack-ai/objectstack/actions/runs/37754067723 - https://github.com/objectstack-ai/objectstack/actions/runs/37747322525 - https://github.com/objectstack-ai/objectstack/actions/runs/37741897835 - https://github.com/objectstack-ai/objectstack/actions/runs/37735391704 - https://github.com/objectstack-ai/objectstack/actions/runs/37730364562 - https://github.com/objectstack-ai/objectstack/actions/runs/37725587604 - https://github.com/objectstack-ai/objectstack/actions/runs/37720968211 - https://github.com/objectstack-ai/objectstack/actions/runs/37716652414 - https://github.com/objectstack-ai/objectstack/actions/runs/37712693750 - https://github.com/objectstack-ai/objectstack/actions/runs/37705590570 - https://github.com/objectstack-ai/objectstack/actions/runs/37699733382 - Newest run in the set: `37850732030`, commit `1cb0edb82dcc7fb67a5eec1157c23900e3915924` — the date this refresh carries. - Every run above had all six `Test Core (N/6)` jobs conclude `success` with its six run-summary artifacts still retained; runs that were cancelled, failed or had lost their artifacts were rejected by name in the log before any of these were used. 72 package weights: 71 measured in these runs, and 1 carried forward at their previous values because a turbo cache HIT witnessed that their inputs are unchanged (so the old number still describes them). Carried: @objectstack/sdui-parser. ⚠️ 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 and run-to-run spread ⚠️ PROVISIONAL: 1 of the 72 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/sdui-parser. Each package's executed runs in this refresh (minimum 3), and the spread of its readings in seconds. | package | runs | min s | median s | max s | max/min | | |---|--:|--:|--:|--:|--:|---| | `@objectstack/connector-mcp` | 20 | 9.80 | 33.97 | 45.86 | 4.68× | | | `@objectstack/service-sms` | 19 | 7.63 | 27.36 | 35.10 | 4.60× | | | `@objectstack/trigger-api` | 20 | 0.84 | 2.18 | 2.77 | 3.28× | | | `@objectstack/verify` | 14 | 69.07 | 184.97 | 226.74 | 3.28× | | | `@objectstack/knowledge-memory` | 16 | 1.63 | 3.26 | 5.10 | 3.14× | | | `@objectstack/example-embed-objectql` | 21 | 10.11 | 20.62 | 31.16 | 3.08× | | | `@objectstack/cloud-connection` | 16 | 64.27 | 153.64 | 196.49 | 3.06× | | | `@objectstack/plugin-auth` | 16 | 140.81 | 359.89 | 430.21 | 3.06× | | | `@objectstack/knowledge-ragflow` | 21 | 1.75 | 3.06 | 5.32 | 3.04× | | | `@objectstack/service-job` | 16 | 13.42 | 23.28 | 39.69 | 2.96× | | | `@objectstack/example-todo` | 19 | 22.02 | 43.17 | 65.05 | 2.95× | | | `@objectstack/plugin-pinyin-search` | 19 | 14.94 | 32.56 | 43.64 | 2.92× | | | `@objectstack/service-i18n` | 19 | 13.30 | 22.85 | 37.35 | 2.81× | | | `@objectstack/metadata-core` | 21 | 9.69 | 18.92 | 25.92 | 2.68× | | | `@objectstack/service-cache` | 21 | 1.28 | 2.53 | 3.30 | 2.58× | | | `@objectstack/plugin-approvals` | 14 | 71.35 | 152.80 | 177.98 | 2.49× | | | `@objectstack/lint` | 14 | 93.82 | 210.92 | 232.32 | 2.48× | | | `@objectstack/organizations` | 15 | 40.99 | 79.67 | 99.05 | 2.42× | | | `@objectstack/plugin-dev` | 17 | 32.12 | 49.47 | 75.96 | 2.37× | | | `@objectstack/service-queue` | 13 | 26.24 | 49.33 | 59.83 | 2.28× | | | `@objectstack/downstream-contract` | 17 | 8.29 | 13.45 | 18.75 | 2.26× | | | `@objectstack/service-storage` | 14 | 59.92 | 108.17 | 125.92 | 2.10× | | | `@objectstack/service-package` | 20 | 11.92 | 19.06 | 24.12 | 2.02× | | | `@objectstack/example-crm` | 16 | 26.00 | 44.74 | 51.57 | 1.98× | | | `@objectstack/trigger-record-change` | 17 | 48.02 | 64.41 | 94.93 | 1.98× | | | `@objectstack/client` | 17 | 106.28 | 165.60 | 207.94 | 1.96× | | | `@objectstack/platform-objects` | 14 | 48.47 | 79.18 | 94.74 | 1.95× | | | `@objectstack/core` | 8 | 47.38 | 83.75 | 92.56 | 1.95× | | | `@objectstack/service-realtime` | 18 | 6.87 | 10.39 | 13.18 | 1.92× | | | `@objectstack/connector-rest` | 15 | 25.13 | 41.59 | 47.82 | 1.90× | | | `@objectstack/service-cluster-redis` | 9 | 12.46 | 15.30 | 23.49 | 1.89× | | | `@objectstack/service-analytics` | 14 | 255.99 | 401.06 | 482.34 | 1.88× | | | `@objectstack/observability` | 21 | 1.85 | 2.93 | 3.49 | 1.88× | | | `create-objectstack` | 17 | 15.69 | 22.14 | 29.40 | 1.87× | | | `@objectstack/plugin-email` | 12 | 45.32 | 76.42 | 84.55 | 1.87× | | | `@objectstack/service-cluster` | 20 | 12.25 | 18.97 | 22.75 | 1.86× | | | `@objectstack/metadata-protocol` | 12 | 309.31 | 491.15 | 573.82 | 1.86× | | | `@objectstack/embedder-openai` | 18 | 4.01 | 6.01 | 7.44 | 1.85× | | | `@objectstack/trigger-schedule` | 13 | 28.73 | 45.80 | 53.11 | 1.85× | | | `@objectstack/driver-mongodb` | 15 | 59.59 | 87.84 | 109.95 | 1.85× | | | `@objectstack/service-settings` | 13 | 55.11 | 73.71 | 101.03 | 1.83× | | | `@objectstack/hono` | 16 | 21.17 | 34.97 | 38.70 | 1.83× | | | `@objectstack/service-datasource` | 15 | 53.90 | 80.56 | 97.36 | 1.81× | | | `@objectstack/driver-memory` | 9 | 89.87 | 143.75 | 161.88 | 1.80× | | | `@objectstack/http-conformance` | 13 | 49.76 | 83.29 | 89.61 | 1.80× | | | `@objectstack/objectql` | 14 | 356.39 | 551.92 | 640.39 | 1.80× | | | `@objectstack/runtime` | 16 | 429.91 | 553.13 | 770.30 | 1.79× | | | `@objectstack/plugin-sharing` | 12 | 90.72 | 112.90 | 162.26 | 1.79× | | | `@objectstack/service-knowledge` | 15 | 21.71 | 31.09 | 38.61 | 1.78× | | | `@objectstack/vitest-filter-preflight` | 9 | 14.14 | 23.23 | 24.93 | 1.76× | | | `@objectstack/formula` | 9 | 29.17 | 47.61 | 51.43 | 1.76× | | | `@objectstack/plugin-webhooks` | 16 | 44.17 | 65.63 | 77.85 | 1.76× | | | `@objectstack/types` | 7 | 15.19 | 22.81 | 26.69 | 1.76× | | | `@objectstack/rest` | 14 | 318.06 | 508.28 | 558.48 | 1.76× | | | `@objectstack/service-automation` | 16 | 228.00 | 348.96 | 398.04 | 1.75× | | | `@objectstack/cli` | 15 | 1062.12 | 1738.88 | 1844.58 | 1.74× | | | `@objectstack/metadata` | 10 | 82.63 | 124.86 | 142.43 | 1.72× | | | `@objectstack/service-messaging` | 15 | 103.16 | 141.32 | 177.66 | 1.72× | | | `@objectstack/connector-slack` | 16 | 28.12 | 33.72 | 47.99 | 1.71× | | | `@objectstack/example-showcase` | 10 | 79.81 | 93.95 | 133.44 | 1.67× | | | `@objectstack/connector-openapi` | 15 | 30.63 | 38.57 | 50.95 | 1.66× | | | `@objectstack/client-react` | 14 | 7.82 | 11.28 | 12.81 | 1.64× | | | `@objectstack/mcp` | 13 | 63.61 | 87.59 | 103.49 | 1.63× | | | `@objectstack/plugin-security` | 14 | 325.87 | 391.49 | 522.74 | 1.60× | | | `@objectstack/plugin-audit` | 13 | 98.46 | 135.85 | 157.51 | 1.60× | | | `@objectstack/driver-sql` | 10 | 296.08 | 330.60 | 455.25 | 1.54× | | | `@objectstack/spec` | 6 | 906.65 | 1146.69 | 1392.05 | 1.54× | | | `@objectstack/plugin-hono-server` | 9 | 48.47 | 69.00 | 71.77 | 1.48× | | | `@objectstack/driver-sqlite-wasm` | 9 | 69.61 | 95.22 | 102.41 | 1.47× | | | `@objectstack/metadata-fs` | 8 | 35.17 | 42.62 | 49.84 | 1.42× | | | `@objectstack/driver-turso` | 9 | 144.07 | 189.80 | 201.65 | 1.40× | | | `@objectstack/sdui-parser` | 0 | carried | carried | carried | — | provisional | ## Measured per-shard suite time on the newest run in the set ``` 1: 1846s | 2: 568s | 3: 104s | 4: 482s | 5: 335s | 6: 413s ``` ## Predicted bins, before and after ``` BEFORE partition-test-shards: self-test OK (72 measured packages -> 72 shard items, 6 shards, max/mean 1.04x <= 1.3x, floor 1703s, bins 1703/1615/1615/1615/1617/1616s, file-level slices: none) AFTER partition-test-shards: self-test OK (72 measured packages -> 72 shard items, 6 shards, max/mean 1.00x <= 1.3x, floor 1739s, bins 1771/1773/1772/1772/1772/1771s, file-level slices: none) ``` ## 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. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 7fbfef4 commit 0401847

1 file changed

Lines changed: 298 additions & 84 deletions

File tree

‎scripts/test-shard-timings.json‎

Lines changed: 298 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,311 @@
11
{
2-
"note": "GENERATED by scripts/measure-test-shard-timings.mjs -- do not hand-edit. Per-package `turbo run test` durations in seconds, the balancing input for the Test Core shard split (scripts/partition-test-shards.mjs). See `provenance.refresh` to regenerate. Every weight is a real measurement: the ones in `carriedOver` were measured by an earlier refresh and re-confirmed unchanged by a turbo cache HIT in this one.",
2+
"note": "GENERATED by scripts/measure-test-shard-timings.mjs -- do not hand-edit. Per-package `turbo run test` durations in seconds, the balancing input for the Test Core shard split (scripts/partition-test-shards.mjs). See `provenance.refresh` to regenerate. Every weight is a real measurement: the ones in `carriedOver` were measured by an earlier refresh and re-confirmed unchanged by a turbo cache HIT in this one. A weight is the median of the executed runs that measured it; the ones in `provisional` rest on fewer than `provenance.minimumRuns` of them -- fit to balance on, NOT a baseline to set a ceiling from.",
33
"provenance": {
4-
"measuredAt": "2026-10-05",
4+
"measuredAt": "2026-10-08",
55
"summaries": [
6-
"3KGBaktKLrk00zN3tt13JyVppLz.json",
7-
"3KGEGu9v5wH9f7w7TB7ZFx1xsiA.json",
8-
"3KGBg5uv4POK2u7kvXMH9fNlKy3.json",
9-
"3KGBkKTJWVxSHqLCHhlOAEMK5vX.json",
10-
"3KGBdkV5uhJPr3SiUm8czuy8UyT.json",
11-
"3KGBMZv5krSmsEe6KIoyLnDzcs1.json"
6+
"3KQno4ReCsP5W6kRYZqCkTpoSQX.json",
7+
"3KQlC35MTbhCTRMhPeL3y1yH2Q7.json",
8+
"3KQkh8hRL2vVcrMvJgFILH3raUH.json",
9+
"3KQkIcyvx9kgJm21S7vXYlc7Ngp.json",
10+
"3KQkqMFMEcpH2bSd3E2MM16mIyS.json",
11+
"3KQkyzw2le4bQV3OkeRF8RmoZNO.json",
12+
"3KQf5Hzp3vYGo4rYUayIcxMh3rb.json",
13+
"3KQeDaIGeRbXIdmrbQqScMcMOYP.json",
14+
"3KQe2SDmX6vAkkVl46uQXdproWs.json",
15+
"3KQdqW2jrVj0lZCtnqfu0Jp0sBD.json",
16+
"3KQeCrSWA7IcCUYbJkdHtkmMi9m.json",
17+
"3KQdZY3JIaNd2OmEyH27avoAcrA.json",
18+
"3KQGqUttJgH5dpgTX4gp0CNoXKS.json",
19+
"3KQHy3hbjQiLQDOggTSZ8F6hvfC.json",
20+
"3KQHJeuPhqTTeRXFjHcUtWlNAi3.json",
21+
"3KQHjIyrv6tWfgnnVSP64Bdl7gX.json",
22+
"3KQHuhUDLKr67srCYtg7B6vCwdO.json",
23+
"3KQHgVQXJd378GE8YZ6p3ycisLV.json",
24+
"3KQBwWvmZTgoeEdGRzOouglDim2.json",
25+
"3KQB5SWeRdR6SRk9w8XaZ0I0uCV.json",
26+
"3KQBkzZT14gFmYLsvoqKgUb4JCE.json",
27+
"3KQB3DgilCBoghEVB5M50wsl8lt.json",
28+
"3KQAlfTKdD9mCTKrLgYva9e8lZj.json",
29+
"3KQAxzsTn0YtFiflNXHRl7EcsXD.json",
30+
"3KQ2HrS71ErJ6UiXs2qhVVCLGu3.json",
31+
"3KQ3mcivFDZiotDhA4Llri6dU0d.json",
32+
"3KQ3Mh2xTDa2mQc8ZwYtb8EkKeb.json",
33+
"3KQ3MSxZJ4MtWgyAyVHMdeq4v3b.json",
34+
"3KQ3FNuzDLelIJWBgq8yrStr40F.json",
35+
"3KQ3Js0szfp6LpaQHcpkB2s9Cwf.json",
36+
"3KPyj4eb0ZDSr9ai7mDbGpNy3J9.json",
37+
"3KPwP2CGKUW66SZHQsjG2D3hgeT.json",
38+
"3KPwF6rjAnc6Yal5VZtnLtY576V.json",
39+
"3KPvxXdtsO2ne9bqdSLcprvUxLZ.json",
40+
"3KPwhPfRMuMzDiSSqn324KnppgN.json",
41+
"3KPx2eoItAs5EZdYJjnL9aeNUwF.json",
42+
"3KPrSQnJbqAoYN8zDbwZUxsYjXO.json",
43+
"3KPniAstFRNSVl1Q0bZtTF8MQHV.json",
44+
"3KPog0DgbuWDTPN1Bs1E2batH7Q.json",
45+
"3KPnkt7V2fUufORH9QkzwTEOSbH.json",
46+
"3KPnkQNL7jzfNHT8ViEvltQ08ZC.json",
47+
"3KPp6pt11cUZaoBJG4RlceT9wyF.json",
48+
"3KPkez8AN61C42g46vmyEBITHHr.json",
49+
"3KPioJz1lYtvIj5ZIeal20SPPvp.json",
50+
"3KPhgRksqCmBYkkqH2p1TdWZSPP.json",
51+
"3KPi6SvYxtB155oJFHLrp1u9Tbm.json",
52+
"3KPiQFN4u5OVg7Xoa8iOapwfQkZ.json",
53+
"3KPiGxMLY8X8gI7739jnpkSMwEX.json",
54+
"3KPTwYEu6AEzreN5oWtcxh1o6Yb.json",
55+
"3KPTVP1WKvfuY7EQWG8hmV9fVQ2.json",
56+
"3KPRkLPxOhW5rclzJlJSMNmQEGJ.json",
57+
"3KPRkcvwfC0hvTroUaz0VDlw3Dl.json",
58+
"3KPTODj6wR16ZfqgsE4cQu5KPHh.json",
59+
"3KPRkGvnmQCpkFVdELMm00phlUM.json",
60+
"3KPO5dOkzGSZaTsAGlmtJ1IH6Jd.json",
61+
"3KPLtBUAk0VrR0kd9XLSiNFlSw8.json",
62+
"3KPLeT0Z3zbyLJWVAS8KmdMn5CA.json",
63+
"3KPLCjCpuhExCMUxOqIPAekUjYI.json",
64+
"3KPLnR9FkoeV2Mv7h09wfwr6j4j.json",
65+
"3KPLAsIP2dJqH11M5yUyqtYPamz.json",
66+
"3KPH6ovCvCUw5F2W2tMKZcDKXrf.json",
67+
"3KPEgPUPu8qgPYpbiK7Gx2YifKi.json",
68+
"3KPEo3OD1eJH7ZHmnCNlqfO7lFb.json",
69+
"3KPEW3ToXamvP3t8PtYaeZc9QuH.json",
70+
"3KPEW54kCK9wB5rMxED0NQzvEB8.json",
71+
"3KPEtPwJklAIVPkiEiAIXdCGiIj.json",
72+
"3KP9gHyfR9CfYjLjxaUVfZZQmbO.json",
73+
"3KP7iRT9UHnr8e3KHjSp5Q4Cygd.json",
74+
"3KP6k7uVr9BbeQJDXOCnynrERwM.json",
75+
"3KP7EJwzApnz7mDWSi20ekJvvTe.json",
76+
"3KP79WmIxb2Xq2SZq5r4G1FlKxq.json",
77+
"3KP7ESlHpQwiIChwGjZFCsoqAa6.json",
78+
"3KP3MW5SKC62MXUjuIfzFESd4tK.json",
79+
"3KP11M8HeUVuIy5kdGlBzRfsX4L.json",
80+
"3KP18I8qivAYRukji8iBxvVV5Po.json",
81+
"3KP0ojPGlTZnxY2JQSpOLy86tzD.json",
82+
"3KP10oejhsXaRBcv3Jdsme4G7Pt.json",
83+
"3KP1E3nbmsGuL3rT0fMW4CTFZ2E.json",
84+
"3KOuvjYYKCSSeCIia6SiJP1j1hM.json",
85+
"3KOsiaNK6tYWWIor9LosRHsZZLm.json",
86+
"3KOsW0LGmsSCY1KzTMTGs0i505O.json",
87+
"3KOsAtuWyDuGwEnEtA3NLMFrUZe.json",
88+
"3KOsXqcfS1OvEa7mjEFL9Kb2XOO.json",
89+
"3KOsTZmoMYjKIenSZek6q41iEd6.json",
90+
"3KOmGWzpIb5aFJotFIVVZonRI9D.json",
91+
"3KOlTaZQeKhTJ6zDlwRj1aLjbMk.json",
92+
"3KOlDkGJRCd6nL6bUR369J9N4Ec.json",
93+
"3KOkiIowTBQ43esWyNDJntTeRcI.json",
94+
"3KOlOhXNAOl7QBvYAPPxjO5JsOS.json",
95+
"3KOlFcFvQ4jGMm0u2Fxk12sUR4z.json",
96+
"3KOfe06jgkgclF3atbHsCP37kRu.json",
97+
"3KOeCTI3NYH1Qnt0QPXj4PydtoQ.json",
98+
"3KOeDcU0ta0eXLyu5jaiSUfDBz0.json",
99+
"3KOdX0PAwnEX7GP5fJcnFJeuIbR.json",
100+
"3KOeB95h8jm24XF72rKlRiq4TQB.json",
101+
"3KOdZYCfGtSyOFXOAu0CngvX9cc.json",
102+
"3KOVjEnAscyvKVXAavVsQvGLKZv.json",
103+
"3KOXI77JA1209bq18nRKLDcQJvT.json",
104+
"3KOVmp6wafhziZEee4Nef3d8KQv.json",
105+
"3KOVq5yjzIlE6E14w5QnMdmEZqr.json",
106+
"3KOVnVEsGGwX3Abr5GFvJbzTP1Y.json",
107+
"3KOVmojvagnd4QPDf1HTSqAmk3Q.json",
108+
"3KOPKxwrDGNWxmkmZjuIGg1AI2d.json",
109+
"3KOQbfyIpjf0K1evtVMdXjRhh1i.json",
110+
"3KOPZLNagx6Tl5j6ocZo8C8qkGJ.json",
111+
"3KOPbHw7srIIf7zCwBHmn8GSmWw.json",
112+
"3KOPSgsP0rfDhFWCLsLSdl5JO2G.json",
113+
"3KOPb6jSCKVSCE4oA9GKpW2sXao.json",
114+
"3KON38AAccDCd4kcaFz4ps89at8.json",
115+
"3KOKVT1451ZhVjRXvRdiFl5c0Vo.json",
116+
"3KOK8DEZEktNotsvwVk9cEQJZj3.json",
117+
"3KOK2DVGb2h50sDhxse9U2sSKZl.json",
118+
"3KOKR7pJOUUUnorO0bh80XAbXti.json",
119+
"3KOKILECCHHjW9oHzjFAKuWYYeD.json",
120+
"3KO9caBHrYSBxsjG6TaBsAJZCaT.json",
121+
"3KO9dnYGBftK5andGoaZVAEmBpY.json",
122+
"3KO9elHSeVPbvyT1bVNwsk905EH.json",
123+
"3KO9gIHrVaxkets0k0dylDBozX6.json",
124+
"3KO9dwO5GhiLiVBMN0nguWOxcgI.json",
125+
"3KO9fmn2rqrWId4G3sUJS8KpImc.json",
126+
"3KO2MhzUcjPpqYC1Z2cdj6uQxeA.json",
127+
"3KO3KAyS9ok7wVnnZmNnB3zCX7K.json",
128+
"3KO2BH9y7sC2Fa3CSUl43it67Or.json",
129+
"3KO2Dh6tAr2HT41UafxwO5SaiLt.json",
130+
"3KO2A569Myh3deuaRcdPHjZJdjv.json",
131+
"3KO2L71JD4LLKQzFgTU0iich8e4.json"
12132
],
13133
"runs": [
14-
"37262126122"
134+
"37850732030",
135+
"37843751209",
136+
"37821041350",
137+
"37813369702",
138+
"37805495283",
139+
"37797261717",
140+
"37789039326",
141+
"37781792979",
142+
"37767301056",
143+
"37760742919",
144+
"37754067723",
145+
"37747322525",
146+
"37741897835",
147+
"37735391704",
148+
"37730364562",
149+
"37725587604",
150+
"37720968211",
151+
"37716652414",
152+
"37712693750",
153+
"37705590570",
154+
"37699733382"
15155
],
16156
"mergeRule": "median across runs; a file-sharded package is summed from its slices WITHIN one run first, and a run that cannot assemble every slice contributes no sample for it; a package not measured in this pass keeps its previous weight ONLY when a turbo cache HIT witnesses that its inputs are unchanged, and every such package is named in `carriedOver`",
17-
"refresh": "node scripts/measure-test-shard-timings.mjs [--run <id>] <run-summary.json>... --merge-into scripts/test-shard-timings.json --out scripts/test-shard-timings.json (summaries: the `test-core-run-summary-<n>-of-6` artifacts of any green run, or a local `pnpm exec turbo run test --concurrency=4 --summarize`. ⚠ ONE RUN COVERS ONLY 2-52 of ~71 packages depending on cache warmth, so feed SEVERAL runs -- a `--run <id>` before each run's summaries is REQUIRED, so a sliced package is assembled per run and then medianed like every other package -- and `--merge-into` to carry the cache-hit remainder. `.github/workflows/shard-timings-refresh.yml` does all of this weekly.)"
157+
"refresh": "node scripts/measure-test-shard-timings.mjs [--run <id>] <run-summary.json>... --merge-into scripts/test-shard-timings.json --out scripts/test-shard-timings.json (summaries: the `test-core-run-summary-<n>-of-6` artifacts of any green run, or a local `pnpm exec turbo run test --concurrency=4 --summarize`. ⚠ ONE RUN COVERS ONLY 2-52 of ~71 packages depending on cache warmth, so feed SEVERAL runs -- a `--run <id>` before each run's summaries is REQUIRED, so a sliced package is assembled per run and then medianed like every other package -- and `--merge-into` to carry the cache-hit remainder. A package measured by fewer than `minimumRuns` executed runs is named in `provisional`, so feed runs until that list is empty. `.github/workflows/shard-timings-refresh.yml` does all of this weekly.)",
158+
"minimumRuns": 3
18159
},
19-
"secondsPerTestFileFallback": 2.454,
160+
"secondsPerTestFileFallback": 2.678,
20161
"packages": {
21-
"@objectstack/cli": 1702.69,
22-
"@objectstack/client": 193.74,
23-
"@objectstack/client-react": 6.04,
24-
"@objectstack/cloud-connection": 125.53,
25-
"@objectstack/connector-mcp": 23.43,
26-
"@objectstack/connector-openapi": 41.62,
27-
"@objectstack/connector-rest": 31.03,
28-
"@objectstack/connector-slack": 33.79,
29-
"@objectstack/core": 74.61,
30-
"@objectstack/downstream-contract": 18.27,
31-
"@objectstack/driver-memory": 89.95,
32-
"@objectstack/driver-mongodb": 91.39,
33-
"@objectstack/driver-sql": 300.2,
34-
"@objectstack/driver-sqlite-wasm": 51.38,
35-
"@objectstack/driver-turso": 139.8,
36-
"@objectstack/embedder-openai": 7.91,
37-
"@objectstack/example-crm": 21.59,
38-
"@objectstack/example-embed-objectql": 23.46,
39-
"@objectstack/example-showcase": 79.85,
40-
"@objectstack/example-todo": 24.65,
41-
"@objectstack/formula": 32.87,
42-
"@objectstack/hono": 33.96,
43-
"@objectstack/http-conformance": 74.92,
44-
"@objectstack/knowledge-memory": 2.87,
45-
"@objectstack/knowledge-ragflow": 4,
46-
"@objectstack/lint": 117.21,
47-
"@objectstack/mcp": 74.01,
48-
"@objectstack/metadata": 68.37,
49-
"@objectstack/metadata-core": 18.5,
50-
"@objectstack/metadata-fs": 34.25,
51-
"@objectstack/metadata-protocol": 566.45,
52-
"@objectstack/objectql": 521.33,
53-
"@objectstack/observability": 4,
54-
"@objectstack/organizations": 63.83,
55-
"@objectstack/platform-objects": 60.69,
56-
"@objectstack/plugin-approvals": 160.49,
57-
"@objectstack/plugin-audit": 81.67,
58-
"@objectstack/plugin-auth": 364.98,
59-
"@objectstack/plugin-dev": 58.55,
60-
"@objectstack/plugin-email": 79.79,
61-
"@objectstack/plugin-hono-server": 44.71,
62-
"@objectstack/plugin-pinyin-search": 24.46,
63-
"@objectstack/plugin-security": 369.42,
64-
"@objectstack/plugin-sharing": 116.36,
65-
"@objectstack/plugin-webhooks": 48.81,
66-
"@objectstack/rest": 521.16,
67-
"@objectstack/runtime": 458.54,
162+
"@objectstack/cli": 1738.88,
163+
"@objectstack/client": 165.6,
164+
"@objectstack/client-react": 11.28,
165+
"@objectstack/cloud-connection": 153.64,
166+
"@objectstack/connector-mcp": 33.97,
167+
"@objectstack/connector-openapi": 38.57,
168+
"@objectstack/connector-rest": 41.59,
169+
"@objectstack/connector-slack": 33.72,
170+
"@objectstack/core": 83.75,
171+
"@objectstack/downstream-contract": 13.45,
172+
"@objectstack/driver-memory": 143.75,
173+
"@objectstack/driver-mongodb": 87.84,
174+
"@objectstack/driver-sql": 330.6,
175+
"@objectstack/driver-sqlite-wasm": 95.22,
176+
"@objectstack/driver-turso": 189.8,
177+
"@objectstack/embedder-openai": 6.01,
178+
"@objectstack/example-crm": 44.74,
179+
"@objectstack/example-embed-objectql": 20.62,
180+
"@objectstack/example-showcase": 93.95,
181+
"@objectstack/example-todo": 43.17,
182+
"@objectstack/formula": 47.61,
183+
"@objectstack/hono": 34.97,
184+
"@objectstack/http-conformance": 83.29,
185+
"@objectstack/knowledge-memory": 3.26,
186+
"@objectstack/knowledge-ragflow": 3.06,
187+
"@objectstack/lint": 210.92,
188+
"@objectstack/mcp": 87.59,
189+
"@objectstack/metadata": 124.86,
190+
"@objectstack/metadata-core": 18.92,
191+
"@objectstack/metadata-fs": 42.62,
192+
"@objectstack/metadata-protocol": 491.15,
193+
"@objectstack/objectql": 551.92,
194+
"@objectstack/observability": 2.93,
195+
"@objectstack/organizations": 79.67,
196+
"@objectstack/platform-objects": 79.18,
197+
"@objectstack/plugin-approvals": 152.8,
198+
"@objectstack/plugin-audit": 135.85,
199+
"@objectstack/plugin-auth": 359.89,
200+
"@objectstack/plugin-dev": 49.47,
201+
"@objectstack/plugin-email": 76.42,
202+
"@objectstack/plugin-hono-server": 69,
203+
"@objectstack/plugin-pinyin-search": 32.56,
204+
"@objectstack/plugin-security": 391.49,
205+
"@objectstack/plugin-sharing": 112.9,
206+
"@objectstack/plugin-webhooks": 65.63,
207+
"@objectstack/rest": 508.28,
208+
"@objectstack/runtime": 553.13,
68209
"@objectstack/sdui-parser": 5.08,
69-
"@objectstack/service-analytics": 306.5,
70-
"@objectstack/service-automation": 362.09,
71-
"@objectstack/service-cache": 2.32,
72-
"@objectstack/service-cluster": 17.42,
73-
"@objectstack/service-cluster-redis": 26.33,
74-
"@objectstack/service-datasource": 54.96,
75-
"@objectstack/service-i18n": 17.97,
76-
"@objectstack/service-job": 17.17,
77-
"@objectstack/service-knowledge": 27.94,
78-
"@objectstack/service-messaging": 102.96,
79-
"@objectstack/service-package": 21.9,
80-
"@objectstack/service-queue": 39.82,
81-
"@objectstack/service-realtime": 14.26,
82-
"@objectstack/service-settings": 74,
83-
"@objectstack/service-sms": 11.5,
84-
"@objectstack/service-storage": 96.24,
85-
"@objectstack/spec": 1134.86,
86-
"@objectstack/trigger-api": 1.99,
87-
"@objectstack/trigger-record-change": 56.08,
88-
"@objectstack/trigger-schedule": 29.74,
89-
"@objectstack/types": 31.42,
90-
"@objectstack/verify": 194.43,
91-
"@objectstack/vitest-filter-preflight": 26.11,
92-
"create-objectstack": 21.11
210+
"@objectstack/service-analytics": 401.06,
211+
"@objectstack/service-automation": 348.96,
212+
"@objectstack/service-cache": 2.53,
213+
"@objectstack/service-cluster": 18.97,
214+
"@objectstack/service-cluster-redis": 15.3,
215+
"@objectstack/service-datasource": 80.56,
216+
"@objectstack/service-i18n": 22.85,
217+
"@objectstack/service-job": 23.28,
218+
"@objectstack/service-knowledge": 31.09,
219+
"@objectstack/service-messaging": 141.32,
220+
"@objectstack/service-package": 19.06,
221+
"@objectstack/service-queue": 49.33,
222+
"@objectstack/service-realtime": 10.39,
223+
"@objectstack/service-settings": 73.71,
224+
"@objectstack/service-sms": 27.36,
225+
"@objectstack/service-storage": 108.17,
226+
"@objectstack/spec": 1146.69,
227+
"@objectstack/trigger-api": 2.18,
228+
"@objectstack/trigger-record-change": 64.41,
229+
"@objectstack/trigger-schedule": 45.8,
230+
"@objectstack/types": 22.81,
231+
"@objectstack/verify": 184.97,
232+
"@objectstack/vitest-filter-preflight": 23.23,
233+
"create-objectstack": 22.14
93234
},
94-
"skippedAsCached": [],
235+
"skippedAsCached": [
236+
"@objectstack/cli",
237+
"@objectstack/client",
238+
"@objectstack/client-react",
239+
"@objectstack/cloud-connection",
240+
"@objectstack/connector-mcp",
241+
"@objectstack/connector-openapi",
242+
"@objectstack/connector-rest",
243+
"@objectstack/connector-slack",
244+
"@objectstack/core",
245+
"@objectstack/downstream-contract",
246+
"@objectstack/driver-memory",
247+
"@objectstack/driver-mongodb",
248+
"@objectstack/driver-sql",
249+
"@objectstack/driver-sqlite-wasm",
250+
"@objectstack/driver-turso",
251+
"@objectstack/embedder-openai",
252+
"@objectstack/example-crm",
253+
"@objectstack/example-showcase",
254+
"@objectstack/example-todo",
255+
"@objectstack/formula",
256+
"@objectstack/hono",
257+
"@objectstack/http-conformance",
258+
"@objectstack/knowledge-memory",
259+
"@objectstack/lint",
260+
"@objectstack/mcp",
261+
"@objectstack/metadata",
262+
"@objectstack/metadata-fs",
263+
"@objectstack/metadata-protocol",
264+
"@objectstack/objectql",
265+
"@objectstack/organizations",
266+
"@objectstack/platform-objects",
267+
"@objectstack/plugin-approvals",
268+
"@objectstack/plugin-audit",
269+
"@objectstack/plugin-auth",
270+
"@objectstack/plugin-dev",
271+
"@objectstack/plugin-email",
272+
"@objectstack/plugin-hono-server",
273+
"@objectstack/plugin-pinyin-search",
274+
"@objectstack/plugin-security",
275+
"@objectstack/plugin-sharing",
276+
"@objectstack/plugin-webhooks",
277+
"@objectstack/rest",
278+
"@objectstack/runtime",
279+
"@objectstack/sdui-parser",
280+
"@objectstack/service-analytics",
281+
"@objectstack/service-automation",
282+
"@objectstack/service-cluster",
283+
"@objectstack/service-cluster-redis",
284+
"@objectstack/service-datasource",
285+
"@objectstack/service-i18n",
286+
"@objectstack/service-job",
287+
"@objectstack/service-knowledge",
288+
"@objectstack/service-messaging",
289+
"@objectstack/service-package",
290+
"@objectstack/service-queue",
291+
"@objectstack/service-realtime",
292+
"@objectstack/service-settings",
293+
"@objectstack/service-sms",
294+
"@objectstack/service-storage",
295+
"@objectstack/spec",
296+
"@objectstack/trigger-api",
297+
"@objectstack/trigger-record-change",
298+
"@objectstack/trigger-schedule",
299+
"@objectstack/types",
300+
"@objectstack/verify",
301+
"@objectstack/vitest-filter-preflight",
302+
"create-objectstack"
303+
],
95304
"skippedIncompleteSlices": [],
96-
"carriedOver": []
305+
"carriedOver": [
306+
"@objectstack/sdui-parser"
307+
],
308+
"provisional": [
309+
"@objectstack/sdui-parser"
310+
]
97311
}

0 commit comments

Comments
 (0)