Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I2068 — Verdikt závislý na runneru to říká a jeden studený vzorek není regrese

Zařídit, aby časové verdikty, které předávají CI tohoto repozitáře a hooky jeho adoptérů, rozlišovaly pomalejší změnu od pomalejšího stroje: regrese měření se posuzuje z více než jednoho studeného vzorku a proti zátěži, za které byla změřena, a případ, jehož cena leží do několika procent své hranice zabití, se hlásí jako rozpočtové riziko dřív, než selže sada, jejíž každý případ prošel.

HOTOVO vlna 0 · p2 · profil implementation · bezpečné souběžně

Součást M004 — Výkon je spustitelný důkaz a horká cesta nedělá žádnou kanonickou práci dvakrát.

Cíl

Zařídit, aby časové verdikty, které předávají CI tohoto repozitáře a hooky jeho adoptérů, rozlišovaly pomalejší změnu od pomalejšího stroje: regrese měření se posuzuje z více než jednoho studeného vzorku a proti zátěži, za které byla změřena, a případ, jehož cena leží do několika procent své hranice zabití, se hlásí jako rozpočtové riziko dřív, než selže sada, jejíž každý případ prošel.

Proč

Dne 2026-10-08 tři verdikty shodily změny, které nespustily žádný měřený kód: test/cases/82_bench_check.sh shodil #823 na `version cold — regression: p50 9 -> 23 ms` z jednoho vzorku na přetíženém runneru; test/cases/95_executable_reference.sh stál 3465 s proti rozpočtu 3450 s na pomalém runneru a shodil souhrn sady dávky 3, ačkoli každý případ prošel (znovu spuštěno jednou, zeleně); a pre-push kontrola načtení stránky v prismatic-platform hlásila porušení při zátěži ~30, která samostatně i při opakování prošla. Každý z nich byl znovu spuštěn ručně a každé spuštění stojí skutečný běh patnácti jobů na sdíleném poolu.

Aktuální stav

82_bench_check porovnává jeden studený vzorek s commitovaným základem z macOS při pevném procentním prahu a nezaznamenává zátěž; souhrn sady odmítne případ nad jeho rozpočet na případ bez předchozího varování o rezervě (rozpočet drží pod hranicí zabití 3600 s případ 417); nic ve verdiktu o časování nejmenuje runner, jeho zátěž ani počet vzorků.

Cílový stav

Selhání časování uvádí vzorky, na kterých stojí, runner a jeho zátěž; jeden studený vzorek nad prahem se hlásí jako varování k přeměření a regrese potřebuje, aby opakování souhlasilo; případ, jehož zaznamenaná cena je do 5 % rozpočtu, sada hlásí před během, který ho překročí; mez zabití 3600 s a záruka případu 417 jsou beze změny a žádný práh se nezmírňuje.

Rozsah

  • test/cases/82_bench_check.sh
  • test/cases/95_executable_reference.sh
  • test/cases/417_the_suite_finishes_inside_its_bound.sh
  • scripts/ci/suite-budget
  • apps/majordomus-cli/src/bench

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • Kontrola bench s jedním studeným vzorkem nad prahem hlásí varování uvádějící počet vzorků a neselže; dva shodné vzorky nad prahem selžou jako dosud
  • Každý nález o časování jmenuje runner, počet vzorků a průměrnou zátěž, pod kterou byl změřen
  • Sada hlásí případ, jehož zaznamenaná cena je do 5 % rozpočtu na případ, jmenovitě, dříve než ho jakýkoli běh překročí
  • Případ 417 a hranice zabití jsou beze změny a žádný práh regrese se nezvyšuje

Validace

  • bash test/run.sh 82_bench_check
  • bash test/run.sh 417_the_suite_finishes_inside_its_bound

Požadované důkazy

  • a_single_cold_sample_is_a_warning_and_two_are_a_verdict
  • a_case_near_its_budget_is_named_before_it_fails

Důkazy

pokrývátypcommandvýsledeku commitu
a_single_cold_sample_is_a_warning_and_two_are_a_verdicttestbash test/run.sh 82_bench_check && cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test bench a_single_cold_sample_is_a_warning_and_two_are_a_verdictok 82_bench_check: one cold sample over threshold is WARN on 1 of 1 sample(s) and exits 0; --cold-samples 2 both over is FAIL on 2 of 2 and exits 10; every finding names samples, runner and load. Rust check: 1 sample WARN, 2 agreeing FAIL, verdict line names runner and load44ad51e
a_case_near_its_budget_is_named_before_it_failstestbash test/run.sh 3084_a_case_near_its_budget_is_named 417_the_suite_finishes_inside_its_boundok obojí: suite-budget jmenuje podle případu každou cenu v rámci budget.near_percent (5) rozpočtu případu, v tomto běhu i podle záznamu v suite-durations.tsv, jako NEAR bez změny návratového kódu; případ 417, mez 5300 s a každý rozpočet beze změny44ad51e
a_single_cold_sample_is_a_warning_and_two_are_a_verdicttestbash test/run.sh 82_bench_check && cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test bench82_bench_check ok; --test bench 9 prošlo, 0 selhalo na masteru 707a04c7ce8 (2026-10-17)707a04c
a_case_near_its_budget_is_named_before_it_failstestbash test/run.sh 3084_a_case_near_its_budget_is_named 417_the_suite_finishes_inside_its_boundobojí ok na master 707a04c7ce8 (2026-10-17)707a04c

Časová osa

zahájeno
2026-10-16T07:54:07Z
ověřeno
2026-10-16T07:54:13Z
dokončeno
2026-10-17T21:35:27Z

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I2068.yaml. Přečtěte si ho zpět pomocí majordomus plan show I2068.

Prohledává názvy a popisy všech stránek, které tento web publikuje.