Co to znamená
majordomus handover vezme tělo v Markdownu na standardním vstupu a zapíše jeden nový soubor pod state/handovers/, pojmenovaný časovým razítkem, větví, krátkým commitem a náhodnou příponou. Front matter — verze schématu, časová razítka, id úlohy, profil, vlastník, id repozitáře, worktree, větev, head, pracovní strom, změněné soubory — se počítá. Tělo musí obsahovat každou sekci, kterou politika vyžaduje (ve výchozím stavu # Objective, # Current State, # Next Action), každou neprázdnou; zástupné texty šablony v lomených závorkách se počítají jako prázdné. Soubor se vytvoří s režimem 0600 přes dočasný soubor a pevný odkaz, takže nemůže přepsat existující záznam; žije pod ignorovaným .ai/local/, takže se nikdy neprovede stage ani commit, a na jiný checkout se dostane, jen když je tam přenesen.
Princip
lib/handover.sh ověří tělo awk kontrolou sekcí, odmítne identifikační pole v těle, zapíše dočasný soubor, slinkuje jej na konečný název s až deseti pokusy při kolizi, aktualizuje časové razítko checkpointu úlohy a připojí task.handed_over do knihy. --close navíc nastaví výsledek úlohy na handed_over, aby mohla začít nová úloha. --resolve najde nejrelevantnější dřívější záznam pro tento worktree a branch — nejdřív stejný worktree a branch, pak stejný branch, nikdy záložní řešení přes celý repozitář — a vytiskne jeho štítek git stavu a tělo.
Jak to vidět
printf '# Objective\nfix it\n# Current State\nhalf done\n# Next Action\nfinish it\n' | majordomus handover
# .ai/local/state/handovers/20260903T201455Z--main--9b1e2d4--c0ffee1234567890.md
printf '# Objective\nx\n# Current State\n\n' | majordomus handover
# majordomus: handover: missing or empty section(s): Current State, Next ActionCo nepokrývá
Commit záznamu je lidské rozhodnutí; příkaz pouze vypíše jeho cestu. Nic nesumarizuje; sekce píše pracovník.
Proč existuje
Pouze doplňování, atomicky, nikdy automaticky přidáno do indexu, s povinnými sekcemi vynucenými při zápisu — to byl tvar jediného protokolu kontinuity relací ve zdrojovém prostředí, který skutečně fungoval. Adresář, který nahradil, držel stovky volných poznámek bez schématu.