I0836 — Generátor syntetického repozitáře pro škálovací případy
Přidat testovací pomocníka, který ze skeletonu sestaví repozitář s N úkoly, N milníky, N pravidly a N kontextovými dokumenty, a případ, který spustí doctor a plan validate ve třech velikostech a ověří, že počet yaml_flatten roste lineárně.
HOTOVO 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.
Cíl
Přidat testovací pomocníka, který ze skeletonu sestaví repozitář s N úkoly, N milníky, N pravidly a N kontextovými dokumenty, a případ, který spustí doctor a plan validate ve třech velikostech a ověří, že počet yaml_flatten roste lineárně.
Proč
Kvadratické chování se skrývá v malých repozitářích; čítače ho odhalí dříve než skutečný čas.
Aktuální stav
Fixtury se pro každý případ staví ručně.
Cílový stav
Jeden generátor v test/lib.sh, jeden škálovací případ, čítače lineární v N.
Rozsah
- test/lib.sh
- test/cases
Mimo rozsah
- Tvrzení o reálném čase v případu škálování
Závislosti
Kritéria přijetí
- Počítadla při N, 2N a 4N jsou v lineární mezi
- Generátor znovu používá alespoň jeden další případ
Validace
- bash test/run.sh 3053_a_repository_of_n_records_costs_n
Požadované důkazy
- batch_reads
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| batch_reads | test | bash test/run.sh 3053_a_repository_of_n_records_costs_n 886_the_timing_report_is_json | testy: 2 prošly; při N=8/16/32 záznamech plan validate provede 3/3/3 parsování YAML a 0 volání gitu, doctor 116/124/140 parsování a 124/124/124 volání gitu (lineární mez platí); synthetic_repo používá také případ 886 | c0e3585 |
Riziko
Generované záznamy musí projít plan validate; pomocník je staví ze stejných šablon, které dodává kostra.
Časová osa
- zahájeno
- 2026-10-15T07:36:51Z
- ověřeno
- —
- dokončeno
- 2026-10-15T07:36:57Z
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/I0836.yaml. Přečtěte ho zpět pomocí majordomus plan show I0836.