Co to znamená
Neexistuje soubor plánu rozvoje. Plán rozvoje je graf milníků čtený v pořadí závislostí a majordomus plan roadmap jej počítá při každém volání. Pozice milníku vychází z toho, co vyžaduje, ne z toho, kam jej někdo zapsal do seznamu.
Dokud kdekoli existuje ručně psaná tabulka plánu rozvoje — jako v README.md, dokud ji nenahradí routa plánu rozvoje na webu — je tato tabulka vázána modelem v obou směrech. Nesmí uvádět verzi, kterou žádný milník nedeklaruje, a nesmí skrývat verzi, kterou model deklaruje. Smí být shrnutím; nesmí být autoritou.
Princip
mj_validate_roadmap čte verze, které model deklaruje z načtených záznamů milníků, a verze, které uvádí sekce ## Roadmap dokumentu README.md. Verze v dokumentu, kterou žádný milník nedeklaruje, je dokument vymýšlející release. Verze v modelu, kterou dokument vynechává, je dokument, který ji skrývá. Obojí je blokující selhání podle doctor a drift podle watch.
Když sekce zmizí, kontrola projde bez porovnání čehokoli. To je záměrné: doktrína odmítá regresi, nevyžaduje tabulku.
Jak to vidět
majordomus plan roadmap # the sequence, computed from the graph
majordomus doctor # OK roadmap README.md — every version it lists is a milestone
Přidej řádek pro verzi, kterou nedeklaruje žádný milník, a doctor skončí kódem 10 a pojmenuje ji:
FAIL roadmap README.md — lists version(s) no milestone declares: 2.0Co nepokrývá
Porovnává řetězce verzí, ne prózu. Tabulka plánu rozvoje, jejíž popisy zastaraly vůči milníkům, které popisují, přesto projde, protože větu nelze zkontrolovat proti výsledku, aniž by se četlo obojí. Trvalou opravou není lepší kontrola, ale absence tabulky: plán rozvoje na webu vykresluje přímo záznamy milníků.
Neříká také nic o dokumentech, které nezná. Plán rozvoje vložený do wiki nebo slajdu je mimo to, co tento repozitář vidí.
Proč existuje
Plán rozvoje byl markdownová tabulka vyškrabaná do webu generátorem webu a věta „každý krok je podmíněn tím, že předchozí je skutečný“ pod ní stála bez čehokoli, co by tu podmínku vynucovalo. Dvě autority pro tentýž fakt, z nichž jedna byla próza.
Model milníků nahradil tabulku jako zdroj. Tato doktrína brání tomu, aby se tabulka vrátila — protože způsob selhání není, že se někdo rozhodne architekturu opustit, ale že někdo ve spěchu přidá řádek do tabulky a nic nenamítne.