○zaručeno
Rozšířenípokročilýmaintaineragentzapisuje stav
Příkaz získal chování a nikdo nezapsal, co s ním člověk dělá. Dokumentace se rozejde v den, kdy se napíše ručně, a odstavec nic nedokazuje.
setup: installed
given:
- 'Majordomus installed; the skeleton seeds the use-case section with no use case yet'
steps:
- id: nothing-yet
run: ['usecase', 'list']
note: 'the section exists and is empty'
expect:
exit: 0
stdout_contains: ['use cases: 0 in']
- id: the-gaps
run: ['usecase', 'coverage']
note: 'every public command is a target; a fresh policy reports gaps and fails on none'
expect:
exit: 0
stdout_contains: ['^command +doctor +0 +0 +0 +gap +advisory']
- id: scaffold
run: ['usecase', 'scaffold', '--for', 'command:doctor']
note: 'a draft from what the registry, the fixture and the claims already know; nothing in it is verified'
expect:
exit: 0
stdout_contains: ['wrote: \.ai/repo/use-cases/doctor-draft\.md']
- id: validate
run: ['usecase', 'validate']
note: 'the draft resolves: its command, setup and category exist'
expect:
exit: 0
stdout_contains: ['usecase validate: 0 failure']
- id: run-it
run: ['usecase', 'run', 'doctor-draft']
note: 'the scaffolded scenario executes the real command in a disposable repository'
expect:
exit: 0
stdout_contains: ['doctor-draft +pass']
- id: still-a-gap
run: ['usecase', 'coverage']
note: 'a draft never counts; coverage moves when the use case is active'
expect:
exit: 0
stdout_contains: ['^command +doctor +0 +0 +0 +gap']
then:
- 'a use case is a file; everything else (the page, the links, the tally) follows'
- 'a draft can run but cannot cover: status is authored, maturity is observed'
usecase scaffold zapíše koncept s fakty, která nástroj už má, usecase run provede jeho scénář proti skutečnému nástroji a zaznamená důkazy a usecase coverage říká, co stále chybí. Koncept se nepočítá, dokud není aktivován.
Scénář
Provedeno proti skutečnému nástroji v repozitáři připraveném pomocí installed, při každém generování tohoto webu. To, co následuje, není popis toho, co by se mělo stát; je to to, co se stalo.
dáno
- ·Majordomus nainstalován; kostra osévá sekci případů užití bez jediného případu užití
kdy
- 1
majordomus usecase list - 2
majordomus usecase coverage - 3
majordomus usecase scaffold --for command:doctor - 4
majordomus usecase validate - 5
majordomus usecase run doctor-draft - 6
majordomus usecase coverage
pak
- ·případ užití je soubor; všechno ostatní (stránka, odkazy, součet) z něj plyne
- ·koncept může běžet, ale nemůže pokrývat: status se píše, zralost se pozoruje
Co nástroj udělal
Důkaz o běhu, ze kterého byla tato stránka vygenerována: pass, 6 kroků. Výstup je normalizován: cesta repozitáře, časová razítka, id a doby trvání jsou zástupné hodnoty; nic dalšího se neupravuje.
Testováno v test/cases/94_use_cases.sh, který spouští každý scénář a odmítne krok, jehož zaznamenaný výstup není tím, co vyprodukoval.
-
sekce existuje a je prázdná
use cases: 0 in .ai/repo/use-cases
- exit 0
- stdout_contains /use cases: 0 in/
-
každý veřejný příkaz je cíl; nová politika hlásí mezery a nic neshazuje
command init 0 0 0 gap advisory
command update 0 0 0 gap advisory
command doctor 0 0 0 gap advisory
command watch 0 0 0 gap advisory
command start 0 0 0 gap advisory
command context 0 0 0 gap advisory
command checkpoint 0 0 0 gap advisory
command handover 0 0 0 gap advisory
command check 0 0 0 gap advisory
command finish 0 0 0 gap advisory
command history 0 0 0 gap advisory
command decision 0 0 0 gap advisory
command question 0 0 0 gap advisory
command prompt 0 0 0 gap advisory
command evidence 0 0 0 gap advisory
command skills 0 0 0 gap advisory
command capture 0 0 0 gap advisory
command search 0 0 0 gap advisory
command doctrine 0 0 0 gap advisory
command plan 0 0 0 gap advisory
command version 0 0 0 gap advisory
command session 0 0 0 gap advisory
command knowledge 0 0 0 gap advisory
command adr 0 0 0 gap advisory
command usecase 0 0 0 gap advisory
command rules 0 0 0 gap advisory
command migrate 0 0 0 gap advisory
command recover 0 0 0 gap advisory
command bench 0 0 0 gap advisory
command archive 0 0 0 gap advisory
usecase coverage: 30 target(s), 0 covered, 0 partial, 0 required gap(s) (columns: use cases, executable, evidence)
- exit 0
- stdout_contains /^command +doctor +0 +0 +0 +gap +advisory/
-
koncept z toho, co už registr, testovací fixture a tvrzení vědí; nic v něm není ověřeno
wrote: .ai/repo/use-cases/doctor-draft.md (draft; complete the narrative and the assertions, then set status: active)
usecase scaffold: 1 draft(s) written
- exit 0
- stdout_contains /wrote: \.ai/repo/use-cases/doctor-draft\.md/
-
koncept se vyřeší: jeho příkaz, příprava a kategorie existují
OK use-case 1 use case(s), 0 application(s) — every command, doctrine, claim, responsibility, application, category, setup and stdin resolves; every scenario step names a listed command
usecase validate: 0 failure(s)
- exit 0
- stdout_contains /usecase validate: 0 failure/
-
vygenerovaný scénář spouští skutečný příkaz v jednorázovém repozitáři
doctor-draft pass 1 step(s)
usecase run: 1 scenario(s), 0 failed, 0 unmet, 0 not run; evidence under .ai/local/evidence/use-cases/
- exit 0
- stdout_contains /doctor-draft +pass/
-
koncept se nikdy nepočítá; pokrytí se hýbe, když je případ užití aktivní
command init 0 0 0 gap advisory
command update 0 0 0 gap advisory
command doctor 0 0 0 gap advisory
command watch 0 0 0 gap advisory
command start 0 0 0 gap advisory
command context 0 0 0 gap advisory
command checkpoint 0 0 0 gap advisory
command handover 0 0 0 gap advisory
command check 0 0 0 gap advisory
command finish 0 0 0 gap advisory
command history 0 0 0 gap advisory
command decision 0 0 0 gap advisory
command question 0 0 0 gap advisory
command prompt 0 0 0 gap advisory
command evidence 0 0 0 gap advisory
command skills 0 0 0 gap advisory
command capture 0 0 0 gap advisory
command search 0 0 0 gap advisory
command doctrine 0 0 0 gap advisory
command plan 0 0 0 gap advisory
command version 0 0 0 gap advisory
command session 0 0 0 gap advisory
command knowledge 0 0 0 gap advisory
command adr 0 0 0 gap advisory
command usecase 0 0 0 gap advisory
command rules 0 0 0 gap advisory
command migrate 0 0 0 gap advisory
command recover 0 0 0 gap advisory
command bench 0 0 0 gap advisory
command archive 0 0 0 gap advisory
usecase coverage: 30 target(s), 0 covered, 0 partial, 0 required gap(s) (columns: use cases, executable, evidence)
- exit 0
- stdout_contains /^command +doctor +0 +0 +0 +gap/
Proč to nástroj ví
Řetězec od této stránky ke kódu: případ užití jmenuje příkazy, pravidla a tvrzení; každé pravidlo se dispatchuje z registru a každé tvrzení jmenuje test, který ho dokazuje; scénář výše provedl příkazy. Nic v tomto řetězci není text o záměru.
Pravidla, díky nimž platí
Uplatněné záruky
Související případy užití
Vypočteno z toho, co sdílejí: tvrzení, pravidla, příkazy, kategorie, aplikace. Tento seznam nikdo neudržuje.
- Rozšiřte, co spustitelný soubor poskytuje, přidáním souboru, nikdy jeho přebuildovánímPřidejte do .ai/ pravidlo, prompt nebo uzel znalostí a nechte je objevit se jako zdroj MCP, HTTP route a položka reference, se stejným binárním souborem.
- Dokázat, že pravidlo se skutečně vynucuje, a není jen napsanéOdpovědět na "je toto pravidlo skutečné?" příkazem, ne čtením zdroje.
- Řekněte jednou, k čemu vaše práce slouží, a nechte to říkat každý povrchZaznamenejte provozní způsob selhání jako jeden soubor a nechte na něj odpovídat příkazovou řádku, API, MCP i web, aniž by se kdekoli registroval.
- Důvěřujte politice a profilům až po jejich validaciProkažte, že se kanonická politika zparsuje a má deklarovaný každý potřebný klíč, že se zparsuje každý profil a výchozí existuje a že to, co politika deklaruje jako vynucené, je to, co skutečně běží.
- Převzít repozitář, který už má vlastní pravidlaNainstalujte dozorovou vrstvu do repozitáře s ručně psaným CLAUDE.md tak, aby nástroj nepřevzal vlastnictví souboru, který napsal někdo jiný.
Okamžiky, na které to odpovídá
-
→ přečetl slib v README, za kterým nestál žádný test Věta popisující, co software dělá, se napíše jednou a nikdy se nepropojí s ničím, co by selhalo, kdyby přestala platit.
-
→ vložil příkaz z dokumentace a sledoval, jak selhal Příklady se píšou jednou, v próze, a nikdy je už nic nespustí.
-
→ publikoval stránku, která slíbila víc, než kterýkoli test dokázal podpořit Veřejné materiály vznikají jiným úkonem než kód, takže předbíhají chování a nic je nevrací zpět.