I0840 — context a jeho podpříkazy pod jednu sekundu
Změřit čas u context resolve, validate, affected a check-sync a odstranit volání git a awk pro každý dokument, aby každý z nich v tomto repozitáři běžel do sekundy.
BLOKOVÁNO vlna 3 · 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.
Blokováno. Tento úkol nemůže začít, dokud nejsou I0820, I0821 hotovo. Stav je z toho odvozen, ne deklarován.
Cíl
Změřit čas u context resolve, validate, affected a check-sync a odstranit volání git a awk pro každý dokument, aby každý z nich v tomto repozitáři běžel do sekundy.
Proč
context je to, co každá relace spouští jako první, a resolve je to, co každý worker spouští, než se dotkne cesty.
Aktuální stav
Každý trvá asi vteřinu, dominuje mu git ls-files na dokument.
Cílový stav
Jedno git ls-files na vyvolání, jedno zploštění na dokument, výstup beze změny.
Rozsah
- lib/context_docs.sh
- lib/context.sh
- test/cases/69_context_documents.sh
- test/cases/70_context_impact.sh
- test/cases/71_context_sync.sh
Závislosti
- I0820PŘIPRAVENO Validátory katalogu, DAG, kontextu a povrchu příkazů čtou své vstupy jednou
- I0821PŘIPRAVENO Zploštělé YAML se cachuje v .ai/local/cache podle hashe obsahu
Kritéria přijetí
- Případy 23, 69, 70 a 71 procházejí beze změny
- počet volání git pro context validate je nejvýše dva
Validace
- MJ_TIMING=1 bin/majordomus context validate
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
Pravidlo jen sledovaných musí přežít: jeden výpis ls-files se filtruje pro každý dokument místo dotazu pro každý dokument.
Č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/I0840.yaml. Načtěte jej zpět pomocí majordomus plan show I0840.