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.

I1505 — Mutující schopnost zanechá trvalou událost a ledger lze přečíst zpět

Dát schopnosti druhu command jeden způsob, jak zaznamenat, co udělala: připojit událost ledgeru, jejíž název deklaruje share/events.yaml, publikovat stejnou změnu do streamu provádění a přidat schopnost čtení ledgeru, aby povrch vůbec mohl zobrazit historii.

BLOKOVÁNO vlna 1 · p1 · profil implementation · běží samostatně

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

Blokováno. Tento úkol nemůže začít, dokud není I1504 hotovo. Stav je z toho odvozen, ne deklarován.

Cíl

Dát schopnosti druhu command jeden způsob, jak zaznamenat, co udělala: připojit událost ledgeru, jejíž název deklaruje share/events.yaml, publikovat stejnou změnu do streamu provádění a přidat schopnost čtení ledgeru, aby povrch vůbec mohl zobrazit historii.

Proč

R5 z kořenových příčin auditu: nikde neexistuje vývojová historie. Trvalá vrstva je lokální ledger s vlastním slovníkem, živá vrstva je na proces a po skončení zapomíná a běh nezapisuje ani do jedné. Vývojový povrch, který neumí odpovědět, co se stalo včera, je dashboard aktuální sekundy. Obě vrstvy se také z podstaty rozcházejí — živý kanál funguje a streamuje rámce, a je to okno do roviny, do které téměř nic nezapisuje —, takže sjednocení toho, co mutace zaznamenává, je předpokladem jakékoli pozdější stránky, ne zdvořilost.

Aktuální stav

share/events.yaml deklaruje názvy událostí. Kniha záznamů se zapisuje na straně shellu a nemá schopnost čtení. Provádění si pamatuje jen proces, který je přijal, což modul provádění uvádí jako své vlastní rozhodnutí.

Cílový stav

Jedna mutace vytvoří jednu trvalou událost a jeden živý frame, z jednoho místa v kódu, a trvalou polovinu lze číst přes registr jako cokoli jiného.

Rozsah

  • apps/majordomus-cli/src/capability/builtin
  • apps/majordomus-cli/src/execution
  • share/events.yaml
  • lib/plan.sh
  • test/cases

Mimo rozsah

  • Trvalá fronta provádění. Trvanlivost záznamu událostí není trvanlivost provedení a to druhé je uvedený nevýhledový cíl.
  • Druhý slovník. Názvy událostí jsou ze share/events.yaml a tento úkol do toho souboru přidává, ne vedle něj.

Závislosti

Co na tom čeká

Kritéria přijetí

  • Mutace schopnosti druhu command připojí událost, jejíž název deklaruje share/events.yaml
  • Stejná mutace dosáhne proudu provádění
  • Ledger je čitelný přes schopnost, na každém povrchu, který registr promítá
  • Restart neztratí trvalou polovinu

Validace

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

Požadované důkazy

  • mutation_leaves_an_event
  • ledger_is_readable

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á.

Riziko

Střední. Dva zapisovatelé jedné historie jsou vada, kterou tento úkol odstraňuje, takže implementace, která přidá třetí typ záznamu, ji zhoršila.

Č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/I1505.yaml. Načtěte jej zpět pomocí majordomus plan show I1505.

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