I3180 — Entering a checkout whose executable is missing or stale starts one background build and says building
When the entry hook finds no executable or a stale one, start one deduplicated, detached build under the shared build lock, report 'building' in the banner and the runtime state, and let the next entry or client start the server once it finishes; never compile synchronously in the shell.
BLOKOVÁNO vlna 1 · p2 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I3179 is done. The status is derived from that, not declared.
Cíl
When the entry hook finds no executable or a stale one, start one deduplicated, detached build under the shared build lock, report 'building' in the banner and the runtime state, and let the next entry or client start the server once it finishes; never compile synchronously in the shell.
Proč
Owner standing order 2026-10-12: entering a repository must always end with the server, the mesh and the UI up, building automatically. bin/majordomus-env deliberately never builds and disables auto-start when stale (comment lines 3-7, 56-66), so a fresh clone with direnv allow has no server until a person runs just build. Sources: chatgpt-majordomus:c233#0, chatgpt-majordomus:c233#2.
Aktuální stav
Verified: bin/majordomus-env never builds; bin/majordomus-mcp's launcher can; lib/rust_bin.sh holds the build lock and free-space floor; PR #1312 (in flight; its ADR is not on master yet) makes an MCP client always get a server.
Cílový stav
One background build per stale generation, visible as state 'building', refused below the disk floor with the reason.
Rozsah
- bin/majordomus-env
- lib/rust_bin.sh
- test/cases/191_entry_races.sh
- docs/WORKTREES.md
Mimo rozsah
- Building inside the prompt's critical path
- Building in a repository that only adopts the layer
Závislosti
Kritéria přijetí
- Ten shells entering a cold clone start one build
- The shell returns in its banner budget while the build runs
- A build below the disk floor is refused and named
Validace
- majordomus plan validate
- bash test/run.sh 191_entry_races
Požadované důkazy
- case_entry_builds_once
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/I3180.yaml. Read it back with majordomus plan show I3180.