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.

Uchovat, co se epizoda naučila, bez modelu a bez konverzace

Zaznamenejte rozhodnutí uvnitř epizody, odvoďte ho z ledgeru do kandidátského záznamu znalostí, přečtěte důkaz, že odvození proběhlo, a sledujte, jak druhé odvození nic nezmění.

zaručeno Znalosti repozitářezákladnímaintaineragentzapisuje stav

Situace

Worker se před hodinou k něčemu rozhodl v konverzaci, která bude do oběda zkomprimovaná a zítra pryč. Rozhodnutí je v ledgeru jednoho stroje pod limitem uchování a nikde, kam by dosáhl druhý checkout nebo veřejný povrch. Nikdo si nevzpomene to zapsat a odstavec, který by někdo napsal, by byl shrnutím konverzace, což vrstva odmítá ukládat.

Scénář

setup: session-open
given:
  - 'Majordomus installed, with one execution episode open in this worktree'
  - 'the knowledge section carries the curated and candidates source classes and no candidate yet'
steps:
  - id: open-the-work
    run: ['start', 'keep what this episode learned', '--scope', '.ai/repo/knowledge']
    note: 'a task is optional for the derivation; it is here so the decision has one to name'
    expect:
      exit: 0
  - id: decide-something
    run: ['decision', 'add', 'A candidate is reviewed by a person before it is curated', '--why', 'a record only one machine can read is a record nobody reads']
    note: 'one decision.recorded line in the ledger, stamped with the open episode'
    expect:
      exit: 0
  - id: derive-it
    run: ['knowledge', 'derive']
    note: 'from the ledger and git, deterministically: one candidate record, status candidate, origin extracted, derived_from naming the episode and the decision'
    expect:
      exit: 0
      stdout_contains: ['^written \.ai/repo/knowledge/candidates/', 'knowledge derive: 1 written']
  - id: the-evidence-it-ran
    run: ['history', '--event', 'knowledge.derived']
    note: 'the ledger says which episode was derived and what was written; the line exists even when nothing was'
    expect:
      exit: 0
      stdout_contains: ['knowledge.derived']
  - id: derive-it-again
    run: ['knowledge', 'derive']
    note: 'the same evidence yields the same bytes: the record id is the episode plus a digest of the evidence, so the file is rewritten identically and reported unchanged'
    expect:
      exit: 0
      stdout_contains: ['^unchanged \.ai/repo/knowledge/candidates/', 'knowledge derive: 0 written. 1 unchanged']
then:
  - 'the decision is a tracked record with resolvable provenance, readable from every checkout and every surface'
  - 'verified is still nobody''s: the deriver wrote a candidate, and promotion is an act a person performs with evidence'

Výsledek

knowledge derive mění řádky ledgeru epizody na kandidátské záznamy v .ai/repo/knowledge/candidates/, ledger zaznamená, že to proběhlo, a druhý běh nad týmiž důkazy nezapíše nic. Koncové události a události kompakce providera dělají totéž, aniž by někdo příkaz psal; v majordomus knowledge promote člověk kandidáta ověřuje.

Scénář

Provedeno proti skutečnému nástroji v repozitáři připraveném pomocí session-open, 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, s jednou otevřenou epizodou provádění v tomto worktree
  • sekce znalostí nese třídy zdroje curated a candidates a zatím žádného kandidáta

kdy

  1. 1majordomus start keep what this episode learned --scope .ai/repo/knowledge
  2. 2majordomus decision add A candidate is reviewed by a person before it is curated --why a record only one machine can read is a record nobody reads
  3. 3majordomus knowledge derive
  4. 4majordomus history --event knowledge.derived
  5. 5majordomus knowledge derive

pak

  • rozhodnutí je sledovaný záznam s vyřešitelným původem, čitelný z každého checkoutu a každého povrchu
  • ověřeno stále nikomu nepatří: deriver napsal kandidáta a povýšení je akt, který člověk provádí s důkazy

Co nástroj udělal

Důkaz běhu, z něhož byla tato stránka vygenerována: pass, 5 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. úloha je pro odvození volitelná; je zde proto, aby rozhodnutí mělo kterou pojmenovat

    started t-<id>  profile=implementation  scope=.ai/repo/knowledge
    next: majordomus context; checkpoint every 15m; majordomus check before claiming anything
    • exit 0
  2. jeden řádek decision.recorded v ledgeru, opatřený razítkem otevřené epizody

    recorded: A candidate is reviewed by a person before it is curated
    • exit 0
  3. z ledgeru a gitu, deterministicky: jeden kandidátský záznam, status candidate, origin extracted, derived_from jmenující epizodu a rozhodnutí

    written .ai/repo/knowledge/candidates/s-<id>-eb92bb74aa02.md
    knowledge derive: 1 written, 0 unchanged, 0 skipped for episode s-<id>
    • exit 0
    • stdout_contains /^written \.ai/repo/knowledge/candidates//
    • stdout_contains /knowledge derive: 1 written/
  4. ledger uvádí, která epizoda byla odvozena a co bylo zapsáno; řádek existuje i tehdy, když se nezapsalo nic

    <time>  knowledge.derived   -                      <head>  
    • exit 0
    • stdout_contains /knowledge.derived/
  5. stejné důkazy dávají stejné bajty: id záznamu je epizoda plus digest důkazů, takže soubor se přepíše shodně a hlásí se jako nezměněný

    unchanged .ai/repo/knowledge/candidates/s-<id>-eb92bb74aa02.md
    knowledge derive: 0 written, 1 unchanged, 0 skipped for episode s-<id>
    • exit 0
    • stdout_contains /^unchanged \.ai/repo/knowledge/candidates//
    • stdout_contains /knowledge derive: 0 written. 1 unchanged/

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.

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