Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I2460 — Přehled se ptá svých zdrojů najednou, takže stojí tolik co nejpomalejší zdroj, ne jejich součet

dashboard.overview spouští své odlišné zdroje souběžně přes sdílený executor, takže první stránka Cockpitu a každá obrazovka postavená na přehledu se vykreslí za čas nejpomalejšího zdroje, ne za součet všech sedmi.

HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně

Součást development-runtime — The runtime has a development surface.

Cíl

dashboard.overview spouští své odlišné zdroje souběžně přes sdílený executor, takže první stránka Cockpitu a každá obrazovka postavená na přehledu se vykreslí za čas nejpomalejšího zdroje, ne za součet všech sedmi.

Proč

První řez vlastníkova balíku sjednoceného UI se skutečnými daty (campaigns/majordomus-ui-unified-real-data-v2-20261011, milníky M03 a M11-I04; audit M00 je tmp/owner-packs/majordomus-ui-unified-real-data-v2-20261011/AUDIT-M00.md). Změřeno 2026-10-11 proti sdílenému serveru 0.20.0 na masteru 4dfd185: GET /cockpit se načetl za 13,1 s s JavaScriptem a 17,6 s bez něj a GET /api/v1/dashboard/overview odpovídal za 7,4–10,6 s. Jeho handler (apps/majordomus-cli/src/capability/builtin/dashboard.rs, fn overview) se ptal health.report, release.version, plan.status, worktree.status, plan.next, continuity.state a peers.list jeden po druhém. Samostatně stálo continuity.state 4,9 s, worktree.status 2,0 s, health.report 0,9 s, release.version 0,6 s a zbytek pod 20 ms, takže overview stálo jejich součet. Každá obrazovka dashboardu, kterou balík žádá, skládá tuto odpověď, a dashboard, který potřebuje deset sekund před prvním bajtem, nemůže být titulní stranou produktu.

Aktuální stav

Sedm zdrojů se provádí sekvenčně; latence přehledu je součet jejich latencí.

Cílový stav

Rozlišné zdroje se dotazují na scoped vláknech a joinují se; odpověď, její karty, jejich pořadí a kroky průběhu (hlášené po poslední odpovědi, v pořadí deklarace) jsou tytéž jako dřív. Zdroj, jehož vlákno panikuje, dá neznámé karty nesoucí důvod, jako každý selhaný zdroj. Zde nehotovo: cachování kompozice (ADR 0088 ho odmítá, protože karta nesmí být starší než zdroj, do kterého se čtenář propadne) a zrychlení samotných continuity.state nebo worktree.status.

Rozsah

  • apps/majordomus-cli/src/capability/builtin/dashboard.rs
  • apps/majordomus-cli/tests/dashboard.rs
  • .ai/repo/project/issues/I2460.yaml

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • Každý odlišný zdroj (schopnost, vstup) přehledu se dotazuje právě jednou, v pořadí, v jakém jej karty poprvé uvedou
  • Při dotazu najednou odpovídá každý zdroj tak, jako když se ptáme samotného, a každá karta je stále hodnotou svého zdroje na jeho ukazateli, nebo unknown
  • Na sdíleném serveru tohoto repozitáře GET /api/v1/dashboard/overview odpoví za nejvýše nejpomalejší jediný zdroj plus kompozici, změřeno před a po

Validace

  • bin/majordomus plan validate
  • cargo test --lib capability::builtin::dashboard
  • cargo test --test dashboard
  • MJ_TEST_JOBS=4 bash test/run.sh 534_the_overview_answers_four_questions.sh

Požadované důkazy

  • overview_sources_concurrent_test
  • overview_latency_before_after

Důkazy

pokrývátypcommandvýsledeku commitu
overview_sources_concurrent_testcicargo test --lib capability::builtin::dashboard; cargo test --test dashboard; test/run.sh 534 (validate run 38223440282 na 722228ef3c, vrchol v0.21.0)9 testů capability::builtin::dashboard ok, tests/dashboard.rs ok, případ 534_the_overview_answers_four_questions ok722228e
overview_latency_before_afterručnídashboard.overview měřeno před a po v PR #934před 6,0–6,2 s (sdílený server 0.20.0, primární checkout); po 1,2–1,3 s (build větve): přehled stojí tolik, co jeho nejpomalejší zdroj722228e

Časová osa

zahájeno
2026-10-12T10:58:12Z
ověřeno
2026-10-12T10:58:22Z
dokončeno
2026-10-12T10:58:43Z

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/I2460.yaml. Přečtěte jej zpět pomocí majordomus plan show I2460.

Prohledává názvy a popisy všech stránek, které tento web publikuje.