Repository navigation
ci: merge-queue Test Core reds on the new suite-duration ceiling — @objectstack/cloud-connection measured 177.5 s and 200.3 s vs its 163.89 s ceiling, in two groups of PRs that do not touch it (live since 1bd612bd6) #22949
Description
Unblocks: #22902
Ruled: 6119186511 · letter C2 (both timing steps) + an absolute floor · 2026-10-12T06:45Z
Filing gate ①: a defect with a named landing point and a measured cost. Class (a): a queue red that is no PR's, and it ejects PRs and rebuilds the queue behind them. reach: named real producer: merge-queue runs 38202924710 and 38203387941, which ejected PR #22931 and PR #22936's group.
Filed by domain:spec seat 1 (#6017) · os-warren · session session_019G5ZnRrTMiwcHG6iZM19zf, from the queue-ejection triage on PR #22931 (6117898114). ⛔ Not a claim. Lane and grade are triage's. Under the main-red convention ② this card anchors this failing check, and later sightings comment here.
Reader who acts: triage grades it and names the lane. The gate is scripts/check-test-suite-ceilings.mjs (#16468, letter A), and the table is the ceilings field scripts/measure-test-shard-timings.mjs writes into scripts/test-shard-timings.json. A ceiling rises only through RULED_CEILING_RAISES (check-test-suite-ceilings.mjs:135, empty today), which needs a ruling's comment URL. So the remedy is not a seat's to pick (header: "a ceiling rises only by a ruling").
What is measured
- The table went live today. The refresh
1bd612bd6(chore(ci): refresh the Test Core shard-timings dataset #22923, merged 2026-10-12T03:58Z) is the first dataset carrying aceilingsfield. The previous one,040184752, has none, which the gate reads as NOT MEASURED and exits 0. Its landing record on ci: merge-queueTest Core (3/6)reds onshard-timing-drift—@objectstack/climeasured 931.4s vs 579.6s predicted (1.61x, red past 1.5x);scripts/test-shard-timings.jsonwas last refreshed 2026-10-08 #22917 says so: "this is the first refresh to write the suite-duration ceiling table". - Two queue builds after it, both red on one package:
38202924710(grouppr-22931, base51b43a8dc4):Test Core→ "Check the per-package suite-duration ceilings" →@objectstack/cloud-connection: 177.53s, over its 163.89s ceiling. Slowest file: src/marketplace-install-local-seed-lookup.test.ts 7.79s.38203387941(grouppr-22936stacked on it): the same step →@objectstack/cloud-connection: 200.33s, over its 163.89s ceiling. Slowest file: src/marketplace-install-local-state-machine-exempt.test.ts 10.70s.- Read through
scripts/pm/ci-failure.mjs --run N(check-run annotations; the job log host is unreachable from an agent container).
- Neither PR touches the package. PR feat(spec)!: refuse a duplicate name inside one stack’s
functionsarray (#22902) #22931 ispackages/speconly (one collector indefineStack); PR fix(lint): one-line fix lines for 18 more author-time rule ids;os explain RULE_IDcarries what they explained #22936 ispackages/linthint text only.packages/cloud-connectionhas not changed onmainsincebfc15d275(10-11). - The table's own numbers:
@objectstack/cloud-connectionweighs 81.68 s with a ceiling of 163.89 s (the window's slowest run × 1.25, so about 131 s at most in the window). The queue builds ran it at 2.2× and 2.5× its weight. - CONTROL, so it is load and not a constant: PR feat(spec)!: refuse a duplicate name inside one stack’s
functionsarray (#22902) #22931's ownTest Coreon its head70c36c1151(apackages/specchange puts every dependent,cloud-connectionincluded, in the affected set) concludedsuccess, ceiling step included.main's pushCIone357a441c6, after the table went live, concludedsuccess, and queue groups have landed since (e357a441c6,51b43a8dc4).
Why (as read)
- The window behind the ceiling is the refresh's 12 hourly
scheduleruns of CI (per chore(ci): refresh the Test Core shard-timings dataset #22923's review record). The gate is enforced on everyTest Core, merge-queue builds included, which run the full suite on loaded runners. A package whose queue-load time sits near 2× its window time crossesmax × 1.25on some builds and not others. - So the ratchet ejects PRs on a measurement of runner load, which is the failure shape ci: merge-queue
Test Core (3/6)reds onshard-timing-drift—@objectstack/climeasured 931.4s vs 579.6s predicted (1.61x, red past 1.5x);scripts/test-shard-timings.jsonwas last refreshed 2026-10-08 #22917 recorded forshard-timing-drift.
Not measured
- Whether other packages sit as close to their ceilings under queue load. Only
cloud-connectionhas crossed so far. - Whether the next queue builds of PR feat(spec)!: refuse a duplicate name inside one stack’s
functionsarray (#22902) #22931 (re-armed once,6117898114) and PR fix(lint): one-line fix lines for 18 more author-time rule ids;os explain RULE_IDcarries what they explained #22936 (re-grouped) pass.
Direction (not a ruling)
The options are the maintainer's, because RULED_CEILING_RAISES needs a ruling URL. They are listed only so the grade can be priced:
- (a) a ruled raise for
@objectstack/cloud-connection; - (b) the ceiling's window includes queue-load runs, or the ceiling step reads a queue build at a different factor;
- (c)
cloud-connection's slowest files (7–11 s each) get faster.
⛔ Not a hand edit of scripts/test-shard-timings.json.
Dedupe
MCP search_issues on this repo, closed included: suite-duration ceilings queue failure cloud-connection over ceiling refresh dataset ceilings first table → 0 hits. Read by number: #22917 (closed, shard-timing-drift, a different step; its landing record says a red after the refresh "files fresh"), #16468 (closed, the ratchet itself). REST list of every card created since 2026-10-12T03:00Z: none on this signature.
Dedupe words: suite-duration ceiling; check-test-suite-ceilings; cloud-connection over its ceiling; merge queue Test Core ceiling red; RULED_CEILING_RAISES.
Generated by Claude Code
Activity