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.

Vést plán jako milníky a úkoly, které nástroj umí validovat

Deklarujte milníky jako výsledky a úkoly jako prováděcí smlouvy a nechte nástroj říct, co je připravené a co blokované.

zaručeno Znalosti repozitářepokročilýmaintaineragentzapisuje stav

Situace

Plán žije v trackeru, který nikdo z repozitáře nečte, nebo v dokumentu, jehož sloupec stavu je věcí názoru. Co je připraveno ke startu a co blokováno, je spor, ne dotaz.

Scénář

setup: plan-model
given:
  - 'a canonical project model with one milestone and two issues, the second depending on the first'
steps:
  - id: validate
    run: ['plan', 'validate']
    note: 'every record parses, every reference resolves, the dependency graph is acyclic'
    expect:
      exit: 0
      stdout_contains: ['milestone', 'issue', '0 failure']
  - id: what-is-ready
    run: ['plan', 'ready']
    note: 'the issues nothing blocks'
    expect:
      exit: 0
      stdout_contains: ['I0001']
  - id: what-is-blocked
    run: ['plan', 'blocked']
    note: 'the issues waiting on another'
    expect:
      exit: 0
      stdout_contains: ['I0002']
then:
  - 'status is derived from the records and git, never written into them'
  - 'an issue cannot be marked done without the evidence its milestone requires'

Výsledek

Milníky a úkoly jsou soubory pod .ai/repo/project/; plan validate odmítne visící závislost i cyklus a plan ready a plan blocked se pokaždé počítají ze stejných záznamů.

Scénář

Provedeno proti skutečnému nástroji v repozitáři připraveném pomocí plan-model, 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

  • kanonický model projektu s jedním milníkem a dvěma úkoly, druhý závisí na prvním

kdy

  1. 1majordomus plan validate
  2. 2majordomus plan ready
  3. 3majordomus plan blocked

pak

  • stav se odvozuje ze záznamů a z gitu, nikdy se do nich nezapisuje
  • úkol nelze označit za hotový bez důkazů, které vyžaduje jeho milník

Co nástroj udělal

Důkaz běhu, z něhož byla tato stránka vygenerována: pass, 3 kroky. Výstup je normalizován: cesta k repozitáři, č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. každý záznam se zparsuje, každá reference se rozřeší, graf závislostí je acyklický

    plan validate: 1 milestone(s), 2 issue(s), 0 failure(s), 0 warning(s)
    • exit 0
    • stdout_contains /milestone/
    • stdout_contains /issue/
    • stdout_contains /0 failure/
  2. úkoly, které nic neblokuje

    I0001   w0   Issue I0001
        scope: src/I0001
    • exit 0
    • stdout_contains /I0001/
  3. úkoly čekající na jiný

    I0002   w1   Issue I0002
        waiting on: I0001
    • exit 0
    • stdout_contains /I0002/

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.