I1512 — Stav kontrol je něco, na co runtime umí odpovědět
Dát runtime schopnost, která odpoví, jaké jsou kontroly repozitáře a jak dopadl poslední běh každé z nich, aby stav CI přestal být jediným předmětem pozorovatelnosti bez čtenáře na kterémkoli povrchu.
PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně
Součást development-runtime — The runtime has a development surface.
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I1512 bude přijato.
Cíl
Dát runtime schopnost, která odpoví, jaké jsou kontroly repozitáře a jak dopadl poslední běh každé z nich, aby stav CI přestal být jediným předmětem pozorovatelnosti bez čtenáře na kterémkoli povrchu.
Proč
Matice mezer eviduje stav CI jako chybějící a chybí konkrétním a vyhnutelným způsobem: kontroly a jejich plán jsou kanonické — .ai/repo/ci/gates.yaml je deklaruje a scripts/ci-plan --check drží workflow u nich — a žádný povrch nečte stav běhů. Kontroly kvality jsou zaznamenány jako kanonické, implementované a ověřené, a přesto nesou poznámku, že neexistuje žádná schopnost ani pohled na stav kontrol. Tento repozitář opakovaně zaměnil kontrolu, která nikdy nenahlásila, za kontrolu, která prošla; master nesl tři defekty rozbíjející větve, které nikdy nenahlásila, a při merge neexistuje žádná povinná kontrola, takže verdikt, který nikdy nepřijde, je normální případ, ne výjimka. Povrch, který ukazuje stav kontrol, je způsob, jak se to stane viditelným.
Aktuální stav
Kontroly jsou deklarovány a naplánovány. Jejich stav běhu čte člověk na GitHubu a nic v tomto repozitáři. Žádná schopnost, žádná trasa, žádná stránka.
Cílový stav
Runtime odpovídá množinou kontrol a stavem posledního běhu každé z nich, včetně případu, kdy žádný běh nehlásil, což je případ, na kterém nejvíc záleží a který nepřítomný čtenář skrývá.
Rozsah
- apps/majordomus-cli/src/capability/builtin
- scripts/ci
- docs/COCKPIT.md
- test/cases
Mimo rozsah
- Úprava .ai/repo/ci/gates.yaml nebo docs/CI.md. Deklarace kontrol je kanonická a tento úkol ji čte.
- Spouštění kontrol z runtimu. Číst stav neznamená ho provádět.
- Požadavek na token GitHubu pro lokální čtení. Schopnost, která nemůže odpovědět offline, to musí říct, místo aby selhala.
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- Schopnost odpovídá deklarovanou množinou kontrol a posledním známým stavem každé
- Kontrola, která nikdy nehlásila, se rozlišuje od kontroly, která prošla
- Schopnost odpovídá bez přístupu k síti a říká, čeho nemohla dosáhnout
Validace
- bin/majordomus-cli capabilities validate
- bash test/run.sh
Požadované důkazy
- gate_state_is_answerable
- never_reported_is_distinct_from_passed
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í. Chybou, které se vyhnout, je čtečka, která chybějící verdikt vykreslí jako zelený; tento repozitář už za tuto chybu dvakrát zaplatil.
Č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/I1512.yaml. Přečtěte jej zpět pomocí majordomus plan show I1512.