I3018 — The intent workspace borrows the plan instead of copying it on every request
/ui/idd and the intent inspector it embeds read plan.issues and plan.roadmap through view::items, a borrow, wherever they only read, instead of view::list, which copies the whole answer: the issues serving the intent, the records the prose may name, the intent's own issues and its milestones.
PŘIPRAVENO vlna 0 · p1 · profil implementation · bezpečné souběžně
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 I3018 bude přijato.
Cíl
/ui/idd and the intent inspector it embeds read plan.issues and plan.roadmap through view::items, a borrow, wherever they only read, instead of view::list, which copies the whole answer: the issues serving the intent, the records the prose may name, the intent's own issues and its milestones.
Proč
Master's validate went red in ui on 2026-10-20 and 21 (runs 39485870890 on 91c0b5d5658 and 39504455062 on 573df967bb5): system.http.ui.idd and system.http.live.ui.idd warm p95 105.8 and 106.5 ms against a 100 ms budget, right after the W0 records grew the DONE set, with commits that only added records. The screen deep-copied the 805 full issue records at least four times per request (idd.rs serving and known, intent.rs known and serving), so its cost grew with every record the plan gained.
Aktuální stav
idd.rs and intent.rs call view::list on plan.issues and plan.roadmap, a to_vec of the whole answer, on every request.
Cílový stav
They borrow the answer; only the intent's own issues are cloned, and the screen's cost no longer grows with the plan's other records.
Rozsah
- apps/majordomus-cli/src/ui/idd.rs
- apps/majordomus-cli/src/ui/intent.rs
- .ai/repo/project/issues/I3018.yaml
- web
- dokumentace
Mimo rozsah
- The budget itself, which stays at 100 ms
- Other screens that copy plan.issues (issues.rs, prs.rs, work.rs, milestone.rs): a follow-up if their budgets move
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- idd.rs and intent.rs read plan.issues and plan.roadmap through view::items wherever they only read them
- system.http.ui.idd and system.http.live.ui.idd warm p95 are within their 100 ms budget in the ui job
Validace
- cargo test --lib ui::
- majordomus bench system.http.ui.idd --transport system --profile ci --no-write --check
Požadované důkazy
- ui_idd_within_budget
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á.
Č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.
Canonical record: .ai/repo/project/issues/I3018.yaml. Read it back with majordomus plan show I3018.