Co to znamená
V úkolu ani milníku není pole status:. Jeho zapsání je neznámý klíč. Úkol zaznamenává, co se s ním stalo — started_at, verified_at, completed_at, cancelled a jeho evidence — a BLOCKED, READY, ACTIVE, VERIFY, DONE nebo CANCELLED vyplývá z těchto faktů spolu se stavem úkolů, na kterých závisí. Stav milníku vyplývá z jeho úkolů a jeho vlastních důkazů.
Princip
lib/project.awk pro každý úkol vypočítá, zda je lokálně hotový (dokončený, ne zrušený, každý požadovaný token důkazu pokrytý), a poté zda nějaká závislost není hotová. Přednost je cancelled, done, verify, active, blocked, ready. Milník je DONE jen tehdy, když je každý úkol, který není zrušen, DONE a jeho vlastní evidence_required je pokryto; když jsou všechny úkoly hotové a důkazy milníku ne, je VERIFY. Aktivní milník je milník s nejnižším pořadím, který je ACTIVE, nebo jinak ten s nejnižším pořadím, který není dokončen.
Jak to vidět
majordomus plan list
# I0002 BLOCKED 1 M000 Define the canonical milestone and issue schema
majordomus plan done I0001
# plan: I0001 DONE
# next ready issue: I0002Co nepokrývá
Odvozování vám nemůže říct, že zaznamenaný fakt je nepravdivý. Je-li completed_at nastaveno na úkolu, jehož práce nebyla nikdy provedena, graf tomu věří — proto plan done bez důkazů odmítá a proto musí být důkazem příkaz.
Proč existuje
Uložený stav je druhý názor. V okamžiku, kdy se může rozejít s grafem závislostí, musí někdo rozhodnout, který z nich má pravdu, a odpověď je vždy graf.