I3602 — The interaction probe is split, so every control of every page is driven inside its bound
Split the interactions job (scripts/interaction-probe over every page that carries a control) the way I2841 split the site probe: shards of the sorted pages cut by the one stride scripts/site-probe --partition defines, each driving the site job's own build, and a fan-in that proves with scripts/site-probe --verify-report that the shards drove every page once before the gate's receipt. No page and no control is dropped.
BLOKOVÁNO vlna 1 · p1 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I2841 is done. The status is derived from that, not declared.
Cíl
Split the interactions job (scripts/interaction-probe over every page that carries a control) the way I2841 split the site probe: shards of the sorted pages cut by the one stride scripts/site-probe --partition defines, each driving the site job's own build, and a fan-in that proves with scripts/site-probe --verify-report that the shards drove every page once before the gate's receipt. No page and no control is dropped.
Proč
The probe drives every control of every page (project.every-link-and-control-is-tested) and grew with the site: it reached page 1850 of 1865 at a 2400 s bound on 2026-10-12 (run 38202851612), and after the Czech copies doubled the pages, run 39317142394 (alpha.1 top aa936b5371b, 2026-10-19) stopped it at its 3300 s bound. alpha.1 raised the bound to 4800 s to ship; a3 asked for the split right after the alpha so that the bound comes back down and the Czech copies are driven in full rather than sampled.
Aktuální stav
One interactions job rebuilds the site (rustdoc included) and drives every page in one step under a bound that has had to grow with every route the site adds.
Cílový stav
Six interaction-probe-shard jobs drive a stride each of the site job's build (shipped without its composed surfaces, about 26 MB), each under a stated bound well inside its timeout; the interactions job verifies their reports and carries the gate.
Rozsah
- scripts/interaction-probe
- scripts/site-probe
- .github/workflows/validate.yml
- .ai/repo/ci/gates.yaml
- test/cases/3603_every_page_is_exercised_by_exactly_one_shard.sh
- docs/CI.md
Mimo rozsah
- Sampling pages: every control on every page is the rule's promise, and the Czech copies are pages
- The ui audit and the cockpit probe, which have bounds and samplers of their own
Závislosti
Kritéria přijetí
- Shard K of N of the interaction probe drives exactly the pages scripts/site-probe --partition K/N gives for the sorted page list, and writes them to MJ_PROBE_REPORT
- The interactions job refuses reports that drop a page, repeat one or miss a shard, and the gate's receipt requires every shard to have passed
- A malformed MJ_PROBE_SHARD is refused before a browser is opened
- A probe finding still fails the shard that found it, naming the page and the spec
Validace
- bin/majordomus plan validate
- MJ_TEST_JOBS=4 bash test/run.sh 3603_every_page_is_exercised_by_exactly_one_shard 337_every_control_does_what_it_says 3602_every_route_is_probed_by_exactly_one_shard
Požadované důkazy
- interaction_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
- —
- 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.
Canonical record: .ai/repo/project/issues/I3602.yaml. Read it back with majordomus plan show I3602.