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.

Zaznamenat rozhodnutí, aby ho další pracovník našel

Zapište, co bylo rozhodnuto a proč, jako stav, a pak to znovu najděte, aniž byste četli konverzaci.

zaručeno Relace a předávkazákladníagentpřispěvatelzapisuje stav

Situace

Relace něco rozhodne uprostřed úlohy: kompromis, odmítnutí, konvenci. Rozhodnutí žije v konverzaci, takže další worker je buď odvodí znovu, odporuje mu, nebo čte celý přepis, aby je našel.

Scénář

setup: active-task
given:
  - 'an active task scoped to lib'
steps:
  - id: decide
    run: ['decision', 'add', 'refuse tabs in the parser', '--why', 'two encodings for one token']
    note: 'what was decided, why, and which task decided it; superseded by a later entry, never edited'
    expect:
      exit: 0
      stdout_contains: ['recorded: refuse tabs in the parser']
  - id: read-back
    run: ['decision', 'list']
    note: 'the decisions of this branch, newest first'
    expect:
      exit: 0
      stdout_contains: ['refuse tabs in the parser', 'Why: two encodings']
  - id: find-it
    run: ['search', 'tabs']
    note: 'a literal scan over the durable records, no index'
    expect:
      exit: 0
      stdout_contains: ['decision', 'match']
  - id: what-happened
    run: ['history']
    note: 'the ledger names the event and the task'
    expect:
      exit: 0
      stdout_contains: ['decision.recorded', 'task.started']
then:
  - 'a decision is one line of state with an author, a task and a reason'
  - 'nothing has to be re-explained to the next session'

Výsledek

Rozhodnutí je záznam jmenující úlohu, která jej učinila, a proč; decision list jej čte zpět, search jej najde podle slova a ledger říká, kdy se stalo. Pozdější rozhodnutí jej nahradí tím, že jej jmenuje; nic se neupravuje.

Scénář

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

  • aktivní úloha s rozsahem lib

kdy

  1. 1majordomus decision add refuse tabs in the parser --why two encodings for one token
  2. 2majordomus decision list
  3. 3majordomus search tabs
  4. 4majordomus history

pak

  • rozhodnutí je jeden řádek stavu s autorem, úlohou a důvodem
  • nic se nemusí příští relaci znovu vysvětlovat

Co nástroj udělal

Důkazy o běhu, ze kterého byla tato stránka vygenerována: pass, kroků: 4. Výstup je normalizovaný: cesta k repozitáři, časová razítka, identifikátory 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. co bylo rozhodnuto, proč a která úloha o tom rozhodla; nahrazuje se pozdější položkou, nikdy se neupravuje

    recorded: refuse tabs in the parser
    • exit 0
    • stdout_contains /recorded: refuse tabs in the parser/
  2. rozhodnutí této větve, nejnovější první

    ## <date> — refuse tabs in the parser
    Task: t-<id>
    Head: <sha>
    Why: two encodings for one token
    Rejected: -
    Evidence: -
    Supersedes: -
    • exit 0
    • stdout_contains /refuse tabs in the parser/
    • stdout_contains /Why: two encodings/
  3. doslovné prohledání trvalých záznamů, bez indexu

    decision    .ai/local/state/decisions.md:13  ## <date> — refuse tabs in the parser
    history     .ai/local/state/ledger.jsonl:3  {"ts":"<time>","event":"decision.recorded","head":"<sha>","branch":"mai
    search: 2 match(es)
    • exit 0
    • stdout_contains /decision/
    • stdout_contains /match/
  4. ledger jmenuje událost a úlohu

    <time>  projections.updated -                      <head>  targets=3
    <time>  task.started        t-<id>  <head>  profile=implementation scope=lib
    <time>  decision.recorded   t-<id>  <head>  refuse tabs in the parser
    • exit 0
    • stdout_contains /decision.recorded/
    • stdout_contains /task.started/

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.