Co to znamená
Úsek práce skončí a to, co udělal, se stane souborem, který může číst celý repozitář: kdy se otevřel a uzavřel, větev, commit, z něhož vyšel, a ten, na kterém skončil, commity mezi nimi, cesty, které pracovní strom držel změněné, úlohy, úkoly, kontrolní body, předávky, rozhodnutí, otázky a důkazy, které vytvořil, a jak skončil.
Záznam není příběh o relaci. Každé pole je odvozené — časy z hodin, hlavy a commity z gitu, seznamy odkazů z vlastních událostí účetní knihy pro danou epizodu — a jedinou psanou částí je shrnutí práce, zadané na standardní vstup při uzavření epizody.
Princip
majordomus session close ho zapíše do sekce, kterou manifest jmenuje, .ai/repo/sessions/, a nic jiného žádný nezapisuje ani neupravuje. Front matter splňuje share/schemas/majordomus/session-record/session-record.v1.schema.json, z něhož se generuje allow-list share/allow/session-record.txt; schema: session/v1 identifikuje formát a verze, kterou spustitelný soubor nečte, se odmítne, a nehádá se.
Objevování je jeden řádek: třída zdrojů session v .ai/repo/knowledge/sources.yaml. Z ní plynou index, zdroj MCP majordomus://session/<id>, objektové cesty a jejich popis v OpenAPI, uzly session znalostního grafu a stránky registru na webu. Nikde neexistuje seznam relací a uzavření epizody nic neupravuje.
Dvě odmítnutí jsou mechanická, nikoli zapamatovaná. Kontrakt nemá pole pro konverzaci, takže ji záznam nést nemůže a neznámý klíč je chyba — což je project.never-store-transcripts vynucené schématem místo návykem. A žádná hodnota nesmí být absolutní cesta: repozitář je pojmenován svým remote a pracovní kopie worktree_id, hashem, kterým resolver rozliší záznamy tohoto checkoutu od cizích, aniž by prozrazoval, kde který leží.
Jak to vidět
majordomus session close # writes the record, prints its path
majordomus session list # closed episodes, newest first
majordomus session show <id> # one record, whole
majordomus knowledge nodes --kind session # the same records as graph nodes
majordomus doctor # the contract, over every record
test/cases/63_session_records.sh to dokazuje mutací: záznam s neznámým klíčem, s absolutní cestou, s duplicitní identitou a s neznámým schématem, každý odmítnutý jménem, a jedna uzavřená epizoda, která dosáhne do indexu, grafu a výpisu bez čehokoli registrovaného.
Co nepokrývá
Zda je shrnutí k něčemu. Nástroj kontroluje, že záznam existuje, parsuje se, nese každé pole, které kontrakt vyžaduje, a nárokuje si identitu, kterou si nikdo jiný nenárokuje; zda je věta, kterou pracovník o práci napsal, přesná, je úsudek recenzenta, stejně jako u checkpointu nebo rozhodnutí.
Nezveřejňuje ani ledger. Podrobný záznam událostí zůstává v polovině lokální pro checkout, spolu s absolutními cestami a stavem otevřené relace; sdílený záznam jmenuje, co se stalo, a lokální zůstává tomu, kdo checkout drží.
Proč existuje
Záznam už existoval a téměř nikdo ho nedokázal číst, protože byl zapsán tam, kam žádná projekce nedosáhne. Repozitář, který umí vypsat každé pravidlo, tvrzení, rozhodnutí a případ užití přes čtyři povrchy, nedokázal říct, co se stalo minulé úterý — a paměť repozitáře by neměla záviset na tom, kdo byl v místnosti. ADR 0014 zaznamenává rozhodnutí, včetně zveřejnění, které činí ve veřejném repozitáři, a proč je uzavřená množina polí tím, co to činí bezpečným.