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.

I0821 — Zploštělé YAML se cachuje pod .ai/local/cache podle hashe obsahu

Cachovat výstup mj_yaml_flatten pod .ai/local/cache/flat/<sha256>, klíčovaný hashem obsahu souboru a vlastní verzí flatteneru, aby druhý příkaz nad nezměněnými soubory neparsoval nic.

PŘIPRAVENO vlna 1 · p0 · profil implementation · běží samostatně

Součást M004 — Výkon je spustitelný důkaz a horká cesta nedělá žádnou kanonickou práci dvakrát.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I0821 bude přijato.

Cíl

Cachovat výstup mj_yaml_flatten pod .ai/local/cache/flat/<sha256>, klíčovaný hashem obsahu souboru a vlastní verzí flatteneru, aby druhý příkaz nad nezměněnými soubory neparsoval nic.

Proč

doctor zplošťuje 181 souborů a uzly znalostí 146; napříč hookem, watch a kontextem se tytéž soubory parsují znovu a znovu.

Aktuální stav

.ai/README.md již vyhrazuje local/cache/ pro přestavitelné cache; nic je nepoužívá.

Cílový stav

Minutí parsuje a zapisuje atomicky; zásah kopíruje; změněný soubor nemůže zasáhnout, protože se změnil jeho hash; cache je omezena stropem položek v politice a ořezává se od nejstarších.

Rozsah

  • lib/common.sh
  • share/allow/policy.txt
  • share/skeleton/policy.yaml
  • .ai/repo/policy.yaml
  • docs/SCHEMAS.md
  • test/cases

Mimo rozsah

  • Mezi-procesová cache výsledků příkazů

Závislosti

Co na tom čeká

Kritéria přijetí

  • Bajt po bajtu shodný výstup každého příkazu jen pro čtení se studenou i teplou cache, dokázáno případem 77
  • Změněný soubor se parsuje znovu, dokázáno mutací
  • Cache nikdy nepřeroste limit
  • počet yaml_flatten je beze změny; nový čítač flatten_cache_hit hlásí zásahy

Validace

  • bash test/run.sh 77_flatten_cache
  • MJ_TIMING=1 bin/majordomus doctor

Požadované důkazy

  • flatten_cache

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Riziko

Hashování souboru také stojí podproces; cache se vyplatí jen tehdy, když je zploštění podstatně dražší než hash, což musí čítače ukázat, než to přistane.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I0821.yaml. Přečtěte jej zpět pomocí majordomus plan show I0821.

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