Repository navigation
Commit 806b03e
Part of #22075
Clause-②: no
Reverts PR #22415 (`c64130bafa`), made with `git revert --no-edit
c64130b`. Since it landed, full runs on `main` and in the merge queue
red `Test Core` at the step "Check this shard's timing drift", while the
step "Run this shard's tests" passes on the same shard. Each red removes
a PR from the queue and rebuilds every group behind it.
## Diagnosis
From the seat's revert-round claim (`6076043190`, "Why a revert") and
the `domain:services` seat 2 data note (`6076007681`) on the card:
- PR #22415 packs about 2,000–3,000 s of predicted windows onto each
whole-package shard. The drift step's prediction is the dataset's
per-package windows, and those were measured on shards carrying about
1,400 s.
- Under 4-wide concurrency each package's window inflates on the denser
shards: `objectql` 1.84x, `plugin-security` 1.80x, `rest` 1.61x,
`plugin-auth` 1.87x (seat claim). The drift step's red is 1.5x.
- The red is not deterministic. Some groups pass because the shards sit
at the line. The dense packing is the part that misses, and a fix
forward needs a contention-aware design. That design is the card's next
round, not a hotfix.
**Red full runs.** Each was re-read from the jobs API in this round. In
every one, the drift step is `failure` and "Run this shard's tests" is
`success` on the same shard.
| run | event | red shard(s) |
|:--|:--|:--|
| 37894048074 | push, `main` at `e02833c240` | 4/6, 6/6 |
| 37894050587 | merge_group, PR #22412 on `e02833c240` | 6/6 |
| 37893672824 | merge_group, PR #22426 on `628df0cc` | 5/6 |
| 37894053453 | merge_group, PR #22426 on `b0a4aed6` | 5/6 |
| 37892033675 | merge_group, PR #22396 on `e02833c2` | 6/6 |
The drift line from 37894048074, `Test Core (6/6)`, job 113701465749:
```text
shard-timing-drift: DRIFT -- Test Core (6/6), 3992.4s measured vs 2467.1s predicted across 13 package(s) = 1.62x (warning past 1.3x, red past 1.5x).
@objectstack/objectql: predicted 551.9s, measured 1054.9s (1.91x, +503.0s)
@objectstack/rest: predicted 508.3s, measured 865.2s (1.70x, +356.9s)
@objectstack/plugin-security: predicted 391.5s, measured 713.1s (1.82x, +321.6s)
```
The data note's rows: 37892033675 shard 6/6 read 3028.0 s against 1962.3
s (1.54x), and 37893672824 shard 5/6 read 2904.1 s against 1828.0 s
(1.59x).
## What full runs read before `c64130bafa` (the state this restores)
- `main` push 37888117205 (`27a8b33dec`): the drift step is `success` on
all six shards.
- `Test Core (1/6)`: `1885.9s measured vs 1766.8s predicted across 4
package(s) = 1.07x`.
- `Test Core (6/6)`: `2136.1s measured vs 1766.1s predicted across 13
package(s) = 1.21x`.
- `main` push 37883152892 (`abd254508b`): the drift step is `success` on
all six shards. These are the step conclusions from the jobs API; the
log lines were not read.
- merge_group 37875522518 (the PR #22390 group): the drift step is
`success` on all six shards. `c64130bafa`'s own `ci.yml` comment records
shard 1/6 at 1.07x and shard 2/6 at 0.74x there.
- Same shard, same 13 packages: shard 6/6's prediction rose from 1766.1
s to 2467.1 s under the reverted model, and its ratio went from 1.21x to
1.62x.
## Proof
- **Byte identity with the reverted commit's single parent**, at head
`b49b02297d`:
- `git diff f05649f HEAD -- .github/workflows/ci.yml
scripts/partition-test-shards.mjs` prints nothing (0 bytes).
- The blob ids match at `f05649f6aa`, at `HEAD` and on disk: `ci.yml`
`0d2576cbf2`, `partition-test-shards.mjs` `a7c6fc76ec`.
- The diff against `main` is exactly these 2 files, +184/−576.
- Nothing on `origin/main` touched either file, or
`scripts/test-shard-timings.json`, after `c64130bafa` (read again at
`b9222dc701`).
- **Self-test** on the reverted tree: `node
scripts/partition-test-shards.mjs --self-test` exits 0:
`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)`.
The dataset is unchanged since `f05649f6aa`.
- **Gates**, derived on this diff with `node
scripts/pm/dispatch-gates.mjs --commands --repo
objectstack-ai/objectstack` at `b49b02297d`: 58 commands.
- 53 exit 0, including `check:stall-guard-budget` (Test Core: cap 20m
against budget 45m), `check:required-contexts`,
`check:shard-attestation` and `check:nul-bytes`.
- `pnpm check:pm-dispatch-gates` printed `✓ dispatch-gates self-test:
2011 cases pass.` (1071.5 s). It ran in the background, and its exit
code was not captured. The verdict line is quoted instead.
- 4 are NOT MEASURED, exit 3 `PREREQUISITE NOT MET` (they read built
`dist/`, and this diff touches no package): `check:dts-closure`,
`check:dual-build-cjs-loads`, `check:lean-entry-closure`,
`check:sourcemap-no-sources-content`.
- Reconciliation, `--ran` at `b49b02297d`: `✓ dispatch-gates --ran: 58
derived famil(ies) accounted for — 54 run, 4 NOT-MEASURED (⛔ a FLOOR — 4
derived from exit 3; 1 of 58 recorded no exit code).`
## Scope
- Two files: `.github/workflows/ci.yml` and
`scripts/partition-test-shards.mjs`, both restored to `f05649f6aa`.
- No fix forward, no constant tuned, and no self-test case added. The
redesign is the card's next round, decided by the owning seat.
- `skip-changeset`: root `scripts/` and workflows publish nothing.
- The card stays open. Its post-landing read (`6075708656`) no longer
applies once this lands, because the change it measured is gone.
## Acceptance notes
- The dispatch cited the pre-change drift range as 0.61x–1.07x. That
range describes shard 1/6 only: 0.61x–1.05x on eight scheduled `main`
runs, per the restored `ci.yml` comment, and 1.07x on 37875522518 and
37888117205. Shards 2–6 read higher before the change; shard 6/6 on
37888117205 read 1.21x. That is green, and under the 1.3x warning.
Carrier: the seat's redesign brief for the card's next round.
---
_Generated by [Claude
Code](https://claude.ai/code/session_0115N1oNnQS5WqofZ2DzaT3q)_
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 081e6a0 commit 806b03e
2 files changed
Lines changed: 184 additions & 576 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
412 | 412 | | |
413 | 413 | | |
414 | 414 | | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
425 | 426 | | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | | - | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
439 | 435 | | |
440 | 436 | | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
450 | 454 | | |
451 | 455 | | |
452 | 456 | | |
| |||
474 | 478 | | |
475 | 479 | | |
476 | 480 | | |
477 | | - | |
478 | | - | |
479 | | - | |
480 | | - | |
481 | | - | |
482 | | - | |
483 | | - | |
484 | | - | |
485 | | - | |
486 | | - | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
512 | 489 | | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
520 | | - | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
521 | 503 | | |
522 | 504 | | |
523 | 505 | | |
| |||
680 | 662 | | |
681 | 663 | | |
682 | 664 | | |
683 | | - | |
684 | | - | |
| 665 | + | |
| 666 | + | |
685 | 667 | | |
686 | 668 | | |
687 | 669 | | |
| |||
695 | 677 | | |
696 | 678 | | |
697 | 679 | | |
698 | | - | |
699 | | - | |
700 | | - | |
| 680 | + | |
| 681 | + | |
701 | 682 | | |
702 | 683 | | |
703 | 684 | | |
| |||
778 | 759 | | |
779 | 760 | | |
780 | 761 | | |
781 | | - | |
782 | | - | |
783 | | - | |
784 | | - | |
785 | | - | |
786 | | - | |
787 | | - | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
788 | 767 | | |
789 | 768 | | |
790 | 769 | | |
| |||
903 | 882 | | |
904 | 883 | | |
905 | 884 | | |
906 | | - | |
907 | | - | |
908 | | - | |
909 | | - | |
910 | | - | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
911 | 888 | | |
912 | 889 | | |
913 | 890 | | |
| |||
1079 | 1056 | | |
1080 | 1057 | | |
1081 | 1058 | | |
1082 | | - | |
1083 | | - | |
1084 | | - | |
1085 | | - | |
1086 | | - | |
1087 | | - | |
1088 | | - | |
1089 | | - | |
1090 | | - | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
1091 | 1062 | | |
1092 | 1063 | | |
1093 | 1064 | | |
| |||
0 commit comments