Okamžik
„Kdo tuto změnu provedl, co ji schválilo a co ji ověřilo?“ Dostupná odpověď je commit s lidským autorem, zpráva napsaná pracovníkem a sloučený pull request s jedním schválením. Nic z toho není odpovědí na žádnou ze tří otázek.
Proč k tomu dochází
Git zaznamenává autorství patche, což byl dobrý zástupný údaj, dokud každý řádek psal člověk. Už to neplatí: pole autora zaznamenává, kdo worker spustil, a vše ostatní, na čem záleží — cíl, hranice, platná politika, proběhlé ověření — je buď v konverzaci, nebo nikde.
Proč to lepší model nevyřeší
Neexistuje inference, která obnoví, co nebylo nikdy zaznamenáno. Požádat model, aby z diffu rekonstruoval původ, vyrobí věrohodný příběh, což je při auditu horší než nic.
Co to stojí
V regulovaném prostředí schopnost vůbec doložit kontrolu. Všude jinde schopnost odpovědět na nejčastější otázku při revizi incidentu: co jsme si mysleli, že děláme, a co to ověřilo.
Co Majordomus dělá
Identifikační pole se počítají z gitu a nikdy se nepíšou ručně: záznam, který jmenuje branch, head, pracovní strom nebo sadu změněných souborů, měl tyto hodnoty spočítané v okamžiku zápisu, a pracovník, který je dodá, je chyba, nikoli přepsání. Commit nese úlohu, která jej vyprodukovala. Úloha nese svůj cíl, deklarovaný rozsah a profil, pod kterým běžela. Účetní kniha nese události — zahájeno, checkpoint, rozhodnuto, předáno, dokončeno s typovaným výsledkem a ověřovací příkaz s návratovým kódem a délkou. Generované instrukční soubory nesou hash politiky, která je vytvořila, takže to, která pravidla platila, je sledovaný fakt.
Před a po
before commit 8c31f0e "fix auth" author: a person
after $ majordomus history --task t-20260903193012-a4f1
task_started objective="split the callback validation" profile=implementation
scope=lib/auth,test/auth head=1f0a3c2
decision "normalise before comparing" why=... rejected=...
task_finished outcome=completed verify="make test" exit=0 1m12s head=8c31f0eCo nedělá
Neurčuje, který model nebo dodavatel změnu vytvořil, a nic nepodepisuje. Zaznamenává, co tento repozitář rozhodl, vymezil, spustil a přijal, s identifikačními poli počítanými, ne tvrzenými.