I0820 — Validátory katalogu, DAG, kontextu a povrchu příkazů čtou své vstupy jednou
Přepsat zbývající validátory, které smyčkují mj_yget nebo mj_git po položkách, aby každý četl své vstupy jedním průchodem.
PŘIPRAVENO vlna 2 · 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 I0820 bude přijato.
Cíl
Přepsat zbývající validátory, které smyčkují mj_yget nebo mj_git po položkách, aby každý četl své vstupy jedním průchodem.
Proč
Dohromady stojí 2,3 s doctoru poté, co se opraví dva největší validátory.
Aktuální stav
validate:catalogue 0.8 s, validate:context 0.6 s, validate:dag 0.5 s, validate:command_surface 0.35 s.
Cílový stav
Každý ze čtyř pod 150 ms na tomto repozitáři, se shodnými zjištěními.
Rozsah
- lib/doctor.sh
- lib/context_docs.sh
- lib/commands.sh
- test/cases/28_catalogue.sh
- test/cases/42_dag_waves.sh
- test/cases/69_context_documents.sh
Závislosti
- I0818HOTOVO Registr příkazů se čte jedním průchodem
- I0819HOTOVO Model projektu se načítá jedním zploštěním na soubor a bez vyhledávání po souborech
Co na tom čeká
- I0822BLOKOVÁNO Každý kanonický soubor se na příkaz zploští nejvýše jednou
- I0828BLOKOVÁNO doctor pod deklarovaným rozpočtem a hook jej zdědí
- I0840BLOKOVÁNO context a jeho podpříkazy do jedné sekundy
- I0842BLOKOVÁNO Důkazy před a po pro každou optimalizaci
Kritéria přijetí
- Fáze každého validátoru pod 150 ms
- Případy, které mutují své vstupy, na mutaci stále selhávají
Validace
- MJ_TIMING=1 bin/majordomus doctor
- bash test/run.sh 69_context_documents
Požadované důkazy
- batch_reads
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
Validátor kontextu volá git pro každý dokument; jeho dávkování musí zachovat pravidlo jen sledovaných souborů.
Č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/I0820.yaml. Přečtěte jej zpět pomocí majordomus plan show I0820.