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.

Milníky a úkoly jsou kanonické soubory repozitáře a klíč, který nikdo nečte, je chyba

Milník je jeden soubor v .ai/repo/project/milestones/, úkol je jeden soubor v .ai/repo/project/issues/ a oba jsou ručně psané YAML ve stejné omezené podmnožině, jakou používá politika. Každý klíč v nich se kontroluje proti seznamu povolených v share/allow/. Klíč, který žádný kód nečte, je selhání majordomus plan validate a majordomus doctor, ne komentář.

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

Stejné pravidlo allowlist, pod kterým žijí politika a profily. Název souboru je id; záznam, který si odporuje se svým vlastním názvem souboru, je odmítnut, ne uveden do souladu.

Co to znamená

Milník je jeden soubor pod .ai/repo/project/milestones/, úkol je jeden soubor pod .ai/repo/project/issues/ a oba jsou ručně psané YAML ve stejné omezené podmnožině, jakou používá politika. Každý klíč v nich se kontroluje proti povolenému seznamu v share/allow/. Klíč, který nečte žádný kód, je selhání majordomus plan validate a majordomus doctor, ne komentář.

Princip

mj_project_load zploští každý soubor, odmítne ten, jehož deklarované id nesouhlasí s názvem souboru, a odmítne dva soubory, které si nárokují totéž id. mj_project_unknown_keys porovná každý zploštěný klíč s share/allow/project.txt, share/allow/milestone.txt nebo share/allow/issue.txt. Pravidlo je to samé, které se už používá pro policy.yaml a pro každý profil, takže v repozitáři existuje jediná odpověď na otázku „co se stane s polem, které nikdo nečte“.

Jak to vidět

printf 'estimate: 3d\n' >> .ai/repo/project/issues/I0001.yaml
majordomus plan validate
# FAIL schema      I0001 — unknown keys: estimate  [reproduce: majordomus plan validate]

Co nepokrývá

Povolený seznam dokazuje, že klíč něco čte. Nedokazuje, že hodnota dává smysl: priority s hodnotou p9 se naparsuje, seřadí se na konec a není chybou nikoho.

Proč existuje

Každé pole, které existuje, ale nikdy se nečte, se nakonec objeví na webu jako fakt. Nejlevnější okamžik, kdy ho odmítnout, je ten, kdy se zapisuje.

Detail vykreslený z docs/claims/project-schema.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Milníky a úkoly jsou kanonické soubory repozitáře a klíč, který nikdo nečte, je chyba

    Učiněno na Planning, Plan.

  2. 2 · kanonické tvrzení

    project-schemadeklarovaný stav: zaručeno v docs/CLAIMS.yaml

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

  3. 3 · implementace

    lib/project.sh

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

    Test: test/cases/40_project_model.sh

    Provedeno v Úkol dokončete, jen když existují jeho důkazy, Plán veďte jako milníky a úkoly, které nástroj umí validovat.

  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 40_project_model

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.