I2841 — Prohlížečová sonda webu je rozdělena, takže úloha webu běží dobře uvnitř svého timeoutu
Rozdělit `probe the site in a browser` (scripts/site-probe přes každou trasu při 320, 390 a 1280 px), aby job webu už neběžel na hranici svého timeoutu, a zachovat plný průchod: žádná trasa ani šířka se nevypouští.
AKTIVNÍ vlna 0 · p2 · profil implementation · bezpečné souběžně
Cíl
Rozdělit `probe the site in a browser` (scripts/site-probe přes každou trasu při 320, 390 a 1280 px), aby job webu už neběžel na hranici svého timeoutu, a zachovat plný průchod: žádná trasa ani šířka se nevypouští.
Proč
Změřeno 2026-10-17: job site ve validate trval 46,3 min (master 39034132446), 47,5 min (39039860066) a byl zrušen po 50,4 min vlastním timeout-minutes 50 (39049547899, dávka 71a s navýšením na 0.29.0), v prohlížečové sondě, která sama běžela 35-37 min. Job na 95 % své meze mění rozptyl runneru ve zrušený release běh: tag v0.29.0 se kvůli opakování zpozdil asi o 50 minut. Dávka 71b2 zvyšuje timeout na 65 min, což kupuje rezervu pro v1.0.0-alpha.1, ale nechává sondu růst s každou trasou, kterou web přidá (5330 tras na 25b5fce).
Aktuální stav
Jeden krok v jobu site spouští scripts/site-probe s SITE_PROBE_JOBS=4 pod `scripts/ci/timed --bound 2700`; timeout-minutes jobu je po 71b2 65 (před tím 50).
Cílový stav
Sonda běží jako matice shardů (podle rozdělení rout) v paralelních jobech, nebo ve vlastním jobu vedle sestavení, každý s uvedenou hranicí a naměřenou dobou vedle ní; dohromady pokrývají každou routu při každé šířce, kterou dnes pokrývá jediný krok, což dokládá případ, že sjednocení seznamů rout shardů se rovná seznamu sestaveného webu; job site skončí hluboko pod polovinou svého časového limitu.
Rozsah
- .github/workflows/validate.yml
- scripts/site-probe
- scripts/ci
- .ai/repo/ci/gates.yaml
Mimo rozsah
- Vzorkování routes místo zkoušení všech: každé přetečení, které web měl, pocházelo z kanonických dat ve sdílené šabloně, což žádný vzorek nevidí (komentář nad krokem).
- Cokoli před v1.0.0-alpha.1: Operation Convergence vlastníka, 2026-10-17; 65minutový timeout v 71b2 je rezerva alfy.
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
Kritéria přijetí
- Každou routu při každé šířce, kterou současná sonda navštěvuje, navštíví právě jeden shard a případ odmítne rozdělení, které jednu zahodí nebo zduplikuje
- Úloha webu, nebo každá úloha sondy, zaznamená svou dobu trvání a zůstane pod polovinou svého timeoutu na změřeném runneru
- Nález sondy stále shodí úlohu, která ho našla, a jmenuje routu a šířku
Validace
- bin/majordomus plan validate
- MJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>
Požadované důkazy
- probe_partition_case
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- 2026-10-19T20:38:09Z
- ověřeno
- —
- dokončeno
- —
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/I2841.yaml. Načtěte jej zpět pomocí majordomus plan show I2841.