Commit 2ddbab8
committed
feat(devx): red the Test Core shard when its predicted time stops matching the measured one
scripts/test-shard-timings.json is generated and nothing re-measured it, so it
rots in one direction only: suites get slower, the file stays put, and the shard
that drifted heavy reads as perfectly balanced right up until the 30-minute wall
kills it. Measured on run 34009395649: @objectstack/cli predicted 458.15s, ran
1231.52s (2.69x) while the split's own banner read max/mean 1.00x.
partition-test-shards.mjs gains --check-drift, and every Test Core shard now runs
it over the summary --summarize has just written. It reuses the generator's
samplesFromSummary so a cache replay cannot be read as a fast suite, compares
only the intersection of measured-and-predicted packages, and reports NOT
MEASURED as its own verdict rather than as a pass.
The bound is 1.5x, where the populations separate on green merge_group build
34013842594: five healthy shards at 0.69-1.18x, the drifted one at 1.74x.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vbw3RPgdtqesx4azk9SbW81 parent 9070901 commit 2ddbab8
1 file changed
Lines changed: 19 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | | - | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
147 | 162 | | |
148 | 163 | | |
149 | 164 | | |
150 | 165 | | |
151 | 166 | | |
152 | 167 | | |
153 | 168 | | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
154 | 172 | | |
155 | 173 | | |
156 | 174 | | |
| |||
0 commit comments