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.

I1954 — Každý runner dosáhne na ledger přes větev záznamu

Zapojit běhy trunku do záznamové branch z ADR 0080 a každý runner do změřeného reportu, aby po merge do masteru následoval jeden záznamový pull request měnící jen knihu (ADR 0087 rozhodnutí 1, 6 a 16).

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

Součást test-evidence — Každé ověřitelné tvrzení a widget se na každém povrchu převádí na testovací důkaz vázaný na revizi.

Blokováno. Tento úkol nelze začít, dokud není hotov I1951. Stav se z toho odvozuje, nedeklaruje.

Cíl

Zapojit běhy trunku do záznamové branch z ADR 0080 a každý runner do změřeného reportu, aby po merge do masteru následoval jeden záznamový pull request měnící jen knihu (ADR 0087 rozhodnutí 1, 6 a 16).

Proč

CI spouští každý test při každém merge a nic z toho neukládá do sledované účetní knihy. Dokud to nepřistane, kniha obsahuje jen lokální řádky a web vykresluje většinou not_run.

Aktuální stav

Žádný workflow nezaznamenává běhy CI do sledovaného ledgeru. Report spouštěče sady nemá sloupec důvodu ani měření a spouštěče crate a pokrytí neemitují žádný původ.

Cílový stav

Běh na trunku, po mergi i podle plánu, zaznamenává s --origin ci a s důkazním razítkem původu measured a otevře nejvýše jeden zaznamenávací pull request, jehož diffem je ledger, pomocí tokenu, jehož události spouštějí povinný workflow; trunkový commit, který už pokrývá commit zapsaný do ledgeru (commit nejnovějšího provedení ci je v něm obsažen a od té doby se nezměnilo nic kromě ledgeru), stejně jako přistání zaznamenávacího pull requestu na commitu, který změřil, žádné zaznamenávání nespouští, zatímco commit jen s ledgerem nad mergem, který žádné přistálé zaznamenávání nepokrývá, se zaznamená; report každého runneru nese svou revizi a důvod, proč případ neprošel.

Rozsah

  • .github/workflows/validate.yml
  • scripts/ci/evidence-collect
  • scripts/rust-check
  • scripts/rust-coverage
  • scripts/shell-coverage
  • test/run.sh
  • test/cases/94_ci_plan.sh
  • test/cases/357_ci_records_evidence.sh
  • test/cases
  • .ai/repo/automation/inventory.jsonl
  • docs/EVIDENCE.md
  • docs/COVERAGE.md
  • docs/CLAIMS.yaml
  • docs/claims
  • .ai/repo/features/evidence.md
  • .ai/repo/features/ci.md
  • .ai/repo/features/coverage.md

Mimo rozsah

  • Commit ledgeru z validačního běhu
  • Nová shellová automatizace (ADR 0069)
  • Nechat požadovanou kontrolu ci záviset na úloze důkazů

Závislosti

Co na tom čeká

Kritéria přijetí

  • Provedení z běhu na trunku se dostanou do sledovaného ledgeru jen přes záznamový pull request, jehož diff je samotný ledger, a otevřený je nejvýše jeden takový pull request
  • Záznamový pull request spouští povinný workflow tokenem, který zvolil vlastník
  • Pokrytý commit trunku nezačíná žádný záznam, ať jeho běh zahájil merge nebo plán: nejnovější provedení ci v knize commitnuté v něm jmenuje commit, který obsahuje, a od té doby se nezměnilo nic než .ai/repo/evidence/ledger.json, takže přistání pull requestu se záznamem na commitu, který změřil, neotevírá žádný další (ADR 0087 rozhodnutí 1); ověřeno případem 510
  • Commit pouze s ledgerem, který přistane nad mergem, jejž žádný přistálý záznam nepokrývá, se zaznamená během, který jeho přistání spustí, i plánem: případ 510 přistane záznam jednoho mergu nad pozdějším mergem, jehož záznam se ztratil, a tvrdí, že další běh zaznamená, místo aby se zastavil
  • Záznamový job, který nemůže porovnat commit účetní knihy s commitem kmene, selže a řekne proč a nezaznamená ani se nezastaví jako pokrytý; tvrdí to případ 510
  • Zpráva každého runneru nese commit a strom, které jeho běh měřil, a případ, který neprošel, nese svůj důvod

Validace

  • bash test/run.sh 510_ci_evidence_reaches_the_ledger_through_a_recording_branch
  • bash test/run.sh 511_every_runner_report_carries_its_revision_and_reason
  • bash test/run.sh 357_ci_records_evidence
  • bash test/run.sh 94_ci_plan

Požadované důkazy

  • recording_branch_wired
  • recording_stops_at_a_covered_commit
  • recording_resumes_over_an_unrecorded_merge
  • runner_reports_measured

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

Čeká také na PR #629 (slovo skip), PR #587 (nový shell odmítnut), PR #566 a PR #355 a na volbu tokenu vlastníkem (ADR 0087, rozhodnutí 16). Každý záznam stojí běh celé sady.

Č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/I1954.yaml. Přečtěte jej zpět pomocí majordomus plan show I1954.

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