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.

I2848 — A pre-push gate that runs the executable does not wait on another worktree's build

The before-push gates that run the executable (economics-claims runs `cargo run -- economics check`) use a binary that already exists for the commit's crate, or report the lock wait apart from the gate's own time, so a push is not held for half an hour behind another worktree's build.

PŘIPRAVENO vlna 0 · p1 · profil implementation · bezpečné souběžně

Part of a-change-is-judged-in-minutes — A change is derived in under a second and judged in minutes, and nothing that could have changed is skipped.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2848 bude přijato.

Cíl

The before-push gates that run the executable (economics-claims runs `cargo run -- economics check`) use a binary that already exists for the commit's crate, or report the lock wait apart from the gate's own time, so a push is not held for half an hour behind another worktree's build.

Proč

Measured on 2026-10-21. #1753's pre-push at 86908522991 took 2872 s against a bound of 180 s, and 2158 s of that was economics-claims. .ai/repo/ci/structure-durations.tsv records the same gate at 6 s, so nearly all of it was the `cargo run` waiting for the shared build directory's lock while other sessions compiled. The branch changed no Rust: the crate was byte-identical to master's, and a shared master binary for it existed under ~/.cache/majordomus-master-bin. Nine concurrent pre-pushes on one machine had already led a3 and 9c to allow one push at a time.

Aktuální stav

economics-claims runs `cargo run --quiet --manifest-path apps/majordomus-cli/Cargo.toml -- economics check` (.ai/repo/ci/gates.yaml). It compiles or waits for the shared build lock even when MAJORDOMUS_BIN names a binary of an identical crate. run-plan reports the wait as the gate's own duration.

Cílový stav

A before-push gate that runs the executable uses MAJORDOMUS_BIN, or the bin/majordomus resolution, when it names a binary built from the same crate inputs, and builds only otherwise. run-plan reports time spent waiting for the build lock apart from the gate's own run. A case shows that a branch with no crate change runs economics-claims without invoking cargo.

Rozsah

  • .ai/repo/ci/gates.yaml
  • scripts/ci/run-plan
  • .ai/repo/project/issues/I2848.yaml

Mimo rozsah

  • The shared build directory's own locking and reclaim (I2713, I2787)
  • The one-push-at-a-time rule between sessions, which is coordination on the board

Závislosti

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

Kritéria přijetí

  • With MAJORDOMUS_BIN naming a binary of the commit's crate, economics-claims runs no cargo process
  • run-plan's summary states lock wait and gate time separately for a gate that built
  • Case 3248 fails on a run-plan that calls cargo for economics-claims while a matching binary is named

Validace

  • bin/majordomus plan validate
  • bash test/run.sh 3248_a_pre_push_gate_does_not_wait_on_another_build

Požadované důkazy

  • a_pre_push_gate_reuses_the_binary_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/I2848.yaml. Read it back with majordomus plan show I2848.

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