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á
- I1506BLOKOVÁNO Příkazy životního cyklu se stanou neinteraktivními schopnostmi
- I1507BLOKOVÁNO Úkoly, milníky, relace a peeři se do Cockpitu dostávají jako projekce
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.