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.

Přidejte případ užití a nechte ho nástrojem dokázat

Vytvořte scaffold návrhu pro nepokrytý příkaz, zvalidujte ho, spusťte jeho scénář proti skutečnému nástroji a sledujte, jak se pokrytí posune.

zaručeno Rozšířenípokročilýmaintaineragentzapisuje stav

Situace

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.

Scénář

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'

Výsledek

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. 1majordomus usecase list
  2. 2majordomus usecase coverage
  3. 3majordomus usecase scaffold --for command:doctor
  4. 4majordomus usecase validate
  5. 5majordomus usecase run doctor-draft
  6. 6majordomus 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.

  1. sekce existuje a je prázdná

    use cases: 0 in .ai/repo/use-cases
    • exit 0
    • stdout_contains /use cases: 0 in/
  2. 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/
  3. 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/
  4. 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/
  5. 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/
  6. 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.

Okamžiky, na které to odpovídá

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