I1959 — Publikace důkazů je typovaná, svázaná se svým buildem a uchovávaná na gh-pages
Přimět scripts/pages, aby volal evidence publish v checkoutu buildu, odmítl datovou sadu, která není vázána na build, a držel důkazy každé nasazené revize na gh-pages pod evidence/<sha>/, a tím vyřadil prozatímní publikaci z PR #577 (ADR 0087, rozhodnutí 3).
BLOKOVÁNO vlna 4 · p1 · profil implementation · běží samostatně
Blokováno. Tento úkol nemůže začít, dokud nejsou I1955, I1954 hotovo. Stav je z toho odvozen, ne deklarován.
Cíl
Přimět scripts/pages, aby volal evidence publish v checkoutu buildu, odmítl datovou sadu, která není vázána na build, a držel důkazy každé nasazené revize na gh-pages pod evidence/<sha>/, a tím vyřadil prozatímní publikaci z PR #577 (ADR 0087, rozhodnutí 3).
Proč
ADR 0087 vyřazuje prozatímní publikaci Recorded by CI, jakmile skript volá evidence publish, a artefakty CI expirují, takže důkazy nasazené revize je musí přežít.
Aktuální stav
scripts/pages evidence (PR #577 s I1949) počítá svůj vlastní stav publikace v shellu; nic neodmítne dataset pro jiný commit; důkazy existují jen jako artefakt CI.
Cílový stav
scripts/pages evidence volá majordomus evidence publish; site-build odmítne dataset, jehož předložený commit není build.json.commit, a každé proven, jehož důkazní commit sestavení neobsahuje; gh-pages drží evidence/<sha> pro každou nasazenou revizi; výpis artefaktů je stránkovaný; publikace webu nese první odpovídající řádek tabulky publikace z rozhodnutí 3 v ADR 0087, takže záznam předka je uveden svým commitem vedle dirty, stale, pending nebo unknown, žádný důkaz není pending nebo unknown s důvodem a unavailable se už nepublikuje, jak rozhodnutí 1 mění ADR 0068, když prozatímní sekce končí.
Rozsah
- scripts/pages
- scripts/site-build
- scripts/site-deploy
- scripts/ci/link-check
- .github/workflows/pages.yml
- .github/workflows/validate.yml
- .ai/repo/ci/pages.yaml
- .gitignore
- test/cases
- test/cases/357_ci_records_evidence.sh
- docs/EVIDENCE.md
- docs/GITHUB_PAGES_ARCHITECTURE.md
- docs/GITHUB_PAGES_PERFORMANCE.md
- docs/CLAIMS.yaml
- docs/claims
- .ai/repo/features/ci.md
Mimo rozsah
- Nová shellová jednotka
- Verdikt spočítaný ve skriptu
Závislosti
- I1955BLOKOVÁNO Publikace důkazů je projekce s povolenými položkami
- I1954BLOKOVÁNO Každý runner se dostane do knihy, přes zaznamenávací branch
Co na tom čeká
- I1960BLOKOVÁNO Každý widget pojmenovává svůj důkaz
- I1961BLOKOVÁNO Nasazení ověřuje cesty důkazů, které publikuje
- I1963BLOKOVÁNO Důkazy jsou testovány od začátku do konce
Kritéria přijetí
- Datová sada důkazů webu vzniká jen příkazem evidence publish, spuštěným v checkoutu sestavení
- site-build odmítne dataset pro jiný commit a proven, jehož důkazní commit sestavení neobsahuje
- Důkazy nasazené revize zůstávají dostupné na gh-pages poté, co vyprší jejich artefakt CI
- Jakmile prozatímní sekce skončí, záznam jen z předka se nikdy nepublikuje jako current, žádný důkaz se publikuje jako pending nebo unknown s uvedením důvodu a unavailable se nepublikuje, jak rozhodnutí 1 z ADR 0087 mění ADR 0068 ¶3 a ¶4; tvrzeno případem 518
Validace
- bash test/run.sh 518_evidence_publication_is_bound_to_its_build
- bash test/run.sh 519_evidence_survives_artifact_expiry
Požadované důkazy
- publication_bound_to_its_build
- evidence_outlives_artifacts
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/I1959.yaml. Přečtěte jej zpět pomocí majordomus plan show I1959.