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ě
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.