136. Každá relace si v intervalu sama dělá brief z jedné schopnosti, kterou jí udržuje před očima mod poskytovatele zapnutý politikou
Kontext
Vlastník nařídil 2026-10-11, že každá relace pracující v tomto repozitáři se udržuje při životě a stručně hlásí bez vyzvání: svůj stav, peery každé nástěnky, mesh, integrační frontu a frontu derive.
Každý z těchto faktů už má vlastníka. lifecycle.episodes a continuity.state drží epizodu a úlohu, peers.list sbírá nástěnku každého checkoutu, runtime meshe drží odkazy a deník, majordomus prs brief říká frontu a derive lock vedle primárního checkoutu říká, kdo derivuje. Relace nečte nic z toho, pokud si nevzpomene, a nic z toho nic neříká nevyžádaně. 2026-10-10 si relace předávaly stav nástěnky ručně. Nástěnka nahrazeného serveru chyběla v každém sběru a žádná odpověď to neřekla.
Rozhodnutí tvarují další dva fakty. prs brief byla soukromá funkce příkazové řádky. A proces příkazové řádky má prázdnou nástěnku peerů a žádný mesh: obojí žije v paměti serveru, který drží lease checkoutu, takže peers.list spuštěné z příkazové řádky čte vlastní prázdnou nástěnku a vydává ji za nástěnku tohoto checkoutu.
Rozhodnutí
Brief skládá jedna schopnost. brief.session je deklarována jednou a promítnuta do příkazové řádky (majordomus brief), HTTP (GET /api/v1/brief), MCP (majordomus_brief) a do přehledu v Cockpitu. Každého vlastníka se zeptá jednou a vrátí jeden řádek a několik dalších, se stavem každé sekce (read, partial, unread, undeclared) a souhrnem, který říká, co se nepodařilo přečíst. Sekce se nikdy nevynechá proto, že její vlastník neodpověděl.
Skládá ho držitel leasu. Proces, který lease nedrží, dotázaný bez volajícího MCP, se ptá držitele leasu po trase, kterou deklaruje registr, s local=true. Server se nikdy neptá zpět, takže skok je jen jednoúrovňový. Brief skládá sám, jen když neodpovídá žádný server, a říká to v answered_by. Server, který lease ztratil, odpovídá svým relacím MCP z vlastní nástěnky, přidá nástěnku držitele leasu a říká, že jeho nástěnka je pro sběr repozitáře nedosažitelná.
Politika deklaruje interval a přepínač. session.brief_interval_minutes (20, když chybí) nese samotný brief, takže ho každý čtenář bere z jednoho místa. session.brief_on_interval je přepínač, deklarovaný ve schématu, kostře a seznamu povolených. Zapíná ho jen true, z důvodu, který ADR 0123 uvedlo pro svůj vlastní přepínač: to, co instaluje, zapisuje do stromu .claude/ adoptéra.
Dva nosiče ji drží před očima relace.
- Briefing startovní události končí tím, co se relaci říká o udržení vlastní bdělosti: hlásit každých N minut z
majordomus briefa naplánovat toto hlášení tam, kde to klient umí. To dosáhne každého poskytovatele, jehož startovní událost Majordomus zachytí. - V Claude Code
capture installzapíše druhý mod poskytovatele,share/mods/claude-code/majordomus-brief, do.claude/skills/majordomus-brief. Je to řádekMJ_CAPTURE_MODSvedle modu předávky a řídí se stejnými pravidly vlastnictví. Tuto práci umí jen mod: stavový řádek a hodiny patří poskytovateli, uvnitř konverzace, a pro žádný se nespouští událost. Mod ukazuje tu jednu řádku jako stavový řádek a obnovuje ji každou minutu. Jednou za interval odešle vlastní prompt, zařazený do fronty, dokud není relace nečinná, který nese brief a žádá o zprávu o dvou až čtyřech řádcích. Prompt, který člověk pošle po intervalu, nese poslední brief.
Důsledky
- Nečinná relace Claude Code se v intervalu probudí a hlásí, zaneprázdněná je upomenuta při dalším promptu. Cena je jeden tah na interval, dokud je relace otevřená, a politika může interval prodloužit nebo vypnout.
- Brief na příkazové řádce hlásí nástěnku a mesh serveru, nebo řekne, že nemohl. „Nikdo tu není“ se už nevypisuje, když pravda zní „nezeptal jsem se“.
- Chování modu drží jeho vlastní test proti enginu (
claude plugin test). Případ 1065 dokazuje polovinu, kterou repozitář vlastní: instalaci, idempotenci, přepínač a tvary příkazové řádky. Žádný případ nespouští mod v živé relaci poskytovatele. prs briefnyní čte schopnost i příkazová řádka. Jeho věta je sekce integrace a ten jeden řádek si drží počet otevřených a další merge.- Produktový povrch
majordomus ui(ADR 0135) v době psaní není na masteru. Až přistane, jeho dashboard čtebrief.sessionjako každá jiná schopnost. Do té doby jej ukazuje přehled Cockpitu.
Zamítnuté alternativy
- Brief skládaný v každém procesu příkazové řádky. Čte prázdnou nástěnku a žádný mesh a hlásí je jako fakta.
- Proud nebo režim sledování. Relace potřebuje souhrn v intervalu, ne každou událost. Proud událostí patří monitoru (ADR 0133).
- Hook nastavení na UserPromptSubmit, který spouští
majordomus brief. Stojí proces při každém promptu, nemůže kreslit stavový řádek a nemůže probudit nečinnou relaci. Vyžadoval by také úpravu.claude/settings.json, což je věc samotného člověka. - Cron v každé relaci, plánovaný samotným workerem. Závisí na tom, že si worker vzpomene, což je právě opravované selhání. Zůstává jako rada, kterou událost start dává poskytovatelům bez modu.