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.

finish vyhodnocuje kontrakt dokončení řádek po řádku a odmítne, pokud je kterýkoli řádek nesplněn

"Hotovo" je kontrolní seznam, napsaný v politice před zahájením práce a vyhodnocovaný příkazem majordomus finish. Pro completed jsou výchozí řádky: dotčené soubory v rozsahu; ověřovací příkaz proběhl a skončil nulou; záznam úlohy je na úrovni HEAD nebo za ním, nikoli rozbíhavý; k úloze není žádná nevyřešená otevřená otázka; existuje předávka nebo poznámka o dokončení s požadovanými sekcemi. Každý řádek se vypíše jako pass nebo fail. Pokud kterýkoli selže, úloha není přijata, odmítnutí se zaznamená jako událost task.refused a návratový kód je 10.

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

Co to znamená

„Hotovo“ je kontrolní seznam, napsaný v politice před zahájením práce a vyhodnocovaný majordomus finish. Pro completed jsou výchozí řádky: dotčené soubory v rozsahu; ověřovací příkaz proběhl a skončil nulou; záznam úlohy je na úrovni HEAD nebo za ním, nikoli rozbíhavý; k úloze není žádná nevyřešená otevřená otázka; existuje předávka nebo poznámka o dokončení s požadovanými sekcemi. Každý řádek se vypíše jako pass nebo fail. Pokud kterýkoli selže, úloha není přijata, odmítnutí se zaznamená jako událost task.refused a návratový kód je 10.

Princip

lib/finish.sh čte verification.finish_requires z politiky a vyhodnotí každý jmenovaný řádek, spustí --verify-command přes sh -c v kořeni repozitáře a zaznamená jeho příkaz, exit kód, dobu trvání a id gitového stromu, nad nímž běžel; strom se čte na obou stranách běhu a ten, který se pod ním změnil, řádek selže, ne projde. Požadavky profilu se přidají pro completed: cesta regresního testu, když ji profil vyžaduje (heuristika cest, která to říká), záznam o rozhodnutí, když je vyžadován. Při úspěchu nastaví výsledek, připojí task.finished s vyhodnoceným kontraktem a výsledkem ověření do ledgeru a zkopíruje soubor --note pod state/completed/. --check vyhodnotí rozsah a stav bez zápisu, skončí 0 bez aktivní úlohy a je to, co spouští pre-push hook.

Jak to vidět

majordomus finish --outcome completed --verify-command "make test"
# OK   scope         t-… — 12 touched file(s), all within scope
# OK   verification  t-… — make test — exit 0, 41s
# OK   state         t-… — advanced (head 9b1e2d4)
# FAIL blockers      t-… — unresolved entry in open-questions.md  [reproduce: grep -n 'unresolved' .ai/local/state/open-questions.md]
# OK   note          t-… — 20260903T201455Z--main--9b1e2d4--c0ffee.md
# finish: refused, 1 unmet

Co nepokrývá

Spouští ověření, které mu zadáte, a nerozhoduje, na kterých testech záleží. Nerevidouje kód. Každé odmítnutí se zaznamenává jako vlastní tvrzení, finish-refusal-is-recorded.

Proč existuje

Ve zdrojovém prostředí bylo „hotovo“ slovo v přepisu; stavová pole obsahovala volný text jako „mise splněna“ a povinná auditní stopa neměla žádnou kontrolu. Kontrakt vyhodnocovaný příkazem, který umí odmítnout, je rozdíl mezi tvrzením a faktem.

Detail vykreslen z docs/claims/finish-contract.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    finish vyhodnocuje kontrakt dokončení řádek po řádku a odmítne, pokud je kterýkoli řádek nesplněn

    Vytvořeno na Kontrakt dokončení, Finish.

  2. 2 · kanonické tvrzení

    finish-contractdeklarovaný stav: zaručeno v docs/CLAIMS.yaml

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

  3. 3 · implementace

    lib/finish.sh · majordomus finish

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

    Test: test/cases/06_finish.sh

    Provedeno v Odhalte agenta, který tvrdí, že je hotov, a není, Rozhodněte, zda je hotová práce opravdu hotová, Předejte práci s otevřenou otázkou a udržte ji blokující, Zablokujte přijetí kvůli otázce, na kterou nikdo neodpověděl.

  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 06_finish

Kde se toto tvrzení používá

Související tvrzení stejná implementace

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

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