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.

I0819 — Model projektu se načítá jedním zploštěním na soubor a bez vyhledávání pro každý soubor

Zařídit, aby mj_project_load a mj_project_unknown_keys četly každý milník a úkol jednou a kontrolovaly id a neznámé klíče uvnitř awk místo subprocesu na soubor a na klíč.

HOTOVO 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.

Cíl

Zařídit, aby mj_project_load a mj_project_unknown_keys četly každý milník a úkol jednou a kontrolovaly id a neznámé klíče uvnitř awk místo subprocesu na soubor a na klíč.

Proč

Validátor projektu stojí 3,5 s doctoru a plan validate 4,4 s na 73 záznamech; počet roste s plánem.

Aktuální stav

Každý záznam se zploští, poté se čte zpět pomocí mj_yget při každé kontrole a znovu se čte pro sestavení raw.tsv.

Cílový stav

Jedno zploštění a jeden awk na záznam, neznámé klíče počítá jeden awk nad plochým adresářem proti seznamům povolených.

Rozsah

  • lib/project.sh
  • lib/doctor.sh
  • lib/plan.sh
  • test/cases/40_project_model.sh
  • test/cases/41_project_status.sh
  • test/cases/43_plan_command.sh

Mimo rozsah

  • Jakákoli změna sémantiky modelu v project.awk

Závislosti

Co na tom čeká

Kritéria přijetí

  • validate:project pod 400 ms a plan validate pod 1 s na tomto repozitáři
  • Případy 40 až 48 procházejí beze změny

Validace

  • MJ_TIMING=1 bin/majordomus plan validate
  • bash test/run.sh 40_project_model

Požadované důkazy

  • batch_reads

Důkazy

pokrývátypcommandvýsledeku commitu
batch_readstestMJ_TIMING=1 bin/majordomus plan validatemj_yaml_unknown_keys je jeden řez a jeden grep na soubor místo jednoho grepu na klíč a kontrola id záznamu jede na průchodu awk, který emituje řádky modelu; na tomto repozitáři validate:project klesl z 3483 ms na 452 ms, doctor z 10,0 s na 3,9 s a plan validate z 4,4 s na 1,1 s se stejnými zjištěními; úkol, jehož id nesouhlasí s názvem souboru, je stále odmítnut jménem; případy 02, 16, 24, 40, 41, 43, 44, 45 a 47 procházejí beze změnynext

Riziko

Detekce neznámého klíče přesunutá do awk musí zachovat stejnou sémantiku allow-listu; případ 44 mutuje záznam a očekává odmítnutí.

Časová osa

zahájeno
2026-09-05T02:06:00Z
ověřeno
2026-09-05T02:16:00Z
dokončeno
2026-09-05T02:16:00Z

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

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