Zdůvodnění
Soubor dovednosti způsobí, že postup existuje. Existence je to nejslabší, co katalog o položce může říct, a katalog, který říká jen to, je registr, jehož položky hnijí: postup nic nevyzkouší, nic na něj worker neodkáže a z repozitáře nikdo nepozná, zda stále popisuje, co nástroje dělají. Zapsat tested: true do souboru by problém jen přeformulovalo jako data — psané tvrzení, které žádná kontrola nemůže ověřit.
Čtyři fakta, která čtenář potřebuje, se tedy odvozují tam, kde jsou pravdivá: testy, které dovednost jmenují, a běhy, které pro ně kniha důkazů zaznamenala, stránka, kterou web promítá, doktrína a kontrola CI, které soubor drží, a povrchy, které na něj odkazují (ADR 0076).
Požadované chování
- Aktivní dovednost je pojmenována alespoň jedním testem, který vlastní runner, se značkou
majordomus-skill: <id>na řádku komentáře. Značka uvnitř řetězce jsou data a nic neváže. - Aktivní dovednost je odkazována nejméně jedním povrchem vyvolání: workflow, promptem nebo profilem vrstvy, šablonou poskytovatele,
justfileči.just/, workflow CI nebo kořenovým bootstrapem, přesmajordomus://skill/<id>nebo cestu jejíhoSKILL.md. - Test nebo volání, které jmenuje dovednost, kterou repozitář nemá, je vada: vazba na nic vypadá jako důkaz.
- Stav je odvozený.
tested,documented,enforced,usedi aktuální postavení zjišťujískills.statusaskills.explainnad každým povrchem z jednoho odvození; žádný soubor dovednosti, katalog ani stránka webu je neuvádí. - Dovednost, jejíž koncept byl studován mimo tento repozitář, nese jen neprůhledný marker
provenance(origin,ledger: import-<date>#<n>,decision); mapování na zdroj zůstává v lokálním importním ledgeru a nikdy se nekomituje. - Koncept nebo zastaralá dovednost nic z toho nedluží.
Chování při selhání
skills verify skončí kódem 10 a pojmenuje každé selhání: untested nebo unused (osiřelá), failing (poslední zaznamenaný běh pojmenovávajícího testu neprošel), contract (index soubor odmítl), unknown_skill_in_test, unknown_skill_invoked. Stejné nálezy dosáhnou majordomus doctor přes doktrínu majordomus.skill-integrity a kontrola CI skills-proof spouští příkaz při každé změně dovednosti, povrchu volání nebo odvození. Důkazy, které nejsou aktuální, chybějící stránka a chybějící kontrola jsou varování, každé s příkazem, který to vyřeší.
Ověření
majordomus skills verify
bash test/run.sh 391_skills_are_proven_capabilities
cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test skills