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.

Případ užití ani aplikace nemůže pojmenovat příkaz, doktrínu nebo tvrzení, které neexistuje, a oba katalogy se nemohou rozcházet v tom, co se na co vztahuje

Případy užití v .ai/repo/use-cases/ a aplikace v .ai/repo/applications/ popisují, k čemu Majordomus je. Každý příkaz, kterým případ užití prochází, každé pravidlo, o které se opírá, a každý slib, který dává, je odkaz na něco jiného v repozitáři, a každý takový odkaz se kontroluje. Stejně tak vztah mezi oběma soubory: případ užití jmenující aplikaci, která ho nejmenuje zpět, je selhání, ne asymetrie, které si někdo časem všimne.

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

Próza popisující nástroj se kontroluje stejně, jako se kontroluje nástroj sám. Křížové odkazy se ověřují v obou směrech, takže případ užití jmenující aplikaci, která jej nejmenuje zpět, je selhání, ne tichá asymetrie. Aplikace, která nedeklaruje žádné does_not_fit_when, se odmítne, protože katalog, který uvádí jen to, kam se hodí, je marketing.

Co to znamená

Případy užití v .ai/repo/use-cases/ a aplikace v .ai/repo/applications/ popisují, k čemu Majordomus slouží. Každý příkaz, kterým případ užití prochází, každé pravidlo, o které se opírá, i každý slib, který dává, je odkaz na něco jiného v repozitáři — a každý z těchto odkazů se kontroluje. Stejně tak vztah mezi oběma soubory: případ užití, který pojmenuje aplikaci, jež jej nepojmenuje zpět, je chyba, ne asymetrie, které si někdo časem všimne.

Princip

mj_validate_catalogue v lib/doctor.sh zploští oba registry vlastním čtečem YAML nástroje a každý odkaz rozliší proti tomu, co jej definuje: příkazy proti docs/CLI.md, doktríny proti rozlišené sadě pravidel přes mj_doc_index, tvrzení proti docs/CLAIMS.yaml. Křížové odkazy mezi oběma katalogy kontrolují v obou směrech mj_cat_has a mj_cat_back. Aplikace, která nedeklaruje does_not_fit_when, je rovnou odmítnuta.

Doktrína majordomus.catalogue-integrity je blokující a vynucují ji doctor a watch, takže totéž pravidlo odpovídá na „je katalog v pořádku“ i „rozešel se“ bez druhé implementace. scripts/generate-site-data opakuje rozlišení při sestavení stránek a odmítne vydat výstup, pokud cokoli visí — rozbitý odkaz se na publikovaný web nedostane.

Jak to vidět

majordomus doctor
# OK catalogue  6 use case(s), 4 application(s) — every command, doctrine, claim and cross-reference resolves, both directions

Změňte id doktríny v případu užití pod .ai/repo/use-cases/ na neexistující a doctor pojmenuje případ užití, chybějící id a příkaz, který vypíše skutečná; majordomus usecase validate vypíše tytéž řádky.

Co nepokrývá

Rozlišení není přesnost. Případ užití, jehož kroky jsou ve špatném pořadí nebo jehož situace popisuje problém, který nikdo nemá, projde všemi zdejšími kontrolami — každý odkaz existuje. Vynucuje se, že katalog nemůže popisovat jiný nástroj než tento; zda je popsané k něčemu, je úsudek, který žádný validátor neučiní.

Proč existuje

Dokumentace k nástroji se rozchází rychleji než nástroj a rozchází se tiše, protože ji nic nespouští. Každé selhání, na kterém tomuto projektu záleží, má stejný tvar — něco je deklarováno, nic nekontroluje, že deklarace stále odpovídá skutečnosti — a próza je největší plocha, kde se to obvykle toleruje. Chápat případ užití jako sadu odkazů, ne jako text, ho činí ověřitelným, a to je jediný důvod psát ho jako data.

Detail vykreslený z docs/claims/catalogue-resolves.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Případ užití ani aplikace nemůže pojmenovat příkaz, doktrínu nebo tvrzení, které neexistuje, a oba katalogy se nemohou rozcházet v tom, co se na co vztahuje

    Vytvořeno na Use cases, Doctor.

  2. 2 · kanonické tvrzení

    catalogue-resolvesdeklarovaný stav: zaručeno v docs/CLAIMS.yaml

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

  3. 3 · implementace

    lib/usecase.sh · majordomus usecase

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

    Test: test/cases/28_catalogue.sh

    Provedeno v Přidat případ užití a nechat nástroj dokázat jej.

  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 28_catalogue

Kde se toto tvrzení používá

pokryté odpovědnosti

Související tvrzení stejná implementace

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