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.

Rozhodnutí uvádí, co uvedlo v platnost, jako typované odkazy, z nichž každý je validován, a opačný směr — čím bylo pravidlo, dokument, implementace či případ rozhodnuto — se čte z grafu znalostí, místo aby se zapisoval podruhé

Rozhodnutí, které změnilo repozitář, je užitečné jen tehdy, když se z něj čtenář může dostat k tomu, co

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

Dopředná hrana je `related` v front matter rozhodnutí – rule:<id>, claim:<id>, file:<path>, test:<path>. Validace odmítne pravidlo, které efektivní sada nemá, tvrzení, které matice nemá, a cestu, kterou repozitář neobsahuje. Extraktor z každého udělá hranu grafu (declares, supports, references, tested_by), jejíž původ je klíč front matter, který ji vyslovil, takže `knowledge edges` odpovídá v obou směrech z jednoho autorského faktu.

Co to znamená

Rozhodnutí, které změnilo repozitář, je užitečné, jen když se čtenář může dostat od něj k tomu, co změnilo, a zpět. Záznam uvádí směr dopředu jednou, v related:

related:
  - rule:majordomus.context-integrity
  - claim:context-coverage
  - file:lib/context_docs.sh
  - test:test/cases/69_context_documents.sh

Opak — které rozhodnutí uvedlo toto pravidlo v platnost, které rozhodnutí tento případ dokazuje — není napsán nikde. Je to týž graf čtený pozpátku. Dvě ručně udržované hrany jsou jedna hrana a jedna věc k zapomenutí; nástroj drží dvojici poctivou tím, že druhou odvozuje.

Princip

related je seznam typovaných referencí a typ říká, kde cíl žije: rule:<id> v efektivní sadě pravidel, claim:<id> v docs/CLAIMS.yaml, file:<path> a test:<path> v repozitáři. majordomus adr check a doktrína adr odmítnou pravidlo, které sada nemá, tvrzení, které matice nemá, a cestu, která neexistuje, a jmenují záznam i referenci.

Extraktor mění každý odkaz na hranu grafu znalostí, přičemž klíč front matter, který jej uvedl, slouží jako provenience: pravidlo je declares, tvrzení je supports, případ je tested_by, soubor je references. Jsou to vlastní názvy relací grafu, ne druhý slovník vymyšlený pro rozhodnutí. Hrana, jejíž cíl neodpovídá žádný uzel, je nález, takže přejmenování, které rozbije odkaz, se nahlásí, místo aby se tiše zahodilo.

related je to, co rozhodnutí uvedlo v platnost. Odkud pochází, je provenance.derived_from — jiná otázka s vlastním slovníkem odkazů, a obojí se nesloučí.

Jak to vidět

majordomus adr show adr-0011                        # the record, with what it names
majordomus adr check                                # every reference resolves
majordomus knowledge edges --type declares          # decisions to the rules they put in force
majordomus knowledge edges | grep adr:adr-0011      # one decision's edges, with provenance

Co nepokrývá

Nic neověřuje, že rozhodnutí jmenuje všechno, čeho se dotýká: odkaz je tvrzení, které učinil člověk, a jeho absence není nález. Rozhodnutí lze také zaznamenat dříve, než jej cokoli implementuje, což je běžný případ návrhu, takže prázdné related je platné. Nástroj zaručuje, že to, co záznam jmenuje, existuje, a že opačný směr nikdy nesouhlasí s dopředným — protože existuje jen jeden.

Proč existuje

Repozitář měl rozhodnutí a měl pravidla, tvrzení, kód a případy a jediným spojením mezi nimi byla próza. Sledovat ji znamenalo grepovat. Dohledatelnost, která žije v paměti čtenáře, je dohledatelnost, kterou nikdo neauditoval, a první přejmenování ji tiše rozbije.

Detail vykreslený z docs/claims/adr-traceability.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Rozhodnutí uvádí, co uvedlo v platnost, jako typované odkazy, z nichž každý je validován, a opačný směr — čím bylo pravidlo, dokument, implementace či případ rozhodnuto — se čte z grafu znalostí, místo aby se zapisoval podruhé

    Vzniklo na Knowledge, Layer.

  2. 2 · kanonické tvrzení

    adr-traceabilitydeklarovaný 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/adr.sh · majordomus adr

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

    Test: test/cases/99_adr.sh

    Provedeno v Zaznamenat rozhodnutí jako data a prokázat, že ho nástroj nemůže přijmout za vás.

  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 99_adr

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.