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.

I0810 — Manifest s hashi obsahu, který zlevní druhou synchronizaci

Implementovat manifest: jeden řádek na zdroj s jeho cestou, hashem obsahu, verzí extraktoru a id uzlů, které vytvořil, zapsaný vedle vygenerovaného grafu, porovnávaný při každé synchronizaci a použitý tak, aby synchronizace bez změny zdrojů neprováděla žádnou extrakci a řekla to.

ZRUŠENO vlna 4 · p1 · profil implementation · běží samostatně

Součást M003 — Relace je trvalá obálka a znalost se kompiluje z toho, co už je kanonické.

Cíl

Implementovat manifest: jeden řádek na zdroj s jeho cestou, hashem obsahu, verzí extraktoru a id uzlů, které vytvořil, zapsaný vedle vygenerovaného grafu, porovnávaný při každé synchronizaci a použitý tak, aby synchronizace bez změny zdrojů neprováděla žádnou extrakci a řekla to.

Proč

Bez manifestu je každý dotaz v pokušení přestavět a každá přestavba je úplná. Manifest umožňuje zjistit zastaralost bez jakékoli mutace, a díky tomu zůstávají příkazy jen pro čtení jen pro čtení.

Aktuální stav

Nic se negeneruje a nic se necachuje. Režim --check generátoru webu je precedens pro příkaz, který hlásí drift mezi kanonickým vstupem a odvozeným výstupem, aniž by regeneroval.

Cílový stav

`knowledge sync` zapíše manifest s grafem. `knowledge sync --check` porovná hashe zdrojů s manifestem a skončí nenulově, když se liší, a nic nezapíše. `knowledge status` hlásí fresh nebo stale a jmenuje zdroje, které se pohnuly. No-op sync je měřitelně levnější než studený a měření je zaznamenáno.

Rozsah

  • lib/knowledge.sh
  • lib/knowledge.awk
  • .gitignore
  • test/cases/68_knowledge_manifest.sh

Mimo rozsah

  • Hledat
  • Jakékoli automatické přestavění spuštěné čtením

Závislosti

Kritéria přijetí

  • Druhá synchronizace bez změny zdroje hlásí žádnou práci a nechá generované soubory bajt po bajtu shodné
  • Úprava jednoho zdroje mění řádek manifestu tohoto zdroje a uzly z něj odvozené, a žádný jiný řádek
  • sync --check nic nezapisuje a končí nenulově, když se zdroj posunul
  • Verze extraktoru je součástí manifestu, takže změna extraktoru jej zneplatní
  • Změřená cena no-op sync a studeného sync na tomto repozitáři je zaznamenána jako důkaz

Validace

  • bash test/run.sh 68_knowledge_manifest

Požadované důkazy

  • sync_idempotent
  • noop_is_cheaper

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

Pokud není synchronizace bez změn výrazně levnější než studená, manifest selhal a má se odstranit, ne držet jako dekorace. Měření je kritériem přijetí, ne návrh.

Zpráva o dokončení

Zrušeno 2026-10-04 na masteru f075170530: předmět tohoto úkolu nikdy nevznikl. `majordomus knowledge` nemá sync a nezapisuje žádný graf, takže není co manifestem zlevnit ani hlásit jako zastaralé. Jeho podpříkazy (sources, nodes, edges, derive, candidates, promote, reject, check) odvozují, co odpovídají, z indexu správy verzí při každém čtení a každý čtenář v Rustu staví index objektů v procesu (1705 objektů, diagnostika 0). Nic pod .ai/repo/knowledge není vygenerovaný graf: adresář drží candidates/, curated/, README.md a sources.yaml. Čtení není zadarmo (`knowledge nodes --json` trvalo 48,9 s reálně při zátěži 42), ale to je cena jednoho čtenáře, ne chybějícího manifestu synchronizace; pokud na tom záleží, je to nový úkol proti tomuto čtenáři. I0811 nyní závisí na I0809, předchůdci, kterého měl tento úkol.

Č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/I0810.yaml. Načtěte ho zpět pomocí majordomus plan show I0810.

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