I2995 — doctor nedělá práci, jejíž odpověď nemůže změnit nález: vyhledávání v plánu rozvoje a široký stav nástěnky
Odstranit dvě čtení, která v hooku commitu dominovala doctoru, aniž by se změnil nález. (1) Doktrína plánu rozvoje čte nejdřív seznam release v README, a když sekce žádný neuvádí, rozhodne OK dřív, než vyhledá release jakéhokoli milníku; seznam se stále porovnává se záznamy o release oběma směry (ADR 0166, I2742: záznamy, ne tagy). (2) Nástěnka stavitele kontextu se ptá `serve status --checkouts this` na adresu, kterou používá, a ptá se každého checkoutu, jen když tento nemá server, takže jeho odpověď je ta, kterou dal široký dotaz.
HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně
Cíl
Odstranit dvě čtení, která v hooku commitu dominovala doctoru, aniž by se změnil nález. (1) Doktrína plánu rozvoje čte nejdřív seznam release v README, a když sekce žádný neuvádí, rozhodne OK dřív, než vyhledá release jakéhokoli milníku; seznam se stále porovnává se záznamy o release oběma směry (ADR 0166, I2742: záznamy, ne tagy). (2) Nástěnka stavitele kontextu se ptá `serve status --checkouts this` na adresu, kterou používá, a ptá se každého checkoutu, jen když tento nemá server, takže jeho odpověď je ta, kterou dal široký dotaz.
Proč
Profil doctoru v kontextu commit hooku (MJ_TIMING=1, 2026-10-18, po I2993) naměřil 244 s proti rozpočtu 100 s (policy benchmark.budget.doctor_ms). validate:roadmap trvalo 64 s: mj_pj_m_released_in spouští pickaxe `git log -S` nad historií pro každý milník DONE a v tomto repozitáři roadmapa v README neuvádí žádné releasy, takže každé vyhledání bylo zahozeno. validate:budget trvalo 63 s: spouští `majordomus context`, jehož vyhledání nástěnky strávilo 11 s dotazováním serveru každého checkoutu (`serve status` nad repozitářem), aby vybralo adresu tohoto checkoutu. Commit hooky trvaly toho dne v každé roli 14 až 37 minut; role release označila hook za spodní mez propustnosti.
Aktuální stav
Doktrína plánu rozvoje spočítá release každého HOTOVO milníku dřív, než přečte README; vyhledání nástěnky se při každém kontextu ptá na široký stav serveru.
Cílový stav
README, které neuvádí žádné releasy, nestojí žádné vyhledání releasu; worktree se serverem stojí jedno přečtení zámku a jednu sondu na adresu nástěnky; nálezy jsou beze změny.
Rozsah
- lib/doctor.sh
- lib/context.sh
- test/cases/3385_doctor_fits_its_budget_in_the_commit_hook.sh
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- README, jehož plán rozvoje neuvádí žádné releasy, je posouzeno jako OK bez pickaxe; s vrácenou změnou případ počítá dotazy a selže
- README, které uvádí release, se přijme, když odpovídá záznamům, a odmítne, když některý vynechá
- context se ptá jen `serve status --checkouts this`, když tento checkout má server; se změnou vrácenou zpět případ vidí široký dotaz a selže
- nálezy doctoru na tomto repozitáři jsou před i po stejné a validate:roadmap a validate:budget trvají kratší dobu
Validace
- bash test/run.sh 3385_doctor_fits_its_budget_in_the_commit_hook 49_roadmap_doctrine 106_context_peers
Požadované důkazy
- case_doctor_no_needless_work
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| case_doctor_no_needless_work | ci | validate run 39438896504 at master 9a5a9b77520: suite shards 1-4 (jobs 118683336189 118683338077 118683336157 118683336457) run every case, incl. 3385_doctor_fits_its_budget_in_the_commit_hook (ed72c132539) | success (the run's only red job is pages, which runs no test) | a81b1e3 |
Časová osa
- zahájeno
- 2026-10-20T16:19:24Z
- ověřeno
- —
- dokončeno
- 2026-10-20T16:33:32Z
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/I2995.yaml. Přečtěte si ho zpět pomocí majordomus plan show I2995.