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.

Stav provedení je autoritativní a terminál není

Stav provedení je autoritativní a terminál není

majordomus://rule/project.execution-state-is-authoritative@1aktivní procesagentiorchestrace

Zdůvodnění

Dne 2026-09-10 operátor hlásil, že relace v tomto repozitáři přestanou postupovat, kdykoli záložka terminálu, která je drží, není ta zaostřená, a pokračují ve chvíli, kdy se stiskne klávesa nebo klikne na záložku. Chování není tohoto repozitáře: Claude Code 2.1.267 — nejnovější publikovaná verze toho dne — je přesně takto popsán v anthropics/claude-code issues 36418, 38932 a 46691. Hlášení se shodují na mechanismu: poller, který spotřebovává zprávu dokončeného delegáta, je navázán na vykreslovací smyčku terminálového UI, takže výsledek, který je už vypočten a zařazen do fronty, čeká na stisk klávesy, aby si ho někdo všiml. Všechny tři issues jsou uzavřeny bez opravy — 36418 jako duplikát 25068, ostatní dvě staleness botem, poslední živá reprodukce na jiném operačním systému a jiném multiplexeru.

Upstreamová vada není podstatou. Podstatný je její tvar, protože tento repozitář může ve své práci vytvořit tentýž tvar a má k tomu všechny pobídky: prezentační vrstva byla učiněna nosnou pro sémantiku provádění. To, zda práce delegáta pokračuje, začalo záviset na tom, zda se člověk dívá na okno. To je kategoriální chyba nezávislá na dodavateli, který ji udělal, a pracovník ji tady reprodukuje pokaždé, když bere to, co je na obrazovce, za stav světa.

Repozitář už říká sousední věc o návratových kódech: příkaz, který hlásí chybu, nekončí nulou, protože cokoli dále po proudu má právo věřit návratovému kódu. Toto pravidlo říká obecný případ. Co běh je, žije v jeho návratovém stavu, výstupu, souborech, které zapsal, a zprávách, které poslal. To, co je nakresleno v terminálu, je vykreslení tohoto, vyrobené pro člověka, a může být zastaralé, omezené, odscrollované, bufferované nebo vůbec nenakreslené, aniž by se změnil jediný fakt o běhu.

Požadované chování

O postupu vpřed rozhoduje stav provádění. Worker pokračuje, protože proces skončil, predikát nad skutečným stavem se stal pravdivým nebo dorazil výsledek — nikdy proto, že byla stisknuta klávesa, panel se zviditelnil nebo se překreslil spinner.

Důkazy se čtou podle pořadí autority: nejdřív návratový kód procesu, pak strukturovaný výstup, pak soubory a stavové artefakty, pak zprávy mezi procesy, pak logy a teprve nakonec podoba určená člověku. Když se dva zdroje rozcházejí, odpovědí je ten autoritativnější a samotný rozpor stojí za nahlášení.

Výsledek dokončeného delegáta se spotřebuje okamžitě. Hotová práce se převezme, jakmile existuje. Rodič, který delegoval, se nezastavuje, aby oznámil, že potomek skončil; výsledek spotřebuje, ověří a pokračuje ve workflow jedním dechem.

Závislost na fokusu, vstupu nebo vykreslování je defekt, ne workflow. Kde se taková objeví, pojmenuje se jako implementační defekt a obejde se — supervidovaným spuštěním, souborem stavu, značkou dokončení — místo aby se dokumentovala jako krok, který člověk provádí. Žádat operátora, aby stiskl klávesu a probudil stroj, je poslední možnost poté, co se ukázalo, že programové zotavení neexistuje, nikdy ne první návrh.

Chování při selhání

Většinou posouzení: nic v nástroji nemůže pozorovat renderovací smyčku jiného programu a pravidlo o tom, jak worker uvažuje, není skenem stromu. Jeden jeho tvar je mechanický a scripts/liveness-check — kontrola CI liveness-check v jobu structure — ho hlásí při každém pushi jako unsupervised-spawn: proces odeslaný na pozadí, jehož dokončení nikdo nezaznamenává, tedy práce, o jejímž stavu provádění už nic nerozhoduje. Užší poloviny zbytku jsou project.commands-run-non-interactively a project.every-wait-is-bounded, kvůli nimž toto pravidlo existuje.

Ověření

scripts/liveness-check pro tvar spawnu, prokázaný test/cases/122_liveness_gate.sh; test/cases/121_liveness_doctrine.sh dokazuje samotný objekt tohoto pravidla a páteř závislostí, z níž visí další dvě. Pro vše, co kontrola nevidí: revize a dvě pravidla, která na tomto závisejí. Změna, která činí z povrchu pro člověka předpoklad provádění, se nemerguje.

Odkud to pochází

kanonický soubor
.ai/repo/rules/project/execution-state-is-authoritative.v1.md
identity
project.execution-state-is-authoritative@1
dostupné také jako
Zdroj MCP majordomus://rule/project.execution-state-is-authoritative@1 · majordomus entity show rule/project-execution-state-is-authoritative-1 · GET /api/v1/entity?uri=majordomus://rule/project.execution-state-is-authoritative@1
v Cockpitu
/cockpit/objects/rule/project-execution-state-is-authoritative-1

Tato stránka je generována z výše uvedeného souboru pomocí scripts/generate-site-data; úprava stránky nic nemění, úprava souboru změní všechna rozhraní. Výše uvedené vztahy jsou hrany docs/generated/graph.json, které spustitelný program zapisuje ze stejného indexu.

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