From 10ada71679b967b7bc2602ed2f3dde927f5376c5 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Nov 2026 07:34:57 +0000 Subject: [PATCH] ci(test-shards): carry the 2026-11-02 shard-timings refresh and slice the CLI in 2 The refreshed dataset (PR #28978's, byte for byte) measures the CLI at 1432.04s against metadata-protocol's 566.50s serial floor, so pin 3c derives two slices (716.02s within 736.45s). The outgoing map {cli: 4} moves to PREVIOUS_FILE_SHARDED_PACKAGES so the refresh lane still decodes the 4-slice summaries it retains. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_017ihL2gLghEqeDKTbDTC7Zd --- scripts/partition-test-shards.mjs | 20 +- scripts/test-shard-timings.json | 666 ++++++++++++------------------ 2 files changed, 278 insertions(+), 408 deletions(-) diff --git a/scripts/partition-test-shards.mjs b/scripts/partition-test-shards.mjs index 4b228aa5f86..0f185ead856 100644 --- a/scripts/partition-test-shards.mjs +++ b/scripts/partition-test-shards.mjs @@ -379,6 +379,19 @@ export function timingModeNote(event) { // and turned load-sensitive tests red in the merge queue until #26077 reverted // it. Pin 3d (WHOLE_LEG_CAP_SECONDS, LOAD_SENSITIVE_APART) holds that line. // +// RE-DERIVED AT 2 (#29777), on the refresh of 2026-11-02 (PR #28978's +// dataset, carried here byte for byte): the CLI shrank to 1432.04s. `spec` +// (1008.78s) and `runtime` (987.16s) each run as two tasks, so the heaviest +// other serial task is still `@objectstack/metadata-protocol`'s, now 566.50s, +// and a slice must sit within 1.3 x 566.50 = 736.45s. +// +// n = 1 1432.04s 2.53x the CLI IS the run's floor +// n = 2 716.02s 1.26x meets -- metadata-protocol is the floor +// +// The margin is 20s (finding #29826). The whole split is now balanced, so the +// density cap equals the 8-shard mean; the slice that reads built declarations +// is admitted by closureAllowance() (#29777 ruling B). +// // ⛔ THE COUNT IS CONFIGURED; WHETHER A RUN SLICES IS DECIDED BY THAT RUN. A // pull_request or merge_group run splits its own affected set, so planShards() // asks, of the run's own list, whether a configured package is that run's @@ -399,7 +412,7 @@ export function timingModeNote(event) { // a change to what that generator can DECODE, which is why the map it replaced // is kept below. export const FILE_SHARDED_PACKAGES = Object.freeze({ - '@objectstack/cli': 4, + '@objectstack/cli': 2, }); // THE MAP AS IT STOOD BEFORE ITS LAST CHANGE, read only by the generator's @@ -427,9 +440,10 @@ export const FILE_SHARDED_PACKAGES = Object.freeze({ // `test-core-run-summary-*`, #25771), so four days after that PR lands no // retained summary predates the change and this map decodes nothing. // The outgoing map of #22075's third round was empty -- the runs before it -// carried no slice. #25870 raised the CLI from 3 slices to 4, so this holds 3. +// carried no slice. #25870 raised the CLI from 3 slices to 4; #29777 lowered +// it from 4 to 2, so this holds 4. export const PREVIOUS_FILE_SHARDED_PACKAGES = Object.freeze({ - '@objectstack/cli': 3, + '@objectstack/cli': 4, }); // ── THE SLICE THAT READS BUILT DECLARATIONS CARRIES THEIR CLOSURE (#25870) ── diff --git a/scripts/test-shard-timings.json b/scripts/test-shard-timings.json index e68f9b230d5..0185ae6ceff 100644 --- a/scripts/test-shard-timings.json +++ b/scripts/test-shard-timings.json @@ -1,301 +1,198 @@ { "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. `ceilings` is each package's suite-duration ceiling, graded by scripts/check-test-suite-ceilings.mjs: its slowest executed run in the refresh window that first set it, times `provenance.ceilingHeadroom`, then held by every later refresh -- raised only by a ruling, never by a refresh. `uncapped` names the packages with none, and why. `density` is the window's density reading: each run's count of executed packages (cache replays excluded) and each measured package's median share of its runs' executed seconds -- what the next refresh's diff judges a rise against.", "provenance": { - "measuredAt": "2026-10-26", + "measuredAt": "2026-11-02", "summaries": [ - "3LDaSZoydWFxKiH8lVKLKVxGaMJ.json", - "3LDaPIV2dIpgEvVGKFxYd6HvYkT.json", - "3LDaO15zRDYZSNL1mB4enxuV3pa.json", - "3LDaOA8UT8QuAmkEjdJ2ih9ciUl.json", - "3LDaO4ahLYajwSYg8Iy4e79uMZL.json", - "3LDaQTO1pa0xrf6skNVq1PTxAYj.json", - "3LDaQbbOFROA2if4SYKnPJnY8o6.json", - "3LDaNRvMdnlmDnRZo3E35ef7ks1.json", - "3LDaOeEKoicr9j7n9bhhFslV63z.json", - "3LDaRBIewlANXPlK3igFDETMWOI.json", - "3LDaRBTVuCafN7r6ZM5ZfFqjXx8.json", - "3LDUYCGqjs1sRzM1Hb1WD6PIwhN.json", - "3LDTsfHrAX3sOq0c6nnMHcuPx6Y.json", - "3LDTG0QWuTkpMMqTfVkFtgLyW0D.json", - "3LDTCt9nMnjs1OzDOslA4UsgCvu.json", - "3LDTD0OxpF7fQ5DdY8H1NtGZvFQ.json", - "3LDTbtbIiyRWaCz6X3v7kGwNVWQ.json", - "3LDVEm7r4dtDMAyjwMuVV0zmXc0.json", - "3LDTT8XKvxfOaZRj53OyH8xWSBF.json", - "3LDTFqIBMVBKsY28virwghMkFiL.json", - "3LDTKBXlf47dz3hfnKZMHkaTx9s.json", - "3LDTKLgrAjBCoXlvkdXVlk5d06g.json", - "3LDN6nIRzg0SK0Bfe5cFQYDpSGm.json", - "3LDMrn1JsFnStMbyMsWsjRCIppa.json", - "3LDM8vCv7eT8HJFiv6i1ba8F5C4.json", - "3LDM6YchNjUNnEX1mmCus3d5Lto.json", - "3LDM6XTlK0HzBh35UmBt3P9iTBG.json", - "3LDM5kcy0SUDC9jEeQmcPEihAji.json", - "3LDM5lyTXtiyMEprJRWvtNQhV6f.json", - "3LDMTBfery6kKunHMlt7Kd0szBw.json", - "3LDMAG5HG3glYUEjSdFbueF6BPE.json", - "3LDM7rqhvMfLuIe1brpwhqWirHV.json", - "3LDM7wRFUaB4zc3VwgshO1mBSCD.json", - "3LDGKabmuOiTpeutCfpQ8MCG3JL.json", - "3LDG0vuLgEd5aQwcBTlS0YBgnQp.json", - "3LDFJsWivFuJiiGHDEwILPwlcz4.json", - "3LDF8vkb02p6SNpuS4vKirjVwQ9.json", - "3LDF8xIQIUHmWeT9toL0o4jREsW.json", - "3LDFAqSn0y9wDS0lmJ1mYwamSPH.json", - "3LDFAs6AkJW4lWJOl3Pixh9EB4q.json", - "3LDFfH4jECaxoW15YV8XBjfpCwh.json", - "3LDFENmkz0oxlagjizS7tCB1mkd.json", - "3LDFGb6shtRRGKZE87sDkAOwhXb.json", - "3LDFGlhe5FUP6cAlO6a2rNhZ8Dv.json", - "3LCtwDL1RvwV3LsCCj5Pj7yN6Aj.json", - "3LCsVp9yNcuFTd4W1h2Uxny5Jpq.json", - "3LCsW62HFSmQutLoRc531TTmPmo.json", - "3LCv0vMFXsWiaOcjshFuUh0rweo.json", - "3LCtBosMSnAnSxYZxeaKp4puEo9.json", - "3LCsnLxYRS4BfVzGWACILMH0QlK.json", - "3LCtoOMEqIQZClJRjfIjl2WzvTV.json", - "3LCsTzeKKUrcWhmkhp5rXbFrmzq.json", - "3LCsSJDnOPW4vmOIKa580tpvczO.json", - "3LCv5DaXWaRqna0YqJzWSndYgGG.json", - "3LCsxEGt7TyrgdzwLBdNQnCj7ce.json", - "3LCmV3rMTs7wtFpTipqfnE0OTwk.json", - "3LClu2fJ5CL0KMrIF9NZxMsdHRA.json", - "3LClA8CyF7dJLIUAwrWJPMuolIP.json", - "3LCl9j2pcY0fUVyK6Mgwnt3B7v7.json", - "3LCl9deGxEkkmULZ5DvEM7f2dtP.json", - "3LClB22Q5pGTJNT4GhEhOfWBdNX.json", - "3LClB3eWfhAQUjsqZK8uibbrpyE.json", - "3LCl9LJwdmCIaWVwiKLHP7jtqMN.json", - "3LClHHXv8z3FYmPyqk1mKFNIXAg.json", - "3LCl8eYIdHlVT0ZItbe0UlbtmKO.json", - "3LCl8g0miILcr770UuUyGNaqfDw.json", - "3LCekjGcB6kfA0LBQVOtvZdyJwz.json", - "3LCeMJJubkzKlSLBUV4mhAw567n.json", - "3LCdsRub0h5xiZQTkx3HNCT1eqi.json", - "3LCdsCwP2A23ygiG4D3V2kJ9kAJ.json", - "3LCds6jOAUoZwUPIHDRnnmLkrBB.json", - "3LCdrA94CAIwysH3gLzmUkgtRah.json", - "3LCdrCFQYpMAaK0ABwdKmzlAQmt.json", - "3LCdteoI6PV9ApQpI9YjSyfPZQu.json", - "3LCdyf3bmXHqc8h0UPBDUd1LBem.json", - "3LCdw436KV0AeGSejShfHD60VZC.json", - "3LCdw6a1kqW9GzNKyNVvZI9rklg.json", - "3LCWX5J71I4rp7iKfQtsV5bOLx5.json", - "3LCWWsjoYHuNYKsj1F8SjA4HC9J.json", - "3LCWXBsBFOQkOVzU7fDlF49yEdg.json", - "3LCWX7QRGj9b82MbiyFv381x07W.json", - "3LCWXIsNky4qPD33mw15CaLU36t.json", - "3LCWYRaXK6Ypls3igfLhLxVp1hb.json", - "3LCWYKzowb5ktvobYfcml0W935G.json", - "3LCWYhVNJBuCoBVbca4apYB7XL8.json", - "3LCWY1xSWspaDuQAydMknIyP11C.json", - "3LCWW4w8notGugVkPyzBE8fDOUk.json", - "3LCWVzeqeINeG89tTqRZC0kEERu.json", - "3LCPFGjCJGDv96aKr0AsNKJS1ak.json", - "3LCPFUFYq2fszNDtFZn933fjTe8.json", - "3LCPFikJ4vlA9FrvABcM2utNGsq.json", - "3LCPFVLm15Tf6OeOwvceW9TLKA2.json", - "3LCPFPVv5NuabV7YPH5ZngI20ul.json", - "3LCPGsKYGTTKFwHqlRiNZtXDMxi.json", - "3LCPGv1syvP1CH86XNr33ZqPgpl.json", - "3LCPJvzLONBV1x8BfgA1YaLAVhw.json", - "3LCPFUCIBvdSaZ4qsQapAUMvKzF.json", - "3LCPEMxwnLKkKwpClLlXqmdrdiM.json", - "3LCPEO2ZWEPaxLnB4YUoHsdCUEx.json", - "3LCI0yuSEEwpDcv3mxTAabYsT74.json", - "3LCHzEibBmoaUQnasJ8dlmBXNAz.json", - "3LCI0Hyl8qxTnjCNL6h7ZVMlCeL.json", - "3LCHywitYKodFp5sSHabAXsUErB.json", - "3LCHz02JdnDgSLfiKj219achauU.json", - "3LCI1wF1e6DFIxxoIDxkGCMhjPm.json", - "3LCI225OECHtfdYnPG1stRhkS4A.json", - "3LCI1QxNYHbdkEVlUG1NauyzzdI.json", - "3LCI1euhgYjFncNbXEAZqLCJjbn.json", - "3LCI3DFmgnMsN5G68yfkOfWSZ0t.json", - "3LCI3CxQgQCISZCrV0Nn8ueHY5o.json", - "3LCC3rxx7LgNW7HKq0TrE4lZ3hI.json", - "3LCBbGH6vf6UKso8eF0icozaNYO.json", - "3LCAf6zNl797qrzrnaGUkv4tL7e.json", - "3LCBMyYBtLCSRYvfGYybeEZIkvw.json", - "3LCDD7DDnNUzbunqOjvBzfYzp5L.json", - "3LCAg06xKPufsgt8nyvIEo8DxlJ.json", - "3LCAg1BKIQRtwwOy5WWNJJ0UzVT.json", - "3LCAfNaWjSREo9QdnPSj2XBUUi9.json", - "3LCAftw6pqPiGQ2vIJPMyo1cofh.json", - "3LCAgTku9pHMsbPzXARi2V7Gx4E.json", - "3LCAgMRb0ZKJgXVwYr6hlUW0hi2.json", - "3LC4G3pPljtgnqvbMI7wHYweqU4.json", - "3LC42H4n3ghFeZGKSeBoXNEXeAC.json", - "3LC3LNHU6fXoQqP1Zrl9yWP3RvB.json", - "3LC409r9udvJ7ZqAjAe3rp1jfju.json", - "3LC5oojMAwIlwjm0nucDrW7IKOv.json", - "3LC3MIwksYBlx1BxAdaTMHrWb7E.json", - "3LC3MHdka4d4VTGwYcyF33J6EmL.json", - "3LC3LTCF4rRUyftjSLNmjjC3Bbd.json", - "3LC3M3tOMzsRJCJjXKKiXECiv29.json", - "3LC3KdDX3FsPzb5JXfKWmn49OuU.json", - "3LC3KgCkjiACXvOmaveS1ramgZH.json", - "3LBxXKoHflSvnVUxOGzmkfYAhxw.json", - "3LBxZjd6LkCX0hm3VHitN0bFbxh.json", - "3LBxQYi4KdBwoLjrfAW3Qc6sI9f.json", - "3LBxu3ApUnTrZtNTGTOrAYpgDgd.json", - "3LBwZxgStewMCWZB0DbJM5yDC97.json", - "3LByUkS0cMbQX3tuPekDh7yMrWX.json", - "3LBweyM37YiWR5BITbl8heAJ85y.json", - "3LBx52yfzG5egICSnFplmlhcos4.json", - "3LBxCCnd9t5oBDHOLDcuJPNgBsO.json", - "3LBwcOsrluJGy92YNKAfy93bM3N.json", - "3LByvd9eelZsmzimdQKpMx14Pjy.json", - "3LBpfnSHdoQPrufWbCIA3oYWMhQ.json", - "3LBpyRLEXr3FNvGPsV4K3NQi8ie.json", - "3LBq9Ly9kxM8spEL5Qpym9zUQqm.json", - "3LBrh12BGhRd1AdSpFfqp8sw995.json", - "3LBpdiEdj7OblBJgcg4Y4ZDIvCZ.json", - "3LBqeJD8XmRkGDPd746sMQZygSS.json", - "3LBpCjeKQnOUkJalK9527767wmB.json", - "3LBqAkoUaOrYcpfoMo2FCqzt9vK.json", - "3LBqehpRQHGFC6hD0t1tYbKjBAO.json", - "3LBpMqAuVndlJG2KRDjQN4Bv2WV.json", - "3LBrf9R97F4LvQJXKdxaKYDuLKM.json" + "3LXGetnI4m1gEsX8AAgKqNUXTrT.json", + "3LXHNo2TFNkPfj0sgG2W9fmbX9O.json", + "3LXGE9Z9RsAg6XqEHF1SbSyqOn3.json", + "3LXFPZZFQrpSU6hgTCVXNVKe0Em.json", + "3LXFPQW0hU8cTiOiuDCupdJLVob.json", + "3LXGiOzZlLGgJwrdrLIOgmZSs6n.json", + "3LXGMPYDgzf1JJAfz3ZbESUo8xw.json", + "3LXFrdzIOYF25wbidfq49Ula2Y8.json", + "3LXGBxo575p22nIAoYNW29ZzCM1.json", + "3LXFW1Uu7lCyxeqEn1EdgSqcjYI.json", + "3LXFjegiZhmPghOL5VOq2jkjXoQ.json", + "3LXGq15SnSAp0CEPgA9DI203poP.json", + "3LWo3ChYtZw66e8GoxRFlPqvRZ9.json", + "3LWp2D6VKw1fXpII9DWurfpdkmd.json", + "3LWno5urF7mVJhE4OdVCbyCpVd8.json", + "3LWms5gsGLyFEHEV62po14uTI3G.json", + "3LWncO0Z8r7S3jaIjYY4psZgAyV.json", + "3LWoGYRXnPgakeCK6iM3qfnOOqd.json", + "3LWnQRweXpBuRTa4Fk3Ew4wGzkn.json", + "3LWnwnBxst93nhYcLBEqLRSKUci.json", + "3LWnqQdzLy5aAVvnPm2FfsoxK0i.json", + "3LWn6h8Gg4ub4RQ8IL9FBodN4ZB.json", + "3LWnFxt288A7J3nXIDWeH9G8Gup.json", + "3LWnyDDbOy9DqwaL0FVRN1Zlf0b.json", + "3LWJ8zVzrYUcyUvBMPQNS0rABpU.json", + "3LWKBgMQ955PXiE2UgjQmLc0oin.json", + "3LWK901l93tuK83gzDNQ9SphLif.json", + "3LWJ1MKUCez6SSOJNklP254sRDF.json", + "3LWJgCW9TEgIYBRf7gf6HhBBQOU.json", + "3LWKFztRCWVAxWa2mT2Ib9NDpdk.json", + "3LWJzGn3gachjKWuivUtf8avPoS.json", + "3LWKnagJwpHE6Y9TEKCT3Rv5mDy.json", + "3LWJxClLH4Kju7d11viBsMQtlnM.json", + "3LWJErJNqhvpblnULOC1bGGcutd.json", + "3LWJUsp4D7hiLWvjKGFXs6vbmEV.json", + "3LWKLHQ7QPSUdAmFw0voilEjyNz.json", + "3LVr480PC3uVoaLbrFSxPsyFHkt.json", + "3LVrkRTOLn6GRXXev6NMbfLPMqH.json", + "3LVqnNqZXb9X718Ye1DUjP3zWrO.json", + "3LVpnsD6YkTpvTCe6IIzFAd9EyF.json", + "3LVqVXA4jTaJkKZUl2wnbG3oMTe.json", + "3LVr5vGS2eEmDnzOvvjo6PXysif.json", + "3LVqlc4ynYeo5MF5W4BSkzTz5og.json", + "3LVrXbWQsHsksVxImJpYFrF62F7.json", + "3LVq1R2zrxnVPKXQYnvCS3re2fK.json", + "3LVqjHEDu79pTgIq5eRwcekmFqU.json", + "3LVqsdg5JzOTPuhsCUvNFLxmPZr.json", + "3LVq9y6BMh2wINVRS8SDe04Y4cc.json", + "3LVNg6YwLkDZqtnpECtGDsbpsU5.json", + "3LVNoLdJtpxhchnG9XLYgNkHcRS.json", + "3LVNHXSg1QHV4YRh8IK6TZP6Yqn.json", + "3LVMfCqCEZaDxRmYCt61BIF62z0.json", + "3LVMfKEC1cp7Su1i025ffmHzvHe.json", + "3LVMpeageinCK54O3ltsl1fpK6z.json", + "3LVNTaIEp0t88i4Wddl0k90a4tj.json", + "3LVOGAp4S7HZrGqAQpAsKFkx8Eh.json", + "3LVMk2388cYTSmNTaxnFJxk1AmU.json", + "3LVNoN5X6OwTdrgNDmaI7kWxNle.json", + "3LVO7Iey6wgPL1MGDBAmxwIQNyp.json", + "3LVNG11I3YEF3Fk0DRDemgJHjS2.json", + "3LUuMOedP1mDBX0OfHHPrGgrsN4.json", + "3LUu3fqESmj5QYsoPpPL1TnZDNn.json", + "3LUuKyDrmkJNVCVEsPTNX55xbtt.json", + "3LUtUH5Q68ViAFIgg31rebPFkuB.json", + "3LUtUCiOSfsHNFkNcAUvFT1YQlE.json", + "3LUu4VXGuZquLJH2uGVLYFzW3wM.json", + "3LUuV2gRexG9u3liqAq8qOkzprV.json", + "3LUuV824azDxSP259eATlrfzbs2.json", + "3LUtiszVQ3HiBOUzMu3PNRkxAMp.json", + "3LUtilsEmhEeFoaV1MxH3WPYn67.json", + "3LUuELsm0ve6GjkSmjJ695iiIzL.json", + "3LUvUZk6T7iWWF9eFnhfyLQ3CRK.json" ], "runs": [ - "40272142430", - "40266979145", - "40262173089", - "40257470166", - "40242835329", - "40238189261", - "40233481335", - "40228747755", - "40223991179", - "40219252911", - "40214410982", - "40209651657", - "40204927516", - "40200279306" + "41386384319", + "41365575482", + "41344864428", + "41324361260", + "41304707231", + "41287268103" ], "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`", "refresh": "node scripts/measure-test-shard-timings.mjs [--run ] ... --merge-into scripts/test-shard-timings.json --out scripts/test-shard-timings.json (summaries: the `test-core-run-summary--of-` 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 ` 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.)", "minimumRuns": 3, "ceilingHeadroom": 1.25 }, - "secondsPerTestFileFallback": 2.114, + "secondsPerTestFileFallback": 2.164, "packages": { - "@objectstack/cli": 2697.45, - "@objectstack/client": 81.49, - "@objectstack/client-react": 8.1, - "@objectstack/cloud-connection": 115.93, - "@objectstack/connector-imap": 3.55, - "@objectstack/connector-mcp": 29.9, - "@objectstack/connector-openapi": 24.54, - "@objectstack/connector-rest": 28.39, - "@objectstack/connector-slack": 23.67, - "@objectstack/core": 103.58, - "@objectstack/downstream-contract": 6.8, - "@objectstack/driver-memory": 103.22, - "@objectstack/driver-mongodb": 54.92, - "@objectstack/driver-sql": 241.07, - "@objectstack/driver-sqlite-wasm": 63.75, - "@objectstack/driver-turso": 129.29, - "@objectstack/embedder-openai": 5.22, - "@objectstack/example-crm": 23.11, - "@objectstack/example-embed-objectql": 7.86, - "@objectstack/example-showcase": 48.49, - "@objectstack/example-todo": 27.48, - "@objectstack/formula": 39.47, - "@objectstack/hono": 30.38, - "@objectstack/http-conformance": 155.47, - "@objectstack/knowledge-memory": 2.57, - "@objectstack/knowledge-ragflow": 4.29, - "@objectstack/lint": 141.56, - "@objectstack/mcp": 68.77, - "@objectstack/metadata": 142.75, - "@objectstack/metadata-core": 15.7, - "@objectstack/metadata-fs": 21.58, - "@objectstack/metadata-protocol": 670.12, - "@objectstack/objectql": 450.03, - "@objectstack/observability": 3.06, - "@objectstack/organizations": 99.66, - "@objectstack/platform-objects": 80.46, - "@objectstack/plugin-approvals": 254.27, - "@objectstack/plugin-audit": 255.86, - "@objectstack/plugin-auth": 283.83, - "@objectstack/plugin-dev": 48.97, - "@objectstack/plugin-email": 77.36, - "@objectstack/plugin-hono-server": 68.19, - "@objectstack/plugin-pinyin-search": 53.27, - "@objectstack/plugin-security": 245.56, - "@objectstack/plugin-sharing": 150.16, - "@objectstack/plugin-webhooks": 49.65, - "@objectstack/rest": 569.96, - "@objectstack/runtime": 793.7, - "@objectstack/sdui-parser": 3.68, - "@objectstack/service-analytics": 406.18, - "@objectstack/service-automation": 522.93, - "@objectstack/service-cache": 2.22, - "@objectstack/service-cluster": 11.41, - "@objectstack/service-cluster-redis": 12.79, - "@objectstack/service-datasource": 90.24, - "@objectstack/service-i18n": 7.81, - "@objectstack/service-job": 14.25, - "@objectstack/service-knowledge": 34.06, - "@objectstack/service-mailbox": 67.92, - "@objectstack/service-messaging": 120.65, - "@objectstack/service-package": 32.97, - "@objectstack/service-print": 29.92, - "@objectstack/service-queue": 33.57, - "@objectstack/service-realtime": 8.09, - "@objectstack/service-settings": 147.44, - "@objectstack/service-sms": 8.95, - "@objectstack/service-storage": 150.72, - "@objectstack/spec": 1168.98, - "@objectstack/trigger-api": 10.92, - "@objectstack/trigger-record-change": 56.43, - "@objectstack/trigger-schedule": 33.51, - "@objectstack/types": 19.54, - "@objectstack/verify": 376.32, - "@objectstack/vitest-filter-preflight": 13.41, - "create-objectstack": 13.77 + "@objectstack/cli": 1432.04, + "@objectstack/client": 164.18, + "@objectstack/client-react": 12.26, + "@objectstack/cloud-connection": 233.46, + "@objectstack/connector-app-github": 82.27, + "@objectstack/connector-app-stripe": 69.8, + "@objectstack/connector-imap": 3.2, + "@objectstack/connector-mcp": 50.82, + "@objectstack/connector-openapi": 43.28, + "@objectstack/connector-rest": 22.09, + "@objectstack/connector-slack": 18.54, + "@objectstack/core": 106.66, + "@objectstack/downstream-contract": 17.77, + "@objectstack/driver-memory": 141.87, + "@objectstack/driver-mongodb": 49.14, + "@objectstack/driver-odata": 35.98, + "@objectstack/driver-sql": 267.52, + "@objectstack/driver-sqlite-wasm": 78.42, + "@objectstack/driver-turso": 108.76, + "@objectstack/embedder-openai": 4.47, + "@objectstack/eslint-plugin": 6.46, + "@objectstack/example-crm": 27.79, + "@objectstack/example-embed-objectql": 13.14, + "@objectstack/example-showcase": 90.51, + "@objectstack/example-todo": 47.71, + "@objectstack/formula": 43.23, + "@objectstack/hono": 35.4, + "@objectstack/http-conformance": 49.59, + "@objectstack/knowledge-memory": 2.69, + "@objectstack/knowledge-ragflow": 3.23, + "@objectstack/lint": 207.88, + "@objectstack/mcp": 70.64, + "@objectstack/metadata": 43.72, + "@objectstack/metadata-core": 25.24, + "@objectstack/metadata-fs": 19.4, + "@objectstack/metadata-protocol": 566.5, + "@objectstack/objectql": 693.87, + "@objectstack/observability": 3.47, + "@objectstack/organizations": 107.27, + "@objectstack/platform-objects": 77, + "@objectstack/plugin-approvals": 243.57, + "@objectstack/plugin-audit": 261.68, + "@objectstack/plugin-auth": 450.08, + "@objectstack/plugin-dev": 60.84, + "@objectstack/plugin-email": 101.12, + "@objectstack/plugin-hono-server": 72.94, + "@objectstack/plugin-pinyin-search": 49.43, + "@objectstack/plugin-security": 515.26, + "@objectstack/plugin-sharing": 183.78, + "@objectstack/plugin-webhooks": 53.92, + "@objectstack/rest": 630.61, + "@objectstack/runtime": 987.16, + "@objectstack/sdui-parser": 5.34, + "@objectstack/service-analytics": 144, + "@objectstack/service-automation": 526.88, + "@objectstack/service-cache": 2.77, + "@objectstack/service-cluster": 13.58, + "@objectstack/service-cluster-redis": 9.22, + "@objectstack/service-datasource": 136.01, + "@objectstack/service-i18n": 13.13, + "@objectstack/service-job": 14.35, + "@objectstack/service-knowledge": 22.56, + "@objectstack/service-mailbox": 53.18, + "@objectstack/service-messaging": 145.67, + "@objectstack/service-package": 45.89, + "@objectstack/service-print": 29.15, + "@objectstack/service-queue": 40.79, + "@objectstack/service-realtime": 8.19, + "@objectstack/service-settings": 140.81, + "@objectstack/service-sms": 21.48, + "@objectstack/service-storage": 183.37, + "@objectstack/spec": 1008.78, + "@objectstack/trigger-api": 10.48, + "@objectstack/trigger-record-change": 75.65, + "@objectstack/trigger-schedule": 26.54, + "@objectstack/types": 25.69, + "@objectstack/verify": 189.81, + "@objectstack/vitest-filter-preflight": 31.35, + "create-objectstack": 23.84 }, "skippedAsCached": [ "@objectstack/cli", - "@objectstack/client", - "@objectstack/client-react", "@objectstack/cloud-connection", - "@objectstack/connector-mcp", - "@objectstack/connector-openapi", - "@objectstack/connector-rest", - "@objectstack/connector-slack", "@objectstack/core", - "@objectstack/downstream-contract", "@objectstack/driver-memory", "@objectstack/driver-mongodb", + "@objectstack/driver-odata", "@objectstack/driver-sql", "@objectstack/driver-sqlite-wasm", "@objectstack/driver-turso", - "@objectstack/embedder-openai", - "@objectstack/example-crm", "@objectstack/example-embed-objectql", "@objectstack/example-showcase", "@objectstack/example-todo", "@objectstack/formula", - "@objectstack/hono", - "@objectstack/http-conformance", - "@objectstack/knowledge-memory", - "@objectstack/knowledge-ragflow", "@objectstack/lint", "@objectstack/mcp", - "@objectstack/metadata", + "@objectstack/metadata-core", "@objectstack/metadata-fs", "@objectstack/metadata-protocol", "@objectstack/objectql", - "@objectstack/observability", - "@objectstack/organizations", "@objectstack/platform-objects", - "@objectstack/plugin-approvals", "@objectstack/plugin-audit", - "@objectstack/plugin-auth", - "@objectstack/plugin-dev", "@objectstack/plugin-email", "@objectstack/plugin-hono-server", "@objectstack/plugin-pinyin-search", @@ -304,12 +201,8 @@ "@objectstack/plugin-webhooks", "@objectstack/rest", "@objectstack/runtime", - "@objectstack/sdui-parser", "@objectstack/service-analytics", "@objectstack/service-automation", - "@objectstack/service-cache", - "@objectstack/service-datasource", - "@objectstack/service-i18n", "@objectstack/service-job", "@objectstack/service-knowledge", "@objectstack/service-mailbox", @@ -317,37 +210,26 @@ "@objectstack/service-package", "@objectstack/service-print", "@objectstack/service-queue", - "@objectstack/service-realtime", "@objectstack/service-settings", "@objectstack/service-storage", "@objectstack/spec", - "@objectstack/trigger-api", "@objectstack/trigger-record-change", - "@objectstack/trigger-schedule", - "@objectstack/verify", - "@objectstack/vitest-filter-preflight" + "@objectstack/types" ], "skippedIncompleteSlices": [ - "@objectstack/cli in run 40209651657 (missing 1/3, 2/3)", - "@objectstack/cli in run 40214410982 (missing 1/3, 2/3)", - "@objectstack/cli in run 40266979145 (missing 2/3, 3/3)" + "@objectstack/cli in run 41287268103 (missing 1/4, 2/4, 4/4)", + "@objectstack/cli in run 41304707231 (missing 1/4)", + "@objectstack/cli in run 41386384319 (missing 1/4)" ], "carriedOver": [], - "provisional": [ - "@objectstack/metadata-protocol", - "@objectstack/plugin-audit", - "@objectstack/plugin-sharing", - "@objectstack/rest", - "@objectstack/runtime", - "@objectstack/service-analytics", - "@objectstack/service-automation", - "@objectstack/verify" - ], + "provisional": [], "ceilings": { "@objectstack/cli": 2868.12, "@objectstack/client": 179.74, "@objectstack/client-react": 16.23, "@objectstack/cloud-connection": 163.89, + "@objectstack/connector-app-github": 116.47, + "@objectstack/connector-app-stripe": 99.09, "@objectstack/connector-imap": 4.95, "@objectstack/connector-mcp": 54.85, "@objectstack/connector-openapi": 61.57, @@ -357,10 +239,12 @@ "@objectstack/downstream-contract": 22.71, "@objectstack/driver-memory": 171.63, "@objectstack/driver-mongodb": 158.96, + "@objectstack/driver-odata": 48.33, "@objectstack/driver-sql": 450.76, "@objectstack/driver-sqlite-wasm": 123.14, "@objectstack/driver-turso": 272.37, "@objectstack/embedder-openai": 9.1, + "@objectstack/eslint-plugin": 8.51, "@objectstack/example-crm": 68.83, "@objectstack/example-embed-objectql": 51.51, "@objectstack/example-showcase": 192.05, @@ -424,138 +308,110 @@ "density": { "runs": [ { - "run": "40272142430", - "executed": 20 - }, - { - "run": "40266979145", - "executed": 59 - }, - { - "run": "40262173089", - "executed": 58 - }, - { - "run": "40257470166", - "executed": 58 - }, - { - "run": "40242835329", - "executed": 32 - }, - { - "run": "40238189261", - "executed": 33 - }, - { - "run": "40233481335", - "executed": 29 - }, - { - "run": "40228747755", - "executed": 20 - }, - { - "run": "40223991179", - "executed": 20 + "run": "41386384319", + "executed": 62 }, { - "run": "40219252911", - "executed": 20 + "run": "41365575482", + "executed": 79 }, { - "run": "40214410982", - "executed": 40 + "run": "41344864428", + "executed": 76 }, { - "run": "40209651657", - "executed": 40 + "run": "41324361260", + "executed": 78 }, { - "run": "40204927516", - "executed": 75 + "run": "41304707231", + "executed": 43 }, { - "run": "40200279306", - "executed": 73 + "run": "41287268103", + "executed": 72 } ], "shares": { - "@objectstack/cli": 0.2175, - "@objectstack/client": 0.01878, - "@objectstack/client-react": 0.002868, - "@objectstack/cloud-connection": 0.03284, - "@objectstack/connector-imap": 0.001097, - "@objectstack/connector-mcp": 0.007916, - "@objectstack/connector-openapi": 0.004374, - "@objectstack/connector-rest": 0.006797, - "@objectstack/connector-slack": 0.003776, - "@objectstack/core": 0.017, - "@objectstack/downstream-contract": 0.003234, - "@objectstack/driver-memory": 0.01712, - "@objectstack/driver-mongodb": 0.01244, - "@objectstack/driver-sql": 0.02573, - "@objectstack/driver-sqlite-wasm": 0.0106, - "@objectstack/driver-turso": 0.02147, - "@objectstack/embedder-openai": 0.001983, - "@objectstack/example-crm": 0.004883, - "@objectstack/example-embed-objectql": 0.003669, - "@objectstack/example-showcase": 0.01117, - "@objectstack/example-todo": 0.004618, - "@objectstack/formula": 0.01122, - "@objectstack/hono": 0.004841, - "@objectstack/http-conformance": 0.01206, - "@objectstack/knowledge-memory": 0.000795, - "@objectstack/knowledge-ragflow": 0.001635, - "@objectstack/lint": 0.0241, - "@objectstack/mcp": 0.011, - "@objectstack/metadata": 0.03279, - "@objectstack/metadata-core": 0.00486, - "@objectstack/metadata-fs": 0.003597, - "@objectstack/metadata-protocol": 0.05121, - "@objectstack/objectql": 0.1187, - "@objectstack/observability": 0.001056, - "@objectstack/organizations": 0.01782, - "@objectstack/platform-objects": 0.01368, - "@objectstack/plugin-approvals": 0.01971, - "@objectstack/plugin-audit": 0.01955, - "@objectstack/plugin-auth": 0.04246, - "@objectstack/plugin-dev": 0.008368, - "@objectstack/plugin-email": 0.02333, - "@objectstack/plugin-hono-server": 0.01322, - "@objectstack/plugin-pinyin-search": 0.009586, - "@objectstack/plugin-security": 0.04182, - "@objectstack/plugin-sharing": 0.01147, - "@objectstack/plugin-webhooks": 0.007615, - "@objectstack/rest": 0.04352, - "@objectstack/runtime": 0.06059, - "@objectstack/sdui-parser": 0.001406, - "@objectstack/service-analytics": 0.03101, - "@objectstack/service-automation": 0.03996, - "@objectstack/service-cache": 0.0006902, - "@objectstack/service-cluster": 0.003502, - "@objectstack/service-cluster-redis": 0.003888, - "@objectstack/service-datasource": 0.01368, - "@objectstack/service-i18n": 0.002411, - "@objectstack/service-job": 0.003756, - "@objectstack/service-knowledge": 0.005797, - "@objectstack/service-mailbox": 0.01569, - "@objectstack/service-messaging": 0.01734, - "@objectstack/service-package": 0.005475, - "@objectstack/service-print": 0.006634, - "@objectstack/service-queue": 0.006008, - "@objectstack/service-realtime": 0.002314, - "@objectstack/service-settings": 0.04004, - "@objectstack/service-sms": 0.003692, - "@objectstack/service-storage": 0.03974, - "@objectstack/spec": 0.2647, - "@objectstack/trigger-api": 0.00402, - "@objectstack/trigger-record-change": 0.009983, - "@objectstack/trigger-schedule": 0.007522, - "@objectstack/types": 0.005565, - "@objectstack/verify": 0.02873, - "@objectstack/vitest-filter-preflight": 0.005587, - "create-objectstack": 0.005706 + "@objectstack/cli": 0.1226, + "@objectstack/client": 0.01719, + "@objectstack/client-react": 0.001267, + "@objectstack/cloud-connection": 0.02335, + "@objectstack/connector-app-github": 0.007934, + "@objectstack/connector-app-stripe": 0.008116, + "@objectstack/connector-imap": 0.0004515, + "@objectstack/connector-mcp": 0.005497, + "@objectstack/connector-openapi": 0.0051, + "@objectstack/connector-rest": 0.002467, + "@objectstack/connector-slack": 0.002189, + "@objectstack/core": 0.01076, + "@objectstack/downstream-contract": 0.002164, + "@objectstack/driver-memory": 0.01427, + "@objectstack/driver-mongodb": 0.004811, + "@objectstack/driver-odata": 0.003902, + "@objectstack/driver-sql": 0.02519, + "@objectstack/driver-sqlite-wasm": 0.007374, + "@objectstack/driver-turso": 0.01019, + "@objectstack/embedder-openai": 0.0005292, + "@objectstack/eslint-plugin": 0.0006734, + "@objectstack/example-crm": 0.003348, + "@objectstack/example-embed-objectql": 0.001486, + "@objectstack/example-showcase": 0.01062, + "@objectstack/example-todo": 0.005178, + "@objectstack/formula": 0.004081, + "@objectstack/hono": 0.004172, + "@objectstack/http-conformance": 0.005807, + "@objectstack/knowledge-memory": 0.0002568, + "@objectstack/knowledge-ragflow": 0.000375, + "@objectstack/lint": 0.02024, + "@objectstack/mcp": 0.006652, + "@objectstack/metadata": 0.005038, + "@objectstack/metadata-core": 0.002417, + "@objectstack/metadata-fs": 0.001958, + "@objectstack/metadata-protocol": 0.05413, + "@objectstack/objectql": 0.06657, + "@objectstack/observability": 0.0003756, + "@objectstack/organizations": 0.01305, + "@objectstack/platform-objects": 0.007176, + "@objectstack/plugin-approvals": 0.02451, + "@objectstack/plugin-audit": 0.02535, + "@objectstack/plugin-auth": 0.04462, + "@objectstack/plugin-dev": 0.007144, + "@objectstack/plugin-email": 0.01021, + "@objectstack/plugin-hono-server": 0.007289, + "@objectstack/plugin-pinyin-search": 0.004928, + "@objectstack/plugin-security": 0.04411, + "@objectstack/plugin-sharing": 0.01761, + "@objectstack/plugin-webhooks": 0.006052, + "@objectstack/rest": 0.07576, + "@objectstack/runtime": 0.09437, + "@objectstack/sdui-parser": 0.0006069, + "@objectstack/service-analytics": 0.01483, + "@objectstack/service-automation": 0.05996, + "@objectstack/service-cache": 0.0003011, + "@objectstack/service-cluster": 0.001437, + "@objectstack/service-cluster-redis": 0.001118, + "@objectstack/service-datasource": 0.01383, + "@objectstack/service-i18n": 0.001534, + "@objectstack/service-job": 0.001358, + "@objectstack/service-knowledge": 0.0025, + "@objectstack/service-mailbox": 0.006297, + "@objectstack/service-messaging": 0.01353, + "@objectstack/service-package": 0.004851, + "@objectstack/service-print": 0.003402, + "@objectstack/service-queue": 0.003493, + "@objectstack/service-realtime": 0.0008955, + "@objectstack/service-settings": 0.01479, + "@objectstack/service-sms": 0.002451, + "@objectstack/service-storage": 0.01661, + "@objectstack/spec": 0.08637, + "@objectstack/trigger-api": 0.001437, + "@objectstack/trigger-record-change": 0.008237, + "@objectstack/trigger-schedule": 0.003582, + "@objectstack/types": 0.002225, + "@objectstack/verify": 0.02281, + "@objectstack/vitest-filter-preflight": 0.003424, + "create-objectstack": 0.002923 } } }