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
test(tiers): return every-run calibration and recovery cells to T1 and T2
Brief 40 of the August 2026 audit. Report: dev/review-2026-08/reports/40-t0-retier.md
Constituent changes:
- test(tiers): return the every-run tier's calibration and recovery cells to T1 and T2
- docs(tiers): state the every-run budget in the units CI reports
Copy file name to clipboardExpand all lines: dev/review-2026-08/MAINTAINERS.md
+14-2Lines changed: 14 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -218,7 +218,7 @@ be T1. Budget is the tie-breaker, never the criterion.
218
218
219
219
| Tier | Cadence | Content, by bug class | Budget | Gate |
220
220
|---|---|---|---|---|
221
-
|**T0** every run | local `devtools::test()`; every push to develop and every PR (`fast-checks.yaml`) | contracts, validation, wiring, unit guards, product surface |~90 s of tests | none |
221
+
|**T0** every run | local `devtools::test()`; every push to develop and every PR (`fast-checks.yaml`) | contracts, validation, wiring, unit guards, product surface |**≤ 15 min of tests** in the `fast-checks` job (`timeout-minutes: 30`)| none |
222
222
|**T1** nightly heartbeat | daily 03:00 UTC on **develop** (`nightly-validation.yaml`) | curated calibration subset — graph-law and prior-chain identities, gauge detector, single surface-vs-gold cells, RB saturation, concordance smokes. "Does the settled math still hold tonight" |**≤ 60 min** on the 2-core runner; `timeout-minutes: 90`|`BGMS_RUN_SLOW_TESTS=true`|
223
223
|**T2** weekly certification | Sunday 03:00 UTC on **develop** (`weekly-certification.yaml`) | the heavy Monte-Carlo machinery — SBC suites, full parameter-recovery sweeps, full NUTS-vs-MH condition grids, n = 2e6 MC channels, refit cross-validations (incl. the F-049 gate) |`timeout-minutes: 360`|`BGMS_RUN_CERTIFICATION=true` (the T2 workflow sets **both** vars, so a weekly run also carries T1) |
224
224
@@ -227,7 +227,19 @@ T2 uses the shared `skip_unless_certification()` in
227
227
`tests/testthat/helper-tiers.R`, whose skip message says explicitly that
228
228
`BGMS_RUN_SLOW_TESTS` alone does not enable the block.
229
229
230
-
Two mechanics worth knowing before editing these workflows:
230
+
**Budgets are in CI minutes, and a local number must say which build it came
231
+
from.** The 2026-07-29 audit measured an *optimized* build on a developer
232
+
machine and landed 89.7 s; `devtools::test()` and every CI tier compile a
233
+
*debug* build (`pkgbuild::compiler_flags(debug = TRUE)` is `-UNDEBUG -Wall
234
+
-pedantic -g -O0`). Measured on byte-identical content the build is worth
235
+
**2.38x**, and the 2-core runner a further **~2.31x** over one developer
236
+
machine (`dev/review-2026-08/reports/40-t0-retier.md`). So the audit's 89.7 s
237
+
and anything CI reports were never comparable, and T0 drifted for five weeks
238
+
without the drift being visible to either number. The reference instrument is
239
+
the `fast-checks` job's own test phase. When re-tiering, measure from a run
240
+
that FINISHED, in that job, and quote minutes.
241
+
242
+
Three mechanics worth knowing before editing these workflows:
231
243
232
244
-**Schedules fire from the default branch.** GitHub reads the cron from
233
245
`main`'s copy of a workflow file, so the T1/T2 schedules only start firing
0 commit comments