Co potřebuje vědět ten, kdo bude pracovat dál? Pouze pro čtení. Sestaví trvalý stav do jednoho briefingu a vypíše ho. Nic se neukládá, nevolá se žádný model a výstup je projekce: každý řádek se při každém spuštění znovu spočítá ze záznamů a gitu.
Pořadí sekcí je pořadí autority. Nejdřív git, protože je jediný, který nemůže být zastaralý; pak úloha a profil, který ji omezuje; pak blokátory, které mění, co lze přijmout; pak ručně psané záznamy; nakonec historie událostí, protože je to nejslabší důkaz o přítomnosti.
| Sekce | Zdroj | Zahrnuto, když |
|---|---|---|
GIT | git | vždy |
TASK | state/current.yaml | úloha je aktivní a context.task profilu není false |
PROFILE | profiles/<name>.yaml | úloha jmenuje profil, který existuje |
CONTEXT DOCUMENTS | .ai/**/README.md (kontrakt kontextu) | úloha je aktivní; pro každou z cest jejího rozsahu se vypíše účinný řetězec |
OPEN QUESTIONS | state/open-questions.md | jakákoli nevyřešená položka jmenuje tuto úlohu |
DECISIONS | state/decisions.md | context.decisions: true (tato úloha) nebo context.architecture_notes: true (repozitář) |
REASONING | state/reasoning/<task>/, vykresleno pomocí majordomus-cli reasoning status --report | úloha má záznamy uvažování a context.decisions: true |
LATEST CHECKPOINT | state/checkpoints/ | pro tuto úlohu se rozliší checkpoint |
LATEST COMPATIBLE HANDOVER | state/handovers/ | předávka se vyřeší pro tento worktree a větev |
| knowledge candidates | .ai/repo/knowledge/candidates/ | v odvozeném briefingu, za otevřenými otázkami a před předávkou: kandidáti čekající na review, jejichž epizoda byla na této větvi, počet a id, omezeně; nepřiřazení na vlastním řádku; absence se vypíše, ne vynechá |
KNOWLEDGE POINTERS | graf znalostí (majordomus knowledge), zkompilovaný při tomto čtení | context.knowledge: true a úloha pojmenovává úkol: viz níže |
FILES TOUCHED IN SCOPE | git | context.relevant_files: true |
RECENT HISTORY | state/ledger.jsonl | context.recent_history_depth je nad nulou |
PROMPT | prompts/<name>.md | --prompt <name> bylo zadáno |
Toto je jediný kód, který čte blok context profilu, a právě to dělá z těchto polí stav, ne dokumentaci.
Rozpočet. context.builder_budget_lines v politice, nebo --budget-lines. Když sestavený text rozpočet překročí, sekce se vypouštějí v pevném pořadí — historie, soubory, rozhodnutí, potom těla kontrolního bodu a předávky, která degradují na odkaz, místo aby zmizela. Git, úloha, profil a blokátory se nevypouštějí nikdy. Každé vypuštění je pojmenováno pod EXCLUDED s důvodem, takže nedostatečně naplněný kontext se ladí ze seznamu vyloučení, ne hádáním. Skončí s 10, pokud je to, co vypustit nelze, už nad rozpočtem.
Ukazatele znalostí. Omezený výřez grafu znalostí, ne graf: jeden řádek na ukazatel — vztah, který jej vybral, druh, id, zdrojová cesta a titul. Výběr sleduje jen hrany, které soubor uvádí, v tomto pořadí, každá úroveň v bajtovém pořadí id: úkol, pro který byla úloha zahájena, úkoly, které depends_on, jeho milník, tvrzení, která ten milník deklaruje, a každý uzel, jehož zdrojem je cesta, kterou úloha nebo úkol jmenuje ve svém scope. Nic se nehledá a nic se neskóruje — dokument, jehož slova se shodují s úkolem, ale na který nic neodkazuje, se nevybere. Seznam se zastaví na context.knowledge_max_items profilu (context.max_list_items politiky, když není nastaveno, a nikdy nad ním) a poslední řádek spočítá zbytek pomocí majordomus knowledge related issue:<id>, který je vytiskne. Sekce chybí a je jmenována pod EXCLUDED s důvodem, když profil nenastavuje context.knowledge: true a když úloha nejmenuje žádný úkol pod politikou, jejíž intent.binding není off; bez úlohy, nebo s vypnutou vazbou a bez úkolu, prostě chybí. Kompilují se jen druhy a cesty, kterých výběr může dosáhnout, takže stojí asi dvě sekundy na plánu o čtyřech stech úkolech místo osmi, které trvá celá kompilace; je to pár řádků z rozpočtu 300 řádků. Když úkol, který úloha jmenuje, není uzel — jeho záznam opustil index správy verzí, nebo zmizel — sekce vytiskne řádek stale s tím, který a proč, a přesto vypíše, co graf drží. Při těsném rozpočtu se zahodí spolu s odvozenými výpisy, po souborech a před kontextovými dokumenty, a tedy dlouho před gitem, úlohou, profilem a otevřenými otázkami, které se nikdy nezahazují; zahození jmenuje příkaz, který ukazatele vytiskne.
--for <provider> obaluje totéž tělo hlavičkou jmenující poskytovatele a jeho vždy načtený soubor. Tělo se nemění: kanonický kontext je neutrální vůči poskytovateli a poskytovatel, který by potřeboval jiné fakty, by byl jiná politika, ne jiné vykreslení.
--json vypíše jeden objekt: git, task, sections[] (každý s id, lines a text), excluded[] (každý s item a reason) a budget. Stejný výběr jako textová forma, protože obě se sestavují jednou a vykreslují dvakrát.
$ majordomus context
# Majordomus context — 2026-09-03T19:41:02Z
# a projection of durable state, not a source of truth: validate every line against git