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 decision

Zaznamená rozhodnutí učiněné mezi skutečnými alternativami i s důvodem a přečte je zpět.

Zaznamená rozhodnutí učiněné mezi skutečnými alternativami i s důvodem a přečte je zpět.

  • mění stav
  • paměť
  • aktivní úloha volitelná

Záznam se nikdy needituje ani nemaže. --supersedes zaznamená, že pozdější rozhodnutí nahradilo dřívější, přičemž obě zůstanou čitelná.

Syntaxe

majordomus decision add "<what was decided>" --why "<rationale>"

Ž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:context, checkpoint, question, prompt, evidence, skills, capture.

Čte

  • .ai/local/state/current.yaml
  • .ai/local/state/decisions.md

Zapisuje

  • .ai/local/state/decisions.md
  • .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í
  • 12 chybějící artefakt

Proč se to udělalo takto

Rozhodnutí zaznamenává volbu mezi skutečnými alternativami spolu s jejím důvodem. Záznam se nikdy neupravuje ani nemaže; pozdější rozhodnutí nahradí dřívější a obě zůstanou čitelná.

Zaznamenání rozhodnutí s jeho důvodem

uvedený důvod
ano

Pro tento repozitář platí

# ... and an active task scoped to lib, with work done inside that scope.
. "$FIXTURE_SETUP/installed.sh"
"$MJ" start "narrow the parser" --scope lib >/dev/null
echo work >> lib/a

Spustit

$ majordomus decision add refuse tabs in the parser --why two encodings for one token

Výstup obsahuje

  • zaznamenáno: odmítnout tabulátory v parseru

ukončení 0

Id úlohy a hlava gitu se vypočítají a připojí, takže rozhodnutí lze vždy zasadit do stavu repozitáře, v jakém bylo učiněno.

Jejich čtení zpět

uvedený důvod
ano

Pro tento repozitář platí

# An active task that has already produced a checkpoint, a decision and an open question.
. "$FIXTURE_SETUP/active-task.sh"
printf 'the parser now refuses tabs\n' | "$MJ" checkpoint >/dev/null
"$MJ" decision add "refuse tabs in the parser" --why "two encodings for one token" >/dev/null
"$MJ" question add "should tabs be an error or a warning?" >/dev/null

Spustit

$ majordomus decision list

Výstup obsahuje

  • odmítat tabulátory v parseru
  • Proč: dvě kódování

ukončení 0

Důvod je součástí záznamu, ne zpráva commitu, kterou někdo možná napsal a možná ne. Rozhodnutí bez něj je to, k čemu se pozdější worker nemůže bezpečně vrátit.

Reference

Zaznamenat nebo číst trvalá rozhodnutí. Jeden soubor jen pro připisování: state/decisions.md.

decision add "<what>" --why "<why>" připojí položku s id úlohy a spočteným git headem. --why je povinné: rozhodnutí bez zaznamenaného důvodu nelze později přezkoumat, jen znovu obhajovat. --rejected a --evidence jsou volitelné a výchozí je -.

Záznam se nikdy neupravuje ani nemaže. --supersedes "<text>" zaznamená, že pozdější rozhodnutí nahradilo dřívější. Text se porovnává jen s tituly zaznamenaných rozhodnutí, musí identifikovat právě jedno z nich a zaznamená se právě tento titul; text, který neodpovídá žádnému titulu nebo odpovídá více než jednomu, se odmítne, takže nahrazení vždy míří na jedno skutečné rozhodnutí. decision list označí nahrazený záznam pomocí Superseded by: <title>.

decision list [--task <id>] [--limit <n>] vypíše záznamy od nejnovějšího; decision show "<text>" vypíše první záznam, jehož název obsahuje daný text, nebo skončí s 12.

Profil deep-work nastavuje verification.decision_record_required: true; finish pak odmítne completed, pokud některý záznam nepojmenuje úlohu.

$ majordomus decision add "Normalise the callback URI before comparing state" \
    --why "the mismatch is a trailing-slash difference, not a forged state parameter" \
    --rejected "relaxing the comparison, which would accept genuinely forged states" \
    --evidence "test/auth/callback_test.exs:41"
recorded: Normalise the callback URI before comparing state

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.