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.

I1501 — Provádění, které spustí člověk, je provádění, které server vidí

Zařídit, aby `majordomus-cli run` došel k serveru, který tento repozitář servíruje, aby rovina provádění, kterou povrch ukazuje, a rovina provádění, kterou člověk používá, byly tatáž rovina — nebo zaznamenat rozhodnutí, že nejsou, a přestat to na každém povrchu naznačovat.

HOTOVO vlna 0 · p0 · profil implementation · běží samostatně

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

Cíl

Zařídit, aby `majordomus-cli run` došel k serveru, který tento repozitář servíruje, aby rovina provádění, kterou povrch ukazuje, a rovina provádění, kterou člověk používá, byly tatáž rovina — nebo zaznamenat rozhodnutí, že nejsou, a přestat to na každém povrchu naznačovat.

Proč

F2 z tabulky selhání auditu a ten, který rozhoduje, zda historie provádění vůbec může existovat. `run` sestaví registr ve vlastním procesu, provede tam, streamuje na vlastní terminál a skončí; úložiště provedení serveru je jiné úložiště v jiném procesu. Změřeno, ne přečteno: za běhu server po celou dobu hlásil 0 počet, 0 aktivních a 0 zapamatovaných a dřívější běh, který vytvořil pojmenované úspěšné provedení, server také nikdy neviděl. Důsledek je přesný — /cockpit/executions může ukázat jen práci spuštěnou přes tento server pomocí executions.start, vše, co vývojář skutečně spouští, je pro něj neviditelné, a živý kanál z docs/EXECUTIONS.md, který skutečně funguje a streamuje rámce, je okno do roviny, do které téměř nikdo nezapisuje. Spolu s netrvalostí, kterou modul provedení uvádí jako své vlastní rozhodnutí, historie provádění, kterou vývojový povrch potřebuje, dnes neexistuje nikde.

Aktuální stav

Dvě disjunktní roviny. Registr deklaruje executions.start, executions.cancel a executions.events; všechny tři pracují nad vlastním úložištěm přijímajícího procesu. `run` je cesta CLI, která nikdy nekontaktuje server, a nic ve výstupu jedné strany neříká, že ta druhá existuje.

Cílový stav

Běh se buď zaregistruje u serveru repozitáře, takže existuje jedna historie provádění, nebo odmítne naznačovat, že existuje. Ať se zvolí cokoli, uvádí se to tam, kde na to čtenář povrchu provádění narazí, nejen v návrhovém dokumentu.

Rozsah

  • apps/majordomus-cli/src/execution
  • apps/majordomus-cli/src/capability/builtin/executions.rs
  • apps/majordomus-cli/src/commands
  • docs/EXECUTIONS.md
  • test/cases

Mimo rozsah

  • Trvalá fronta, opakování nebo plánovač. Modul provádění uvádí rozhodnutím, že žádné nemá; konvergence obou rovin to znovu neotevírá.
  • Nechat server provádět jménem volajícího, když žádný server neběží. Checkout bez serveru musí být stále schopen spustit schopnost.

Závislosti

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

Kritéria přijetí

  • Provedení spuštěné z CLI, zatímco server servíruje repozitář, je vidět v seznamu provedení tohoto serveru, nebo CLI jasně řekne, že vidět není, a proč
  • Tvrzení je doloženo dotazováním serveru za běhu, ne čtením zdrojového kódu
  • Žádný povrch nepopisuje historii provádění, ke které se žádný zapisovatel nedostane

Validace

  • bash test/run.sh 100_execution_plane
  • bin/majordomus-cli capabilities validate

Požadované důkazy

  • run_is_visible_to_the_server
  • measured_while_in_flight

Důkazy

pokrývátypcommandvýsledeku commitu
run_is_visible_to_the_servertestMJ_TEST_JOBS=2 bash test/run.sh 3024_a_run_is_seen_by_the_server 100_execution_plane 100_environmenttesty: 3 prošly, 0 selhaly; případ 3024 se dotazuje skutečného serveru, zatímco běží CLI, najde jej, zruší ho ze serveru a přečte řádek bez serveru (spuštěno 2026-10-14 16:45Z na master ff3829709616e638596315d6ca42be64b570b74f plus tato změna)ff38297
measured_while_in_flightručníserve --port 0; run executions.demonstrate --input '{\"steps\":6,\"delay_ms\":500}' na pozadí; GET /api/v1/executions po 1,5 s16:46:51Z za běhu: count 1, active 1, state running, actor {kind: cli, pid: 28239}, progress 2 of 6; poté: succeeded, duration_ms 3203. Před touto změnou bylo stejné čtení count 0, active 0 (vlastní měření úkolu)ff38297

Riziko

Střední. Učinit `run` závislým na serveru mění cenu a způsoby selhání nejpoužívanějšího příkazu spustitelného souboru a checkout bez serveru musí dál fungovat. Bezpečný tvar je ten, že se server použije, když už tento repozitář servíruje, a nikdy se kvůli `run` nespouští.

Časová osa

zahájeno
2026-10-14T16:47:04Z
ověřeno
—
dokončeno
2026-10-14T16:47:12Z

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/I1501.yaml. Přečtěte jej zpět pomocí majordomus plan show I1501.

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