Co to znamená
state/decisions.md byl soubor, který kontrakt dokončení četl a nic nezapisovalo. majordomus decision add jej zapisuje: co bylo rozhodnuto, proč, co bylo zamítnuto, jaké jsou důkazy, která úloha rozhodla a na kterém commitu.
--why je povinné. Rozhodnutí bez zaznamenaného důvodu nelze později posoudit, jen znovu obhajovat, a znovu obhajovat rozhodnutí, jehož zdůvodnění se ztratilo, je způsob, jak tým provede tutéž změnu dvakrát v opačných směrech.
Princip
decision add přidá jednu položku. Task a Head se počítají. Chybějící volitelná pole se zapisují jako - místo vynechání, takže každá položka má stejný tvar a čtenář nikdy nemusí rozlišovat „nepoužitelné“ od „zapisovatel zapomněl“.
Záznam se nikdy neupravuje ani nemaže. --supersedes "<text>" zaznamená, že pozdější rozhodnutí nahradilo dřívější, a odmítne text, který neodpovídá žádnému zaznamenanému rozhodnutí — nahrazení vždy ukazuje na něco skutečného.
decision list vypisuje od nejnovějšího, s --task a --limit; decision show "<text>" vypíše první položku, jejíž titulek odpovídá, a končí kódem 12, když nic neodpovídá, místo aby uspěl s prázdným výstupem. Text uvnitř komentáře HTML je vlastní šablona souboru a není položkou.
check, doctor a watch hlásí záznam, kterému chybí Task, Head nebo Why, jako varování: soubor je záměrně ručně editovatelný a záznam, který nelze nikomu přiřadit, je rozhodnutí, které žádná kontrola nikdy nenajde. deep-work profilu decision_record_required pak odmítne dokončený finish, který nemá žádný záznam jmenující úlohu — právě toto odmítnutí dává varování váhu.
Jak to vidět
majordomus decision add "Normalise the callback URI before comparing state" \
--why "the mismatch is a trailing slash, not a forged state parameter" \
--rejected "relaxing the comparison, which would accept genuinely forged states" \
--evidence "test/auth/callback_test.exs:41"
majordomus decision list --limit 1
majordomus decision show "callback URI"
majordomus decision add "x" --why w --supersedes "a decision nobody made"; echo $? # 2Co nepokrývá
Existuje jedna úroveň rozhodnutí, ne dvě. Volba lokální pro úlohu a architektonická jdou do téhož souboru, rozlišena svým textem. Nic z toho není proces ADR a repozitář, který jej chce, by ho měl držet tam, kde drží ostatní dokumenty.
Nic nekontroluje, že se rozhodnutí dodržuje. Záznam říká, co bylo rozhodnuto; diff říká, co bylo uděláno; jejich porovnání je posouzení, ne kontrola.
Nahrazení je textový odkaz, ne graf. Nic nevykresluje řetěz ani nedetekuje cyklus.
Proč existuje
Rozhodnutí v repozitáři s podporou AI se dělají uvnitř konverzací, které skončí. O šest týdnů později kód ukazuje, co bylo zvoleno, a nic neukazuje, co bylo zamítnuto nebo proč, takže další worker otevírá otázku znovu s menším množstvím informací než ten, kdo ji uzavřel.