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.

I1004 — Dostupnost a viditelnost jsou metadata, ne podmínky v šabloně

Modelovat, kde je schopnost dostupná — vždy, jen ve statickém sestavení, jen s běžícím backendem, jen po ověření, jen při sestavování — a zda je veřejná, nebo interní, aby každý povrch odvozoval své chování z toho, a ne z vlastních podmínek.

HOTOVO vlna 1 · p0 · profil implementation · bezpečné paralelně

Součást capability-graph — Jeden graf schopností, dvě projekce a žádný druhý inventář toho, co tento repozitář umí.

Cíl

Modelovat, kde je schopnost dostupná — vždy, jen ve statickém sestavení, jen s běžícím backendem, jen po ověření, jen při sestavování — a zda je veřejná, nebo interní, aby každý povrch odvozoval své chování z toho, a ne z vlastních podmínek.

Proč

Publikovaný web a běžící server jsou skutečně různá prostředí. Bez těchto metadat si každá šablona vytvoří vlastní představu, co kde funguje, a web nakonec nabízí odkaz na něco, za čím žádný server není.

Aktuální stav

Cockpit obsluhuje běžící proces. Web je generovaný. Nic neříká, která schopnost má v jakém prostředí smysl.

Cílový stav

Dostupnost a viditelnost jsou pole modelu, čtou je všechny projekce a žádná šablona se nerozhoduje sama.

Rozsah

  • apps/majordomus-cli/src/capability/model.rs

Mimo rozsah

  • Jakékoli rozhodnutí učiněné podle názvu hostitele, URL nebo příznaku z doby sestavení uvnitř šablony
  • Interní schopnost, která je tiše neviditelná, aniž by řekla, že je interní

Závislosti

Co na tom čeká

Kritéria přijetí

  • Dostupnost rozlišuje alespoň to, co platí vždy, co vyžaduje běžící backend, co je snímek v době sestavení a co vyžaduje autentizaci
  • Viditelnost rozlišuje veřejné schopnosti a schopnosti pro vývojáře od těch, které jsou záměrně označeny jako interní
  • Každá existující schopnost, routa a povrch je klasifikován a neklasifikovaný je selhání validace, ne výchozí hodnota
  • Žádná projekce nerozhoduje o dostupnosti z ničeho jiného než z těchto metadat

Validace

  • cargo test --workspace --all-features
  • majordomus generate --check

Požadované důkazy

  • availability_modelled
  • no_template_conditions

Důkazy

pokrývátypcommandvýsledeku commitu
availability_modelledtestcargo test --test availability a cargo test --lib capability::model (apps/majordomus-cli)Availability rozlišuje čtyři prostředí — always, runtime, build_time, authenticated — a Visibility tři — public, developer, internal; každá schopnost sestaveného registru nese obojí, shodné s klasifikací toho, co deklaruje, a registr odmítne tu, která se liší; pole dosáhnou docs/generated/openapi.json, docs/generated/registry.json a site/data/registry/registry.json přes generate, takže projekce čte pole5e297b1
no_template_conditionstestcargo test --test availability no_projection_decides_availability_from_where_it_is_servedžádný řádek pod apps/majordomus-cli/src ani share/cockpit/src nečte poskytovací adresu a nesrovnává ji; kontrola čte řádky, ne soubory, protože její první běh označil URL dokumentace v about.rs, což je odkaz a ne verdikt5e297b1

Riziko

Výchozí hodnota always-available činí model zbytečným a klasifikaci neviditelnou. Absence musí být selháním.

Časová osa

zahájeno
2026-09-06T16:22:51Z
ověřeno
—
dokončeno
2026-09-06T16:54:53Z

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

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