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.

I2714 — Jeden build adresář nikdy neslouží úlohám dvou worktree najednou

Zabránit tomu, aby adresář buildu nastavený přes CARGO_BUILD_BUILD_DIR používaly úlohy dvou různých worktrees současně, aby build jedné úlohy nemohl nahradit artefakty, které testuje jiná.

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

Součást development-runtime — The runtime has a development surface.

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

Cíl

Zabránit tomu, aby adresář buildu nastavený přes CARGO_BUILD_BUILD_DIR používaly úlohy dvou různých worktrees současně, aby build jedné úlohy nemohl nahradit artefakty, které testuje jiná.

Proč

2026-10-14 ~17:30Z: úloha rust posuzující I1501 běžela v soukromém build adresáři b6-zeta, zatímco tam stavěl i landing chain jiného worktree a agent; asi 600 doctestů selhalo s „no such file ... libmajordomus_cli-8669a524ae357c6a.rlib“ a projection-closure „could not answer“. Nic z toho nebyla vada headu; čtyřicetiminutovou úlohu bylo nutné spustit znovu. ADR 0139 klíčuje výchozí build adresář podle worktree, ale exportované CARGO_BUILD_BUILD_DIR jej přebíjí pro každý worktree, který je zdědí.

Aktuální stav

mj_cargo_bounded čeká na zámek cargo a na soukromý adresář přejde jen tehdy, když je sdílený obsazený déle než minutu; explicitně exportovaný adresář, který používají dva worktree, se přijme bez hlášení.

Cílový stav

Build zaznamenává, který worktree drží jeho adresář buildu, dokud běží; build z jiného worktree, který najde adresář držený, odmítne, nebo přejde na vlastní adresář, a řekne to, dříve než cokoli zkompiluje.

Rozsah

  • lib/rust_bin.sh
  • docs/DEVELOPMENT_RUNTIME.md
  • .ai/repo/adrs/0139-*.md
  • test/cases

Závislosti

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

Kritéria přijetí

  • Dvě worktree buildující najednou se stejným CARGO_BUILD_BUILD_DIR: druhé odmítne nebo se přesune s řádkem, který jmenuje držitele
  • Opakované buildy jednoho worktree ve vlastním adresáři zůstávají nedotčeny

Validace

  • bin/majordomus plan validate

Požadované důkazy

  • build_dir_has_one_holder_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.

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

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