I1955 — Publikace důkazů je projekce s povolenými položkami
Přidat evidence publish, který čte knihu commitovanou v předloženém commitu, záznamy běhů a pokrytí, uplatní monotónní pravidlo a zapíše publikaci ze seznamu povolených spolu s jejím stavem publikace, přičemž text prochází jen jediným redaktorem (ADR 0087, rozhodnutí 3 a 14).
BLOKOVÁNO vlna 3 · p1 · profil implementation · běží samostatně
Blokováno. Tento úkol nemůže začít, dokud není hotový I1953. Stav se z toho odvozuje, nedeklaruje.
Cíl
Přidat evidence publish, který čte knihu commitovanou v předloženém commitu, záznamy běhů a pokrytí, uplatní monotónní pravidlo a zapíše publikaci ze seznamu povolených spolu s jejím stavem publikace, přičemž text prochází jen jediným redaktorem (ADR 0087, rozhodnutí 3 a 14).
Proč
Web potřebuje typovaný dataset, jehož verdikty jsou verdikty sledovaného ledgeru v commitu sestavení. Prozatímní publikace z ADR 0068 počítá svůj stav v shell skriptu.
Aktuální stav
scripts/pages evidence (PR #577, s I1949) zapisuje site/data/evidence.json z artefaktu CI; žádná typovaná publikace neexistuje.
Cílový stav
majordomus evidence publish --presented <commit> --presented-tree <state> --from <dir> --out <dir> zapíše EvidencePublication, jejíž jediný stav (dirty, stale, current, pending nebo unknown) je první odpovídající řádek tabulky publikace z rozhodnutí 3 v ADR 0087, jejíž každé pole je na allow-listu a jejíž každý text prošel redaktorem.
Rozsah
- apps/majordomus-cli/src/evidence
- apps/majordomus-cli/src/capability/builtin/evidence.rs
- apps/majordomus-cli/src/cli.rs
- apps/majordomus-cli/src/commands/evidence.rs
- apps/majordomus-cli/tests/evidence_publication.rs
- test/cases
- docs/EVIDENCE.md
- docs/CLAIMS.yaml
- docs/claims
- .ai/repo/features/evidence.md
Mimo rozsah
- scripts/pages a build webu, které patří I1959
- Zvýšení verze
Závislosti
- I1953BLOKOVÁNO Důkazy odpovídají podle subjektu, na každém povrchu
- I1950HOTOVO Text vypsaný během běhu se redaguje jednou sadou pravidel
Co na tom čeká
- I1957BLOKOVÁNO Čte se každý řádek testu a místní běh zůstává místní
- I1958BLOKOVÁNO Důkazy mají jednu trasu na subjekt a každý panel je spojen se svým subjektem
- I1959BLOKOVÁNO Publikace důkazů je typovaná, vázaná na svůj build a držená na gh-pages
Kritéria přijetí
- Publikace nese jen pole ze seznamu povolených a pole mimo seznam se nepublikuje
- Každý text, který nese, prošel jediným redaktorem a artefakt projde generate::forbidden_in
- Stav publikace je první odpovídající řádek tabulky publikace z rozhodnutí 3 v ADR 0087 (dirty, stale, current, pending, unknown), určený z toho, co publikace pozoruje: dirty sestavení, které záznam také popírá, se čte jako dirty a jmenuje záznam, běh dokončený bez záznamu se čte jako unknown a záznam pouze předka se nikdy nečte jako current
- Žádný verdikt v něm není silnější než kniha commitnutá v předloženém commitu
Validace
- bash test/run.sh 512_evidence_publication_is_a_projection
- cargo test --test evidence_publication
Požadované důkazy
- publication_allow_listed
- publication_states_defined
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á.
Č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/I1955.yaml. Přečtěte ho zpět pomocí majordomus plan show I1955.