Co to znamená
majordomus watch je inspekce jen pro čtení všeho, co se může tiše rozejít: politika se změnila po posledním update (drift politiky); generovaný soubor už neodpovídá vlastnímu razítku (drift projekce); záznam úlohy už nepopisuje checkout (drift stavu); dotčené soubory mimo rozsah (drift rozsahu); úloha označená jako předaná bez souboru předávky nebo s chybějící povinnou sekcí (drift předávky); úloha označená jako dokončená bez task.finished v účetní knize (drift ověření); checkpoint starší než interval profilu (zastaralost); úložiště nad limitem (retence). Každý nález jmenuje příkaz, který ho reprodukuje; kód 11, když se cokoli rozešlo.
Princip
lib/watch.sh přepočítá hash politiky a porovná ho s tím, který jmenuje razítko každé projekce, zahashuje obsah každé projekce proti jejímu razítku, načte záznam úlohy a profil, znovu použije logiku rozsahu a divergence z check, prohledá účetní knihu a úložiště předávek a počítá proti limitům retence. Nic nezapisuje.
Jak to vidět
sed -i.bak 's/checkpoint_interval_default: 15m/checkpoint_interval_default: 25m/' .ai/repo/policy.yaml
majordomus watch; echo $?
# DRIFT policy .ai/repo/policy.yaml — policy or profiles changed after the last update [reproduce: majordomus update --dry-run]
# 11Co nepokrývá
watch se nikdy nepoužívá k blokování; drift v rozpracované práci je informace pro člověka. Není to démon; běží, když se vyvolá.
Proč existuje
Drift je to, na co zemřel každý opuštěný nástroj ve zdrojovém prostředí: politika říkala jedno, generovaný soubor druhé, hook třetí a nic je neporovnávalo. Implementována jsou jen deterministická porovnání; nic zde neuhaduje.