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.

I2852 — každá třída, kterou obrazovka UI přidělí prvku, je definována ve stylech UI

Unit test přečte každý doslovný `.class(...)` ve zdrojích obrazovek UI a ve zdroji stylesheetu UI a odmítne třídu, kterou stylesheet ani nedefinuje, ani nedefinuje její části. Třídy, které shledal nedefinovanými, se přesunou do vlastních tříd sady: štítky vyhledávání do mj-sr-only, seznamy do mj-ui-prose-list, počty mesh do mj-ui-mono.

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

Součást truthful-plan-surfaces — Povrchy plánu se odvozují z dodávky a nic, co zobrazují, se nezadává vedle repozitáře.

Cíl

Unit test přečte každý doslovný `.class(...)` ve zdrojích obrazovek UI a ve zdroji stylesheetu UI a odmítne třídu, kterou stylesheet ani nedefinuje, ani nedefinuje její části. Třídy, které shledal nedefinovanými, se přesunou do vlastních tříd sady: štítky vyhledávání do mj-sr-only, seznamy do mj-ui-prose-list, počty mesh do mj-ui-mono.

Proč

Nalezeno 2026-10-18 na masteru 707a04c7ce8. Review /ui/prs landing seatem našlo mj-ui-list nostylované ničím. Průzkum zdrojů UI pak našel pět tříd, které stylesheet nedefinuje: mj-ui-sr-only u popisků vyhledávání v Issues a PR Drain, které tak byly viditelné, ač byly určeny jen čtečkám obrazovky; mj-ui-list na obrazovkách tvrzení, záměrů a IDD; mj-ui-num v tabulkách meshe. Zbytek jsou kořeny bloků, jejichž části jsou stylovány. Nic obě množiny nesrovnávalo, takže každá byla slibem, který stránka nedodržela. 2b si kontrolu nárokovala jako I2905 a uvolnila ji pro 3e.

Aktuální stav

Obrazovky emitují třídy, kterým neodpovídá žádné pravidlo stylesheetu, a nic to nehlásí.

Cílový stav

ui::tests::every_class_a_screen_emits_is_one_the_stylesheet_defines drží každou obrazovku, včetně později přidané, a obrazovky používají jen třídy, které sada definuje.

Rozsah

  • apps/majordomus-cli/src/ui/mod.rs
  • apps/majordomus-cli/src/ui/issues.rs
  • apps/majordomus-cli/src/ui/prs.rs
  • apps/majordomus-cli/src/ui/claim.rs
  • apps/majordomus-cli/src/ui/intent.rs
  • apps/majordomus-cli/src/ui/idd.rs
  • apps/majordomus-cli/src/ui/mesh.rs

Mimo rozsah

  • Třídy sestavené přes format! (tón, stav): jejich kmeny jsou kmeny sady a test čte literály.
  • Stylopis a stránky Cockpitu: samostatná sada s vlastními aktivy.

Závislosti

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

Kritéria přijetí

  • Třída obrazovky, kterou stylopis nedefinuje, způsobí selhání unit testů UI a jmenuje soubor, řádek a třídu
  • Štítky vyhledávání v Issues a PR Drain jsou skryty přes mj-sr-only

Validace

  • bin/majordomus plan validate
  • cargo test --lib -- ui::

Požadované důkazy

  • every_class_is_defined_test

Důkazy

pokrývátypcommandvýsledeku commitu
every_class_is_defined_testcivalidate run 39438896504 at master 9a5a9b77520: rust (1-3) jobs 118683336143 118683336062 118683336401 run cargo test, incl. ui::every_class_a_screen_emits_is_one_the_stylesheet_defines (500f0d48b34)success (the run's only red job is pages, which runs no test)a81b1e3

Časová osa

zahájeno
2026-10-20T16:16:11Z
ověřeno
—
dokončeno
2026-10-20T16:30:10Z

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

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