I1946 — Slova verdiktu jsou stavová slova designového systému
Zapsat slova verdiktů stavu důkazů jako stavové tokeny s pomlčkami a deklarovanou rolí, aby každý povrch vykresloval verdikt přes designový systém a nově přidaný verdikt musel před vykreslením získat roli (ADR 0087, rozhodnutí 13).
HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně
Cíl
Zapsat slova verdiktů stavu důkazů jako stavové tokeny s pomlčkami a deklarovanou rolí, aby každý povrch vykresloval verdikt přes designový systém a nově přidaný verdikt musel před vykreslením získat roli (ADR 0087, rozhodnutí 13).
Proč
Slova verdiktu proven, inputs-unchanged, failing, unrunnable, not-run a no-test nejsou stavové tokeny, takže povrch, který chce verdikt obarvit, si musí vymyslet mapování. Vzor názvu tokenu odmítá podtržítka, takže klíče jsou slova z drátu s pomlčkami.
Aktuální stav
share/design/tokens.yaml uvádí stale, pending a unknown pod status.states a žádné z výše uvedených slov verdiktu. share/cockpit/cockpit.css se kompiluje z tokenů a nenese pro ně žádný selektor.
Cílový stav
Každé slovo verdiktu je vedeno právě jednou pod svou rolí (proven ok; inputs-unchanged info; failing a unrunnable bad; not-run a no-test neutrální), odvozené stylopisy nesou jeden selektor na slovo a případ čte slovník z vlastního schématu spustitelného souboru, nikoli ze seznamu.
Rozsah
- share/design
- share/cockpit/cockpit.css
- apps/majordomus-cli/src/web/tokens.css
- apps/majordomus-cli/src/design/tokens.yaml
- test/cases/501_verdict_words_are_status_words.sh
Mimo rozsah
- Kód Rustu: ProofState::token() patří I1948
- Opětovné přidání stale, pending nebo unknown, které už jsou zařazeny
- share/cockpit/src
- docs/CLAIMS.yaml
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
- I1958BLOKOVÁNO Důkazy mají jednu trasu na subjekt a každý panel je spojen se svým subjektem
- I1960BLOKOVÁNO Každý widget pojmenovává svůj důkaz
Kritéria přijetí
- Každé slovo schématu ProofState, s každým podtržítkem nahrazeným pomlčkou, je zaneseno právě jednou ve status.states pod svou deklarovanou rolí
- Slovo schématu, které tabulka rolí případu neumístí, případ shodí a slovo uvede
- scripts/cockpit-assets --check skončí s 0 nad přebudovaným stylesheetem
Validace
- bash test/run.sh 501_verdict_words_are_status_words
- scripts/cockpit-assets --check
Požadované důkazy
- verdict_words_filed
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| verdict_words_filed | test | bash test/run.sh 501_verdict_words_are_status_words | ok na 4090b2b8ae: všech sedm slov ProofState je zařazeno jednou pod svou roli se selektorem odznaku v obou stylesheetech; scripts/cockpit-assets --check končí 0 v primárním checkoutu na témže commitu (commitnutá stylesheet odpovídá svému zdroji) | 4090b2b |
Riziko
share/cockpit/cockpit.css je zkompilovaný a není merge=derived, takže konflikt v něm se řeší jeho přestavbou pomocí scripts/cockpit-assets, nikdy ručně.
Časová osa
- zahájeno
- 2026-10-08T10:49:50Z
- ověřeno
- 2026-10-08T10:50:20Z
- dokončeno
- 2026-10-08T10:50:24Z
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/I1946.yaml. Přečtěte ho zpět pomocí majordomus plan show I1946.