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.

Rozhraní ukazuje jen to, co je odvozeno, a neznámé se nikdy nevykresluje jako zdravé

Rozhraní ukazuje jen to, co je odvozeno, a neznámé se nikdy nevykresluje jako zdravé

majordomus://rule/project.ui-derived-state@1aktivní uicockpitwebevidenceodvozovánívynucování

Zdůvodnění

2026-09-29 dva auditní průchody jen pro čtení (Cockpit a veřejný web) klasifikovaly každý fakt a seznam, které rozhraní ukazují. Nic nebylo zfalšováno, ale tenká vrstva nebyla tím, čím vypadala. Kontrola zdraví byla ok, protože její stav byl literál HealthStatus::Ok. Čipy efektů počítaly 0, protože počet byl literál 0. Upstream bez sledovacích dat četl +0 −0. Model bez deklarovaného stavu četl „dostupný“, protože to byla #[default] výčtu. Pás statistik vypouštěl součty, které byly špatné. Na webu byla deklarovaná záruka vybarvena jako prokázaná. Každé pravidlo, které se toho týká (product-surface-derived, entry-reports-only-evidence, web-surface-declared-once, projekční kontrola ADR 0012), drží jednu část. Žádné neříká celou invariantu a žádné nedosáhlo na literály Rustu v Cockpitu. ADR 0089 zaznamenává rozhodnutí.

Požadované chování

  1. Žádná zesměšněná data produkčního UI. Stránka vykresluje to, na co odpověděla schopnost nebo co odvodil generátor. Data fixtur nebo ilustrační data se nikdy nedodávají jako produkční hodnota.
  2. Žádný napevno zapsaný stav domény. Stav, počet, zralost nebo verdikt nikdy není literál v šabloně, stránce nebo handleru. Literál, který je správný ze své konstrukce, to říká v komentáři // ui-integrity: <reason>.
  3. Žádné duplicitní inventáře. Seznam tras, oblastí, stavů, efektů nebo součtů se čte z jediného místa, které ho deklaruje. Vedle tohoto místa se znovu nepíše.
  4. Důkazy jsou povinné. Verdikt, který tvrdí zdraví, aktuálnost nebo důkaz, pojmenovává, z čeho byl rozhodnut (decided_by, evidence, preflight Check). Deklarovaný stav je stylisticky oddělen od pozorovaného.
  5. Neznámé není zdravé. Chybějící, selhavší nebo nerozhodnutá hodnota se vykreslí jako neznámá. Nikdy se nevykreslí jako ok, zdravá, dostupná, aktuální ani nula. Žádný výčet nemá výchozí zdravou variantu.
  6. Čerstvost je explicitní. Hodnota přečtená jednou a zobrazená později říká, kdy byla pozorována. Kde je deklarována hranice zastarání, hodnota říká, kdy zastarala.
  7. Frontend počítá prezentaci, ne realitu. Stránka Cockpitu se ptá schopnosti přes Context::execute. Nečte ani index, ani — mimo deklarovaný seznam povolených hodnot navigace — registr, model produktu nebo katalog Why. Verdikt se rozhoduje ve schopnosti, ne v pohledu.

Chování při selhání

Kontrola ui-integrity (scripts/ci/cockpit-projection-check --ui-integrity, job structure, každý plán) skončí s kódem 10 při nálezu, který .ai/repo/ui-integrity-baseline.txt nesplňuje. Nálezy, které vidí, jsou:

  • přímé čtení ctx.registry, ctx.product nebo ctx.why v souboru Cockpit mimo allow-list;
  • kontrola zdraví, které se status: HealthStatus::Ok předá jako literál;
  • #[default] na zdravé variantě enumu;
  • chybějící počet vykreslený jako nula v pages.rs.

Kontrola cockpit-projection skončí s exit 10 při přímém čtení indexu. Baseline se jen zmenšuje: řádek se splácí opravou jeho nálezu. --strict baseline ignoruje, a to je cílový stav.

Ověření

test/cases/547_the_ui_says_only_what_is_derived.sh zasadí každé porušení do fixture stromu. Ověřuje, že každé je odmítnuto kontrolou, souborem a řádkem, že čistý strom a vyňatá místa projdou a že ratchet připustí známý dluh, odmítne nové nálezy, hlásí splacené řádky a pod --strict se ignoruje. test/cases/389_cockpit_projection.sh drží polovinu indexu. Dílčí pravidla 1, 3, 4 a 6 jsou zde vynucována jen tam, kam dosáhne skenování řádků. Zbytek a šablony webu jsou následné kroky, které uvádí ADR 0089.

Odkud to pochází

kanonický soubor
.ai/repo/rules/project/ui-derived-state.v1.md
identity
project.ui-derived-state@1
dostupné také jako
Zdroj MCP majordomus://rule/project.ui-derived-state@1 · majordomus entity show rule/project-ui-derived-state-1 · GET /api/v1/entity?uri=majordomus://rule/project.ui-derived-state@1
v Cockpitu
/cockpit/objects/rule/project-ui-derived-state-1

Tato stránka je generována z výše uvedeného souboru pomocí scripts/generate-site-data; úprava stránky nic nemění, úprava souboru změní všechna rozhraní. Výše uvedené vztahy jsou hrany docs/generated/graph.json, které spustitelný program zapisuje ze stejného indexu.

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