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 usecase

Spustitelné případy užití: výpis, zobrazení, validace, běh proti skutečnému nástroji, pokrytí, dopad, scaffold.

Spustitelné případy užití: výpis, zobrazení, validace, běh proti skutečnému nástroji, pokrytí, dopad, scaffold.

  • mění stav
  • rules
  • --json

Případ užití je objekt Markdown se scénářem; run jej provede v jednorázovém repozitáři proti bin/majordomus a zaznamená normalizované důkazy do lokální poloviny. scaffold zapisuje jen koncepty, nikdy záruku; coverage a impact čtou, nikdy nezapisují.

Syntaxe

majordomus usecase <list|show <id>|validate|run [<id>...]|coverage|impact|scaffold> [--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:check.

Čte

  • .ai/repo/use-cases/
  • .ai/repo/applications/
  • share/commands.yaml
  • docs/CLAIMS.yaml
  • docs/RESPONSIBILITIES.yaml
  • test/fixtures/commands/

Zapisuje

  • .ai/local/evidence/use-cases/
  • .ai/local/state/ledger.jsonl

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
  • 12 chybějící artefakt
  • 13 interní chyba

Spustitelné případy užití: vypsané, sečtené, odmítnuté

usecase čte případy užití v sekci případů užití manifestu, každý jako soubor Markdown se scénářem; vypisuje je, sčítá proti nim každý veřejný příkaz a odmítne podpříkaz, který nezná.

Čerstvý repozitář má sekci a žádný případ užití

nainstalováno
ano

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 usecase list

Výstup obsahuje

  • ^use cases: 0 in \.ai/repo/use-cases$

ukončení 0

init naplní sekci jejím kontextovým dokumentem a taxonomií; první případ užití je jeden soubor přidaný vedle nich, objevený bez registru.

Každý veřejný příkaz je cíl; čerstvá politika hlásí mezery

nainstalováno
ano

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 usecase coverage

Výstup obsahuje

  • ^command +doctor +0 +0 +0 +gap +advisory$
  • required gap\(s\)

ukončení 0

Jmenovatelem je registr příkazů, nikdy ručně psaný seznam. Politika skeletonu činí mezeru poradní; repozitář, který chce, aby mezera shodila doctor, check a finish, uvede pod use_cases.coverage `required`.

Neznámý podpříkaz je chyba použití

nainstalováno
ano

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 usecase explain

Výstup obsahuje

  • neznámý podpříkaz 'explain'

ukončení 2

Podpříkazy jsou list, show, validate, run, coverage, impact a scaffold; cokoli jiného se odmítne s nápovědou, nikdy se nehádá.

Reference

Spustitelné případy užití repozitáře: objekty Markdown pod sekcí use-cases manifestu, každý je úloha, kterou někdo provádí nástrojem, příkazy, pravidla, tvrzení, odpovědnosti a aplikace, které jmenuje, a scénář, který ji dokazuje proti bin/majordomus. docs/USE_CASES.md je smlouva; tato sekce je příkaz.

majordomus usecase list [--json]
majordomus usecase show <id>
majordomus usecase validate [--json]
majordomus usecase run [<id>...] [--json] [--out <dir>] [--keep]
majordomus usecase coverage [--json] [--check]
majordomus usecase impact [--base <ref>] [--json]
majordomus usecase scaffold [--missing] [--for command:<name>] [--dry-run]

list vypíše každý případ užití s jeho kategorií, stavem, tím, zda má scénář, a příkazy, které jmenuje; show vypíše jeden soubor a výsledek jeho posledního běhu. validate rozřeší každý odkaz (příkaz proti dispatch tabulce, doktrínu proti registru, tvrzení proti docs/CLAIMS.yaml, odpovědnost proti docs/RESPONSIBILITIES.yaml, aplikaci v obou směrech, kategorii proti taxonomy.yaml, setup skript a stdin tělo proti fixtures, nástroj MCP proti registru spustitelného souboru), odmítne klíč, který schéma nedeklaruje, id, které není názvem souboru, duplikát, tělo bez svých sekcí, krok scénáře spouštějící příkaz, který případ užití neuvádí, a aktivní případ užití mířící na záruku bez scénáře. doctor aplikuje stejnou validaci pod majordomus.catalogue-integrity.

run provede každý scénář v jednorázovém repozitáři připraveném jeho setup skriptem: každý krok je jedno skutečné vyvolání s argv ze souboru, jeho kód ukončení a výstup se ověřují a důkazy, normalizované (cesty, časová razítka, id, hashe, doby trvání), se zapíšou do .ai/local/evidence/use-cases/<id>.json; --out je zkopíruje jinam, --keep ponechá repozitář k prozkoumání a událost use_cases.ran se připojí do knihy. Případ užití bez scénáře se hlásí jako popsaný, ne spuštěný.

coverage sečte každý veřejný příkaz registru, každé zaručené tvrzení s odpovědností a každý nástroj MCP, který spustitelný soubor promítá, proti aktivním případům užití, které je pojmenovávají, spouštějí a mají úspěšné důkazy; use_cases.coverage politiky říká pro každou třídu, zda je mezera required, advisory nebo off; --check skončí s kódem 10 při požadované mezeře, stejně jako doctor, check a finish pod majordomus.use-case-coverage. impact mapuje soubory změněné od --base (ve výchozím stavu upstream) a v pracovním stromu na příkazy, pravidla, případy užití, scénáře a behaviorální případy, kterých se dotýkají, a pojmenuje další běh, který je třeba provést. scaffold zapíše koncept případu užití pro mezeru z toho, co už vědí registr, fixture příkazu a tvrzení; koncept projde validací a spustí se, ale nikdy se nezapočítává.

Živý krok se posuzuje podle celého svého vektoru argumentů, ne podle prvního slova. class příkazu v share/commands.yaml je to nejhorší, co udělá kterýkoli z jeho vektorů argumentů, takže knowledge je jako celek state-mutating, ačkoli knowledge edges, nodes, sources, candidates a check nic nezapisují, a check je read-only, ačkoli check --checkpoint zaznamenává checkpoint. Kde se podpříkazy nebo přepínače příkazu liší, registr nese seznam effects: položka subcommand nahradí třídu příkazu pro daný podpříkaz a položka flag ji zvýší pro každý vektor, v němž se přepínač objeví; přepínač třídu nikdy nesníží. usecase validate odmítne živý krok, jehož vektor není read-only, a jmenuje, co rozhodlo (by command, by subcommand 'derive' nebo by flag '--checkpoint'), a usecase run --live klade stejnou otázku znovu před spuštěním kroku, takže krok, který by zapisoval, se hlásí jako nesplněný a nespustí se. doctor sladí každý efekt s příkazem, na kterém je deklarován: podpříkaz musí být slovem ze syntaxe příkazu, přepínač v ní musí být zapsán a přepínač nesmí být deklarován jako read-only.

Exit kódy: 0; 2 při chybě použití; 10, když selže validace, scénář nebo povinná mezera v pokrytí; 12, když chybí sekce, případ užití nebo registr; 13, když nelze vytvořit repozitář scénáře.

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.