Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

majordomus context

Co musí další worker vědět teď, v pořadí podle autority a v rámci rozpočtu.

Co musí další worker vědět teď, v pořadí podle autority a v rámci rozpočtu.

  • jen pro čtení
  • continuity
  • aktivní úloha volitelná
  • --json

Jmenuje vše, co vyloučil, a proč. Končí s 10 jen tehdy, když sekce, které nelze vypustit, už překračují rozpočet.

Syntaxe

majordomus context [--for <provider>] [--prompt <name>] [--budget-lines <n>] [--json]

Životní cyklus

  1. Nastavit
  2. Začít
  3. Pracovat
  4. Ověřit
  5. Uzavřít
  6. Prozkoumat

Další příkazy v této fázi:checkpoint, decision, question, prompt, evidence, skills, capture.

Čte

  • identita gitu
  • .ai/local/state/current.yaml
  • .ai/repo/profiles/
  • .ai/local/state/open-questions.md
  • .ai/local/state/decisions.md
  • .ai/local/state/checkpoints/
  • .ai/local/state/handovers/
  • .ai/local/state/ledger.jsonl
  • .ai/repo/prompts/

Zapisuje

Nic. Tento příkaz je jen pro čtení.

Návratové kódy

Jen kódy, které tento příkaz může vrátit. Úplný kontrakt je na indexu příkazů.

  • 0 ok
  • 2 použití
  • 10 kontrakt nesplněn
  • 11 nalezen drift
  • 12 chybějící artefakt

Co musí další worker vědět hned teď

context skládá trvalý stav v pořadí autority a v rámci rozpočtu řádků a jmenuje vše, co vynechal. Nic nezapisuje, nic nezaznamenává a nevolá žádný model.

S aktivní úlohou a záznamy za ní

aktivní úloha
ano

Pro tento repozitář platí

# An active task that has already produced a checkpoint, a decision and an open question.
. "$FIXTURE_SETUP/active-task.sh"
printf 'the parser now refuses tabs\n' | "$MJ" checkpoint >/dev/null
"$MJ" decision add "refuse tabs in the parser" --why "two encodings for one token" >/dev/null
"$MJ" question add "should tabs be an error or a warning?" >/dev/null

Spustit

$ majordomus context

Výstup obsahuje

  • ## GIT
  • ## TASK
  • zúžit parser

ukončení 0

Identita gitu je první, protože je jedinou sekcí, která není projekcí. Vše pod ní jsou důkazy a hlavička to říká doslova.

Bez aktivní úlohy

aktivní úloha
ne

Pro tento repozitář platí

# A repository with Majordomus installed and projections generated, and one commit of work.
"$MJ" init >/dev/null
"$MJ" update >/dev/null
mkdir -p lib docs
echo a > lib/a
echo d > docs/d
git add . && git commit -qm base

Spustit

$ majordomus context

Výstup obsahuje

  • ## GIT

ukončení 0

Absence se hlásí, ne hádá. Worker, kterému se řekne, že neexistuje aktivní úloha, ví, že má jednu začít; worker, kterému se předá zastaralý záznam, to neví.

Reference

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.

SekceZdrojZahrnuto, když
GITgitvždy
TASKstate/current.yamlúloha je aktivní a context.task profilu není false
PROFILEprofiles/<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 QUESTIONSstate/open-questions.mdjakákoli nevyřešená položka jmenuje tuto úlohu
DECISIONSstate/decisions.mdcontext.decisions: true (tato úloha) nebo context.architecture_notes: true (repozitář)
REASONINGstate/reasoning/<task>/, vykresleno pomocí majordomus-cli reasoning status --reportúloha má záznamy uvažování a context.decisions: true
LATEST CHECKPOINTstate/checkpoints/pro tuto úlohu se rozliší checkpoint
LATEST COMPATIBLE HANDOVERstate/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 POINTERSgraf znalostí (majordomus knowledge), zkompilovaný při tomto čtenícontext.knowledge: true a úloha pojmenovává úkol: viz níže
FILES TOUCHED IN SCOPEgitcontext.relevant_files: true
RECENT HISTORYstate/ledger.jsonlcontext.recent_history_depth je nad nulou
PROMPTprompts/<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

Důkazy

Každý případ níže běží v CI na Linuxu i macOS. Web se odmítne sestavit, pokud veřejný příkaz nemá behaviorální případ, negativní případ nebo ukázku.

Záruky, které tento příkaz nese

Prohledává názvy a popisy všech stránek, které tento web publikuje.