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.

I2470 — Pull requesty se odbavují v UI: fronta, kterou čtenář zužuje, zkoumá a sleduje až k tomu, na čem každý závisí

Dát majordomus ui obrazovku PR Drain (/ui/prs), která ukazuje každý otevřený pull request tak, jak jej posoudila integrační lane, umožňuje čtenáři zúžit výběr podle dispozice, lane a textu, prohlédnout jeden pull request a úkol plánu, který jmenuje, a sledovat každou závislost a překryv k pull requestu, na který vedou; každý ovládací prvek je odkaz nebo formulář GET, takže každý pohled má adresu a obrazovka je úplná bez JavaScriptu.

HOTOVO vlna 2 · p1 · profil implementation · běží samostatně

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

Cíl

Dát majordomus ui obrazovku PR Drain (/ui/prs), která ukazuje každý otevřený pull request tak, jak jej posoudila integrační lane, umožňuje čtenáři zúžit výběr podle dispozice, lane a textu, prohlédnout jeden pull request a úkol plánu, který jmenuje, a sledovat každou závislost a překryv k pull requestu, na který vedou; každý ovládací prvek je odkaz nebo formulář GET, takže každý pohled má adresu a obrazovka je úplná bez JavaScriptu.

Proč

Vlastník požádal 2026-10-11 o implementaci každé komponenty a pohledu ze screenshotů UI, maximálně interaktivní a klikací (reference campaigns/majordomus-ui-unified-real-data-v2-20261011/reference/03-pr-drain.png a 05-issues-and-prs.png; balíček v3, milník M05). I2462 (PR #948) ukazuje frontu jako tabulku na /ui/work s detailem jednoho pull requestu; nic v ní nezužuje, nehledá a nevede nikam než zpět. Data pro zbytek existují v integration.queue: součty podle dispozice a lane, next_merge, next_refresh, starving, last_merge a pro každý pull request jeho závislosti (jistota, stav, splněno), překryvy (se sdílenými cestami), rizikové faktory, povinné kontroly, review a jak dlouho je k vyřízení; plan.issues drží každý úkol s jeho závislostmi, závislými, záměry, kterým slouží, a počty důkazů.

Aktuální stav

Fronta je tabulka řádků, z nichž každý otevírá jeden detail na /ui/work; nejsou tam žádné záložky, žádné hledání, žádná navigace závislostí ani překryvů, žádný pohled blokátorů a žádný pohled úkolu.

Cílový stav

/ui/prs se vykreslí hned (plan.status, plan.issues) a odtok doplní z /ui/panels/drain po vykreslení, protože integration.queue se ptá forge. Odtok ukazuje součty dráhy (každý je odkaz na dráhu, kterou počítá), co dráha udělá dál (další merge, další obnovení, starving, poslední merge, každý pull request jako odkaz), vlastní dispozice fronty jako záložky s počty, vyhledávání v názvu, větvi, autorovi a čísle, připuštěné pull requesty v pořadí hodnocení, blokátory (konfliktní nebo vyžadující opravu, s tím, co by každý pohnulo) a graf toho, který otevřený pull request závisí na kterém (sloučená závislost se nekreslí; ta, kterou fronta nedrží, se kreslí malá a vede na forge). ?pr=N otevře inspektor: odznaky, další akci, důvody a od kdy je proveditelný, úkoly plánu, které jeho název nebo větev jmenuje (každý jako odkaz na ten úkol), kontroly, závislosti a překryvy (každý jako odkaz na ten pull request, nebo na forge, pokud není otevřený), rizikové faktory, důkazy a napsané cesty a odkaz na pull request na forge. ?issue=ID otevře úkol: jeho cíl, stav, milník, na čem závisí, čím je blokován a co odblokuje (každé jako odkaz), záměry, kterým slouží, jeho rozsah, jeho důkazy jako měřidlo a jeho data a odkaz na pull requesty, které ho jmenují. Řádky fronty na Dashboardu vedou sem. Forge, který nikdo nepozoroval, to říká a neukazuje žádné číslo; hodnota, kterou odkaz nese a která není slovem fronty ani id úkolu, se zahodí.

Rozsah

  • apps/majordomus-cli/src/ui/prs.rs
  • apps/majordomus-cli/src/ui/mod.rs
  • apps/majordomus-cli/src/ui/dashboard.rs
  • .ai/repo/project/issues/I2470.yaml
  • docs/MAJORDOMUS_UI.md
  • test/cases/1075_the_pull_requests_drain_in_the_ui.sh

Závislosti

Co na tom čeká

Kritéria přijetí

  • /ui/prs odpovídá 200 s hero a panelem drain odloženým na /ui/panels/drain, nesoucím volby čtenáře ve svém dotazu
  • karty odvodu jsou vlastní dispozice fronty s jejich počty a každá zužuje řádky; hledání najde titulek, větev, autora nebo číslo
  • /ui/prs?pr=N otevře inspektor se závislostmi a překryvy vedoucími na jejich pull requesty, odkazem na forge a úkoly, které název jmenuje; číslo, které fronta nepozorovala, to říká
  • /ui/prs?issue=ID otevře úkol s jeho závislostmi a závislými jako odkazy; id, které plán nedrží, to řekne
  • graf kreslí jen otevřené závislosti a forge, který nebyl pozorován, neukazuje žádnou záložku ani číslo

Validace

  • cargo test --lib ui::
  • test/run.sh 1075_the_pull_requests_drain_in_the_ui

Požadované důkazy

  • ui_prs_unit_tests
  • ui_prs_case_1075

Důkazy

pokrývátypcommandvýsledeku commitu
ui_prs_unit_testscicargo test --lib ui::prs (CI job rust, validate run 38223440282 on 722228ef3c)17 testů ui::prs ok, celkem 106 testů ui:: ok, žádný neselhal722228e
ui_prs_case_1075citest/run.sh 1075_the_pull_requests_drain_in_the_ui (běh validate 38223440282 na 722228ef3c, top v0.21.0)case 1075_the_pull_requests_drain_in_the_ui ok722228e

Časová osa

zahájeno
2026-10-12T11:00:46Z
ověřeno
2026-10-12T11:00:51Z
dokončeno
2026-10-12T11:00:58Z

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/I2470.yaml. Přečtěte jej zpět přes majordomus plan show I2470.

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