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.

Repozitář, ve kterém se epizody uzavírají a do prahu zastarání nenásleduje žádné odvození znalostí, hlásí doctor a watch jako zastavený zapisovač a zjištění zmizí, jakmile se odvození zapíše

doctor a watch porovnávají dva fakty, které nevlastní nic jiného: že se epizody uzavírají a že za nimi následují odvození. Když nejnovější řádek session.closed jmenuje epizodu, kterou nejmenuje žádný řádek knowledge.derived, a toto uzavření je starší než session.freshness.stale_minutes, nález je FAIL knowledge jmenující epizodu, s read-only reprodukcí a nápravou za fix:. Když je session.knowledge_on_end zapnuto a zdroj životního cyklu deriver nikdy nevolá, nález jmenuje zdrojový soubor. Odvození pro tu epizodu nález odstraní.

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

mj_validate_knowledge_lifecycle porovnává dva fakty stejně jako validátor z ADR 0052, uzavírání epizod a následné derivace, posuzované vůči session.freshness.stale_minutes; zároveň čte zdroj životního cyklu kvůli volání deriveru, dokud je zapnuté session.knowledge_on_end. Checkout, jehož ledger neobsahuje žádný řádek knowledge.derived, se přeskočí, ne selže, takže v den, kdy derivér dorazí, žádný checkout nezčervená; první derivace přeskakování ukončí. Čtečka v Rustu knowledge_base.status dělá část posudku o aktuálnosti ze stejných čísel.

Co to znamená

doctor a watch porovnávají dva fakty, které nic jiného nevlastní pohromadě: že se epizody uzavírají a že za nimi následují derivace. Když nejnovější řádek session.closed jmenuje epizodu, kterou nejmenuje žádný řádek knowledge.derived, a toto uzavření je starší než session.freshness.stale_minutes, nálezem je FAIL knowledge jmenující epizodu, s read-only reprodukcí a nápravou za fix:. Když je session.knowledge_on_end zapnuto a zdroj životního cyklu deriver nikdy nevolá, nález jmenuje zdrojový soubor. Derivace pro tu epizodu nález vyčistí.

Princip

mj_validate_knowledge_lifecycle v lib/knowledge.sh čte ledger kvůli nejnovějšímu řádku session.closed, vezme jeho značku relace a hledá řádek knowledge.derived, jehož pole episode ji jmenuje; stáří uzavření se posuzuje vůči prahu zastarání z politiky, čtenému a nikdy nepřepisovanému. Posouzení je podmíněno stejně jako v ADR 0052: checkout, v jehož ledgeru není vůbec žádný řádek knowledge.derived, se hlásí jako přeskočený, takže ve dni, kdy deriver dorazí, žádný checkout nezčervená, a první odvození přeskočení ukončí. Repozitář bez uzavřené epizody projde; politika s vypnutým přepínačem je přeskočena. Polovina o zapojení hledá v kódu lifecycle volání derivera, tak jako mj_validate_doctrine_wiring čte zdroj. Pod watch je zjištění drift a končí exit kódem 11. knowledge_base.status čtečky v Rustu provádí polovinu o aktuálnosti stejného posouzení ze stejného ledgeru a stejných čísel; polovina o zapojení patří jen shellovému validátoru.

Jak to vidět

majordomus history --event session.closed               # the newest close and its episode
majordomus history --event knowledge.derived            # which episodes were derived
majordomus doctor | grep -E 'knowledge'                 # OK, SKIP, or FAIL naming the episode
majordomus knowledge derive --episode <id>              # the remedy the finding names
majordomus doctor | grep -E 'knowledge'                 # clears
bin/majordomus-cli knowledge status --format json       # the same freshness judgement from the Rust reader

Co nepokrývá

Neodvozuje. Diagnostika, která potichu mění stav, je hlídací pes, který tento návrh odmítá; náprava je příkaz, který spustí člověk. Nesoudí checkout, na kterém deriver nikdy neběžel, a nevidí uzavření, ke kterému došlo na jiném stroji: evidenční kniha je lokální, a tedy i úsudek.

Proč existuje

majordomus.lifecycle-observed vzniklo po týdnu, kdy prošly všechny kontroly zdraví, zatímco se nezapsal žádný checkpoint ani předávka; dosažitelnost byla otázka, kterou kladla každá kontrola, a to, zda to běží, nekladla žádná. Stejný tvar platí pro zapisovač znalostí, jen s jedním dalším způsobem selhání: odvození je krok uvnitř uzavření a cesta uzavření, která ho přeskočí, produkuje uzavřené epizody a žádné znalosti, navždy, a to se všemi záznamy správně utvořenými. .ai/repo/adrs/0091-knowledge-is-derived-at-the-episode-boundary-and-a-person-promotes-it.md rozšiřuje invariant ADR 0052 na čtvrtou věc, která přežije epizodu.

Detail vykreslen z docs/claims/knowledge-writer-observed.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Repozitář, ve kterém se epizody uzavírají a do prahu zastarání nenásleduje žádné odvození znalostí, hlásí doctor a watch jako zastavený zapisovač a zjištění zmizí, jakmile se odvození zapíše

    Vzniklo na Doctor.

  2. 2 · kanonické tvrzení

    knowledge-writer-observeddeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si to na tomto webu · docs/KNOWLEDGE.md

  3. 3 · implementace

    lib/knowledge.sh · majordomus knowledge

  4. 4 · test a scénáře

    Test: test/cases/708_health_sees_a_stopped_knowledge_writer.sh

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh 708_health_sees_a_stopped_knowledge_writer

Kde se toto tvrzení používá

pokryté odpovědnosti

Související tvrzení stejná implementace

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