Okamžik
Přes noc běžely tři relace. Jedna skončila, jedna byla předána, jedna se někde zastavila. Otázka je jednoduchá — co bylo zahájeno, co přijato, na kterém commitu — a jediným materiálem je adresář s logy chatů a git log, který říká „wip“.
Proč k tomu dochází
Přepis je záznam toho, co bylo řečeno, ne toho, co se stalo. Je dlouhý, vyprávěcí, ve slovech, která si worker zvolil, a fakta, na nichž záleží — úloha, head, výsledek — jsou v něm zředěná nebo chybí. Když adresář s poznámkami ve zdrojovém prostředí dosáhl deseti gigabajtů a patnácti set souborů, obnova pracovního stavu znamenala sepsaný runbook a až půl hodiny času člověka. Úložiště, které jen roste, ve formátu čitelném jen pro člověka, není důkaz; je to archiv, který nikdo neotevře.
Proč to lepší model nevyřeší
Požádat model o shrnutí přepisů vyprodukuje plynulý odstavec bez původu, což je tentýž problém o úroveň výš. Chybí strukturovaná událost v okamžiku, kdy nastala; nic zpětně získané z prózy nemá stejné postavení.
Co to stojí
Půl hodiny senior člověka každé ráno, aby vznikla odpověď, která je rekonstrukcí, ne čtením. A odpovědi nelze natolik věřit, aby se podle ní jednalo bez ověření, takže se často vyrábí dvakrát.
Co Majordomus dělá
Každá událost, kterou nástroj zaznamená — spuštěná úloha, checkpoint, rozhodnutí, otevřená či vyřešená otázka, předávka, finish s výsledkem a exit kódem ověření — je jeden řádek v knize pouze pro přidávání a slovník událostí je uzavřený při vstupu i při výstupu. majordomus history ji čte zpět jako provozní historii: filtrovanou podle úlohy, události a času, od nejstarší, aby se řádky jedné úlohy četly jako vyprávění, s --json pro surové řádky. Řádek, který nástroj nedokáže parsovat, je selhání v history --validate, doctor, check a watch, protože kniha, kterou nelze parsovat, nemůže být důkazem.
majordomus search je druhá polovina: doslovné vyhledávání bez ohledu na velikost písmen napříč předávkami, checkpointy, rozhodnutími, otázkami, prompty a ledgerem, v tomto pořadí, protože v tomto pořadí jim lze věřit. Záměrně to není index ani embedding.
Před a po
before $ ls .sessions/ | wc -l ; grep -ri "auth" .sessions/ | less
1500
after $ majordomus history --since 12h
task_started t-…a4f1 profile=implementation head=8c31f0e
decision t-…a4f1 "normalise the callback URI before comparing"
handover t-…a4f1 advanced
task_finished t-…b207 outcome=partial verify=make test exit=0 1m12sJak to ověřit
Proveďte úlohu přes start, checkpoint a finish a pak přečtěte history --task <id>. Každý řádek je událost z uzavřeného slovníku s fakty vypočtenými z gitu; poškoďte řádek a history --validate, doctor, check i watch selžou.
Co nedělá
Nezaznamenává nic o tom, co kdo řekl; v účetní knize není žádný přepis a není způsob, jak jej tam dostat. Nic neshrnuje, neřadí ani neinterpretuje. Řazené nebo sémantické vyhledávání nad záznamy bylo zvažováno a zamítnuto a matice tvrzení to nese jako zamítnutý řádek, místo aby to nechala plánu rozvoje.