Skip to content

ci(test-shards): revert Test Core to the plain-sum layout and the 2026-10-23 dataset (undo #25968) - #26077

Merged
os-zhuang merged 1 commit into
mainfrom
claude/project-thread-jz1zb5
Oct 26, 2026
Merged

os-zhuang merged 1 commit into
mainfrom
claude/project-thread-jz1zb5

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Elon · project thread

Fixes #26074

Clause-②: no
Metadata-protocol: none

What

This is a clean revert of f36f619 (#25968). It changes two files and nothing else: scripts/partition-test-shards.mjs goes back to plain-sum bin placement, and scripts/test-shard-timings.json goes back to the 2026-10-23 dataset with cli in 3 slices. Neither file has a later commit on main. No other file imports the exports this removes (WHOLE_LEG_PARALLELISM, loadOf, wallOf).

Why

Since the first queue build on the #25968 layout (08:16Z), full Test Core merge_group builds have gone red 5 times in 27. On the old layout, 05:00–08:10Z, they went red 0 times in 19. Every red ejects its PR and rebuilds every entry queued behind it, so throughput fell from 12–13 merges an hour to 6. The failing tests are all load-sensitive:

  • objectql src/hook-run-as.test.ts (cold import('./index.js')): Test timed out in 5000ms
  • plugin-security src/objects/shipped-sets-identity-default-row-scope.test.ts: Test timed out in 5000ms
  • cli test/hook-timeout-override-refusal.test.ts CONTROL: the vitest list child exits 1

The heads that failed passed when they went back in unchanged.

The #25870 thread replayed planRun() on both trees. Before, five whole-package shards carried about 1866 s of four-wide work each, and plugin-security sat on a cli-slice shard with 899 s. After, four whole-package shards carry about 2141 s each, and objectql and plugin-security share one shard. The suite-duration ceiling annotations show the effect: plugin-security reads 605–611 s against a ceiling of 474, plugin-auth 617–928 s against 600, driver-sql 603–612 s against 451, and objectql 1102 s against 952.

Cost and rollback

The slowest spec-PR shard goes back to about 25–29 min, from about 20. #25870 stays open for a placement that takes contention into account. Rollback means re-landing f36f619 as it is.

Verification

  • node scripts/partition-test-shards.mjs --self-test: OK. 75 measured packages, 77 items, 8 shards, max/mean 1.00x, bins about 1866 s, all within the 2899.02 s density cap, cli x3.
  • node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD: pass.
  • The other gates are left to this PR's own CI run.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SrpCjPfYv8N9P9EJvoDyN9

…6-10-23 dataset (undo f36f619)

The wall-model placement and the cli x4 dataset landed in f36f619 at
08:35Z. From the first queue build on that layout (08:16Z) to 11:05Z, full
Test Core merge_group builds went red 5 times in 27. In 05:00-08:10Z the old
layout went red 0 times in 19. Each red ejects a PR and rebuilds every entry
queued behind it.

The red builds all fail on load-sensitive tests: the objectql hook-run-as
cold import and the plugin-security shipped-sets case (5 s default timeout),
and the cli hook-timeout CONTROL run. The heads that failed passed when they
went back in unchanged.

The new layout packs about 2141 s of four-wide whole-package work onto each
of four shards, where the old one put about 1866 s on each of five. It also
puts objectql and plugin-security on the same shard. Suite-duration ceiling
readings for plugin-security, plugin-auth, driver-sql and objectql now run
1.3-1.5x over their ceilings.

This is a clean revert of both files. Nothing else reads the exports it
removes (WHOLE_LEG_PARALLELISM, loadOf, wallOf). The partitioner self-test
passes on the restored dataset: 8 shards, max/mean 1.00x, cli x3.

Claude-Session: https://claude.ai/code/session_01SrpCjPfYv8N9P9EJvoDyN9
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对 — ACCEPT at 35daa484 (record only, no auto-merge)

Seat review of #26077 for p1 #26074 (devx seat #6023). #25968, the PR this reverts, was the seat's own landing.

⛔ The seat does not arm auto-merge. On the maintainer's order, he puts this PR at the front of the queue himself.

#25870 stays open. A retry has to be contention-aware and is judged on the queue red rate.

Card: #26074


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.

Merge queue: full Test Core builds go red 5 of 27 since #25968's shard layout, and each ejection rebuilds every entry behind it

3 participants