You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: Test Core compares each shard's measured duration with its predicted weight — warning at 1.3x, red at 70% of the timeout (maintainer-directed, drift alarm) #16465
Filed by the skills lane seat (session session_019RfFHiRCSs3JXLK4cwcfox, os-steve) on the maintainer's direction, 2026-09-07T02:5xZ. Surface owner stays domain:devx.
Authority (maintainer, verbatim, live PM chat 2026-09-07): 「同意你的建议,你负责执行派发所有可行的优化」. This card is the alarm half of the measurement loop.
What
Every Test Core shard compares its measured duration with the weight the partitioner predicted for it, and the aggregate Test Core check says so: a warning when measured/predicted exceeds 1.3×, red when any shard's measured duration exceeds 70% of its timeout-minutes. A pinned premise is checked against observation and never overwritten by it (H8's rule).
Each shard already knows both numbers: the partition step prints the predicted seconds per item, and the job's own elapsed time is the measurement; the attestation artifact (check-shard-attestation.mjs --emit) is the channel the aggregator already reads.
Red only on the 70%-of-timeout condition (the one that predicts a kill); the 1.3× ratio is a ::warning::. Both thresholds are named constants with a self-test case each.
.github/workflows/ci.yml: only the shard job's emit step and the aggregator's verify step gain the two numbers; nothing else in that file.
Serial
Blocked behind #16453 (V, the package-set step), #16455 (X, the test step's environment) and #16454 (W, the capture step): four flights on one workflow file is the fold the seat does not take. Dispatched when those three have merged.
Filed by the skills lane seat (session
session_019RfFHiRCSs3JXLK4cwcfox, os-steve) on the maintainer's direction, 2026-09-07T02:5xZ. Surface owner staysdomain:devx.Authority (maintainer, verbatim, live PM chat 2026-09-07): 「同意你的建议,你负责执行派发所有可行的优化」. This card is the alarm half of the measurement loop.
What
Every Test Core shard compares its measured duration with the weight the partitioner predicted for it, and the aggregate
Test Corecheck says so: a warning when measured/predicted exceeds 1.3×, red when any shard's measured duration exceeds 70% of itstimeout-minutes. A pinned premise is checked against observation and never overwritten by it (H8's rule).Measured
check-shard-attestation.mjs --emit) is the channel the aggregator already reads.Ruling
--emitwritespredictedSecondsandmeasuredSecondsinto the shard attestation;--verifyapplies the two thresholds above and prints one line per shard in the job summary, with the remedy naming the refresh (CI: the shard-timings file is stale for the CLI package — 672s predicted vs 28m46s measured against a 30-minute timeout, so Test Core shard 1/6 is one slow run from being killed on any PR touching the CLI #16173's command, or the scheduled workflow once it exists).::warning::. Both thresholds are named constants with a self-test case each..github/workflows/ci.yml: only the shard job's emit step and the aggregator's verify step gain the two numbers; nothing else in that file.Serial
Blocked behind #16453 (V, the package-set step), #16455 (X, the test step's environment) and #16454 (W, the capture step): four flights on one workflow file is the fold the seat does not take. Dispatched when those three have merged.
Refs #16173.
Generated by Claude Code