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.

Úkol nelze dokončit, dokud chybí požadovaný důkaz

Každý úkol deklaruje evidence_required: tokeny jmenující důkazy, na kterých závisí jeho dokončení. majordomus plan evidence připojí jeden důkaz proti jednomu z těchto tokenů a odmítne token, který úkol nedeklaruje. majordomus plan done odmítne, dokud je některý token nepokrytý. Úkol s nastaveným completed_at, ale s neúplnými důkazy, se odvodí jako VERIFY, nikdy jako DONE.

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Důkazem je příkaz a jeho výsledek, nebo artefakt. Vyprávění se odmítá. Úkol, jehož completed_at je nastaveno, ale jehož důkazy jsou neúplné, se odvozuje jako VERIFY, nikdy DONE.

Co to znamená

Každý úkol deklaruje evidence_required: tokeny pojmenovávající důkazy, na nichž závisí jeho dokončení. majordomus plan evidence připojí jeden důkaz k jednomu z těchto tokenů a odmítne token, který úkol nedeklaruje. majordomus plan done odmítne, dokud je některý token nepokrytý. Úkol, který má nastaveno completed_at, ale jehož důkazy jsou neúplné, odvodí VERIFY, nikdy DONE.

Princip

mj_plan_evidence připojí důkaz k vlastnímu souboru úkolu, s commitem a časovým razítkem, a odmítne bez --command nebo --artifact: vyprávění se jako důkaz nepřijímá. mj_plan_transition zkontroluje každý deklarovaný token před zápisem completed_at. lib/project.awk přepočítá pokrytí při každém čtení, takže odstranění důkazu vrátí úkol do VERIFY, aniž by někdo upravoval stav.

Jak to vidět

majordomus plan done I0001
# majordomus: I0001 has no evidence for: proof (run: majordomus plan evidence I0001 --covers <token> ...)
majordomus plan evidence I0001 --covers proof --type test --command "bash test/run.sh" --result "32 passed"
majordomus plan done I0001
# plan: I0001 DONE

Co nepokrývá

Nástroj zaznamená příkaz a to, co worker řekl, že vyprodukoval. Příkaz znovu nespouští a nepozná pravdivý výsledek od napsaného. Hash commitu uložený vedle důkazů je to, co umožňuje nepravdivý výsledek dodatečně prověřit.

Proč existuje

Uzavření tiketu není důkaz, že se práce stala. Kontrola existuje proto, aby „hotovo“ stálo jeden příkaz.

Detail vykreslený z docs/claims/evidence-gates-done.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Úkol nelze dokončit, dokud chybí požadovaný důkaz

    Učiněno na Planning, Plan.

  2. 2 · kanonické tvrzení

    evidence-gates-donedeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si to na tomto webu · docs/PLANNING.md

  3. 3 · implementace

    lib/plan.sh · majordomus plan

  4. 4 · test a scénáře

    Test: test/cases/41_project_status.sh

    Provedeno v Dokončit úkol, jen když existují jeho důkazy.

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh 41_project_status

Kde se toto tvrzení používá

Okamžiky, na které to odpovídá

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