I2399 — Každá relace se v intervalech sama briefuje, aniž by se jí to řeklo
Dát každému pracovníkovi supervizovaného repozitáře jeden krátký, typovaný přehled toho, co ho obklopuje (jeho vlastní epizoda a úloha, peeři ze všech nástěnek, mesh, fronta integrace a fronta derive), promítnutý do příkazové řádky, HTTP, MCP a Cockpitu, a nechat mod providera Claude Code, který přepínače politiky zapínají, udržovat tento přehled relaci před očima sám: jako stavový řádek, vkládaný v intervalu, a s relací poučenou při startu, jak se udržet vzhůru.
HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně
Součást development-runtime — The runtime has a development surface.
Cíl
Dát každému pracovníkovi supervizovaného repozitáře jeden krátký, typovaný přehled toho, co ho obklopuje (jeho vlastní epizoda a úloha, peeři ze všech nástěnek, mesh, fronta integrace a fronta derive), promítnutý do příkazové řádky, HTTP, MCP a Cockpitu, a nechat mod providera Claude Code, který přepínače politiky zapínají, udržovat tento přehled relaci před očima sám: jako stavový řádek, vkládaný v intervalu, a s relací poučenou při startu, jak se udržet vzhůru.
Proč
Vlastník dne 2026-10-11 nařídil, aby každá relace Claude Code pracující v tomto repozitáři sama udržovala svou životnost a podávala stručné pravidelné zprávy, aniž by se na ně kdokoli ptal. Fakta už existují na pěti místech (`peers.list`, `mesh.cooperation`, `mesh.state`, `majordomus prs brief`, zámek derive vedle primárního checkoutu) a relace nečte žádné z nich, pokud si nevzpomene; relace z 2026-10-10 si stav nástěnky předávaly ručně a nástěnka nahrazeného serveru tiše chyběla při každém shromáždění. Relace, které se to neřekne, ztichne, a tichá relace se od mrtvé neliší.
Aktuální stav
Žádná schopnost nesestavuje brief: `prs brief` je soukromá funkce příkazové řádky, `peers.list` spuštěné z příkazové řádky čte prázdnou nástěnku vlastního procesu místo nástěnky serveru a runtime mesh odpovídá jen uvnitř serveru. Jediný mod providera je majordomus-handover (ADR 0123). Nic neobnovuje stavový řádek, nic v intervalu nepřipomíná relaci její okolí a briefing SessionStart neříká nic o tom, jak zůstat vzhůru.
Cílový stav
`brief.session` (CLI `majordomus brief`, `GET /api/v1/brief`, MCP `majordomus_brief`) odpovídá jedním řádkem a víceřádkovou formou z pohledu držitele lease: příkazová řádka se ptá serveru, které lease jmenuje jeho checkout, a skládá lokálně, jen když neodpoví žádný, a překonaný server říká, že jeho vlastní nástěnka je pro sběr repozitáře nedosažitelná. Přehled Cockpitu ho ukazuje. `session.brief_on_interval` zapíná druhý provider mod, majordomus-brief, instalovaný příkazem `capture install` vedle modu handoveru: vykresluje řádek jako stavový řádek podle hodin, vkládá víceřádkový brief do konverzace, když je poslední starší než deklarovaný interval, a při startu relace říká workeru, aby si naplánoval vlastní pravidelné hlášení. ADR 0136 zaznamenává rozhodnutí.
Rozsah
- .ai/repo/project/issues/I2399.yaml
- .ai/repo/adrs/0136-every-session-briefs-itself-on-an-interval.md
- apps/majordomus-cli/src/capability/builtin/brief.rs
- apps/majordomus-cli/src/capability/builtin/mod.rs
- apps/majordomus-cli/src/capability/builtin/peers.rs
- apps/majordomus-cli/src/commands/prs.rs
- apps/majordomus-cli/src/commands/brief.rs
- apps/majordomus-cli/src/commands/mod.rs
- apps/majordomus-cli/src/cli.rs
- apps/majordomus-cli/src/lib.rs
- apps/majordomus-cli/src/policy.rs
- apps/majordomus-cli/src/cockpit/pages.rs
- apps/majordomus-cli/tests/brief.rs
- share/mods/claude-code/majordomus-brief/hooks/register.ts
- share/mods/claude-code/majordomus-brief/hooks/register.test.ts
- share/mods/claude-code/majordomus-brief/hooks/hooks.json
- share/mods/claude-code/majordomus-brief/README.md
- share/mods/claude-code/majordomus-brief/.claude-plugin/plugin.json
- share/mods/claude-code/majordomus-brief/.gitignore
- lib/capture.sh
- share/allow/policy.txt
- share/schemas/majordomus/policy/policy.v1.schema.json
- share/skeleton/policy.yaml
- .ai/repo/policy.yaml
- test/cases/1065_a_session_briefs_itself.sh
- docs/BRIEF.md
- docs/README.md
- docs/generated
- docs/PLAN_STATUS.md
- docs/PAGES_STATUS.md
- site/content
- site/data
Mimo rozsah
- Úprava .claude/settings.json nebo nastavení kohokoli: instalace složky modu je věcí `capture install`; jakákoli změna nastavení je rozhodnutím vlastníka.
- Brief pro jiné poskytovatele než Claude Code: schopnost je neutrální vůči poskytovateli, mod patří jen Claude Code, dokud jiný poskytovatel nevystaví stavový řádek a časovač.
- Mesh briefing z ADR 0128 (I2285, není na masteru): až přistane, sekce mesh v briefu jej může číst místo mesh.state.
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- `brief.session` odpovídá jednořádkovým i víceřádkovým briefem se sekcemi pro relaci, peery, mesh, integraci a derive, přičemž každá sekce říká, kdy ji nešlo přečíst, místo aby se vynechala
- Spuštěn z příkazové řádky vedle připraveného serveru, brief nese nástěnku serveru, ne prázdnou nástěnku vlastního procesu příkazu
- Server, který není držitelem lease svého checkoutu, říká, že jeho nástěnka je pro gather repozitáře nedosažitelná
- Přehled Cockpitu vykresluje brief
- `capture install` zapíše .claude/skills/majordomus-brief, když je `session.brief_on_interval` true, a odstraní jím zapsanou kopii, když není
- Mod vykresluje stavový řádek, jednou za interval vkládá víceřádkový briefing a na začátku relace tiskne instrukci keep-awake (claude plugin test)
- ADR 0136 je navrženo a docs/BRIEF.md dokumentuje povrch
Validace
- cargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --lib brief
- cargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --test brief
- bash test/run.sh 1065_a_session_briefs_itself
- bin/majordomus plan validate
Požadované důkazy
- session_brief_case
- decision_recorded
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| session_brief_case | test | MJ_TEST_JOBS=2 bash test/run.sh 1065_a_session_briefs_itself && cargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --test brief | testy: 1 prošel, 0 selhalo; test result: ok. 2 prošly; 0 selhalo (spuštěno 2026-10-14 mezi 07:40Z a 07:58Z na masteru ce5959db59) | ce5959d |
| decision_recorded | artifact | ADR 0136, stav proposed, na masteru ce5959db59 | ce5959d |
Časová osa
- zahájeno
- 2026-10-14T07:59:26Z
- ověřeno
- —
- dokončeno
- 2026-10-14T07:59:34Z
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Kanonický záznam: .ai/repo/project/issues/I2399.yaml. Načtěte jej zpět pomocí majordomus plan show I2399.