Co to znamená
majordomus context vypíše jeden briefing: identitu gitu, úlohu a profil, který ji omezuje, otázky blokující přijetí, nedávná rozhodnutí, nejnovější checkpoint, nejrelevantnější předávku, soubory už dotčené v rozsahu a nedávnou historii — v tomto pořadí. Pracovník, který ztratil konverzaci, spustí jeden příkaz a má, co potřebuje, aniž by četl přepis nebo rekonstruoval stav z cizí paměti.
Pořadí je pořadí autority a je záměrné. Nejprve git, protože je to jediné, co nemůže být zastaralé. Pak úloha a její profil, protože říkají, co se smí dělat. Pak blokátory, protože mění, co lze přijmout. Dále psané záznamy a historie událostí nakonec, protože je to nejslabší důkaz o přítomnosti.
Princip
mj_context_sections v lib/context.sh zapíše každou sekci do číslovaného souboru, pak je mj_ctx_render spojí v tomto pořadí s hlavičkou a patičkou. Které sekce existují, určuje blok context aktivního profilu: context.decisions, context.relevant_files, context.recent_history_depth, context.architecture_notes, context.current_state, context.task, context.knowledge s context.knowledge_max_items (ukazatele na znalosti: na co odkazuje úkol dané úlohy, nikdy celý graf; test/cases/3073_context_knowledge_slice.sh). Úloha routine dostane úlohu a stav; deep-work dostane rozhodnutí repozitáře, nejen svá vlastní.
Toto je jediný kód, který tato pole čte. Než existoval, zapisoval je init a nečetlo je nic, takže byla dokumentací v převleku za konfiguraci.
Každé vynechání se vypíše pod EXCLUDED s polem, které ho způsobilo — decisions — profile routine sets context.decisions: false — takže nedostatečně naplněný kontext se ladí čtením seznamu, ne hádáním.
Nic se netrvá. Výstup se při každém běhu přepočítá ze záznamů a gitu, takže se nemůže stát zastaralým artefaktem sebe sama.
Jak to vidět
majordomus start "fix the callback" --scope lib/auth --profile debugging
majordomus context
# ## GIT / ## TASK / ## PROFILE debugging / ## OPEN QUESTIONS / ## DECISIONS ...
majordomus context --json | jq '[.sections[].id]'
# ["profile","questions","decisions","checkpoint","handover","files","history"]
# the same task under a profile that asks for less
majordomus context | sed -n '/## EXCLUDED/,$p'Co nepokrývá
Neměří, co worker poté čte. Briefing se nabízí; nic nepozoruje, zda byl použit, a tvrzení minimum-context zůstává doporučením přesně z tohoto důvodu.
Nezachycuje výstup příkazů. Profil s context.failing_output: true se to upřímně dozví v seznamu vyloučení: Majordomus nespouští vaše testy a nemůže vám vložit jejich výstup.
Záznamy vybírá, neposuzuje je. Předávka s chybnými tvrzeními je zahrnuta a označena tím, jak daleko se git od jejího napsání posunul.
Proč existuje
Alternativa, po které sahá každý repozitář s pomocí AI jako první, je ukládání konverzace, a selhává třemi způsoby: přepis není stav, roste s relací, ne s prací, a zastarává, aniž by to řekl. Výběr z typovaných záznamů, v pevném pořadí a s pojmenovanými výjimkami, je verze téhož nápadu, která přežije střet s repozitářem, jenž se neustále mění.