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.

I1947 — Každá funkce dosáhne testu a každý případ užití má funkci

Přiřadit každému aktivnímu případu užití vlastnící funkci a dát funkcím cockpit a deployments tvrzení pojmenovávající jejich vlastní testy, aby panel domovské stránky směrovaný na případ užití došel k funkci a každá funkce došla k testu přes index subjektů (ADR 0087, rozhodnutí 9).

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

Součást test-evidence — Každé ověřitelné tvrzení a widget se na každém povrchu převádí na testovací důkaz vázaný na revizi.

Cíl

Přiřadit každému aktivnímu případu užití vlastnící funkci a dát funkcím cockpit a deployments tvrzení pojmenovávající jejich vlastní testy, aby panel domovské stránky směrovaný na případ užití došel k funkci a každá funkce došla k testu přes index subjektů (ADR 0087, rozhodnutí 9).

Proč

Index subjektů odvozuje subjekty z existujících deklarací. Případ užití, který nejmenuje žádná funkce, je subjekt, který index nemůže zařadit pod funkci, a funkce bez tvrzení se k testům dostane jen přes svá pravidla. Dnes nic nekontroluje vlastnictví případů užití.

Aktuální stav

Některé aktivní případy užití nejmenuje seznam use_cases žádné funkce: `git grep <use-case-id> -- .ai/repo/features` je u každého z nich prázdný. .ai/repo/features/cockpit.md a .ai/repo/features/deployments.md nenesou řádek claims.

Cílový stav

Každý aktivní případ užití jmenuje alespoň jedna funkce; funkce cockpit a deployments nesou každá tvrzení, jehož test ji jmenuje zpět; a případ selže a jmenuje každý, když aktivní případ užití nemá vlastnící funkci.

Rozsah

  • .ai/repo/features/finish-contract.md
  • .ai/repo/features/commit.md
  • .ai/repo/features/install.md
  • .ai/repo/features/continuity.md
  • .ai/repo/features/cockpit.md
  • .ai/repo/features/deployments.md
  • apps/majordomus-cli/tests/cockpit.rs
  • test/cases/84_deployment_contract.sh
  • test/cases/503_every_use_case_has_a_feature.sh
  • docs/CLAIMS.yaml
  • docs/claims

Mimo rozsah

  • Úprava jakéhokoli souboru případu užití
  • .ai/repo/features/finish-contract.md.tmp
  • docs/CLAIMS.yaml nad rámec dvou řádků, které tato část přidává

Závislosti

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

Co na tom čeká

Kritéria přijetí

  • Každý případ užití se stavem aktivní je pojmenován alespoň jednou funkcí a případ selže, když jmenuje každý, který není
  • Případ selže, když je jakýkoli seznam, který čte, prázdný nebo selže příkaz v jeho pipeline
  • Funkce cockpit a nasazení nesou každá jedno tvrzení a test každého tvrzení jmenuje id tvrzení
  • bin/majordomus-cli product validate a bin/majordomus usecase validate procházejí

Validace

  • bash test/run.sh 503_every_use_case_has_a_feature
  • bin/majordomus-cli product validate
  • bin/majordomus usecase validate
  • scripts/ci/claim-proof-check --strict

Požadované důkazy

  • every_use_case_has_a_feature
  • every_feature_reaches_a_test

Důkazy

pokrývátypcommandvýsledeku commitu
every_use_case_has_a_featuretestbash test/run.sh 503_every_use_case_has_a_featureok na 4090b2b8ae: žádný aktivní případ užití tohoto repozitáře není mimo use_cases funkcí a nevlastněný případ fixture je jmenován; product validate a usecase validate končí exit 04090b2b
every_feature_reaches_a_testtestscripts/ci/claim-proof-check --strictexit 0 na 4090b2b8ae: 0 z 217 zaručených tvrzení pojmenovává test, který tvrzení nepojmenovává zpět, mezi nimi tvrzení cockpitu a nasazení4090b2b

Časová osa

zahájeno
2026-10-08T10:49:57Z
ověřeno
2026-10-08T10:50:33Z
dokončeno
2026-10-08T10:50:38Z

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/I1947.yaml. Načtěte ho zpět pomocí majordomus plan show I1947.

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