Co to znamená
Kdykoli se čte záznam úlohy nebo předávka, jeho zaznamenané head a branch se porovnají s aktuálním checkoutem a označí: exact (stejný commit), advanced (zaznamenaný commit je předek aktuálního — běžný postup), diverged (historie byla přepsána nebo je záznam zastaralý), different_context (jiná větev). Zastaralý stav se detekuje a pojmenuje, nikdy se mu tiše nevěří.
Princip
mj_git_label v lib/common.sh porovnává větve, pak commity, pak spouští git merge-base --is-ancestor <recorded> HEAD. check selže na diverged a different_context; handover --resolve vypíše štítek pod Git state: spolu se záznamem; watch hlásí obojí jako drift stavu.
Jak to vidět
majordomus start "t" --scope lib && git commit -qam step
majordomus check # OK state … — advanced (head …)
git checkout -b elsewhere && majordomus check # FAIL state … — recorded on branch 'main', now on 'elsewhere'Co nepokrývá
Štítek popisuje historii gitu, ne to, zda je obsah záznamu stále pravdivý. Sekce Current State může být chybná na commitu exact.
Proč existuje
Každé jiné zkoumané schéma „paměťových souborů“ nemělo vůbec žádný signál zastarání; poznámky nesly data ve svých názvech, která odporovala jejich obsahu, a nic nesrovnávalo ani jedno s gitem. Označování při čtení bylo jediným mechanismem, který učinil uložený stav bezpečným pro jednání.