skills.verify
Každý nález nad dovednostmi: soubor, který porušuje kontrakt dovednosti, aktivní dovednost, kterou nejmenuje žádný test nebo ji nic nevyvolává, test, jehož poslední běh selhal, test nebo vyvolání jmenující dovednost, která neexistuje — každé selhání — a důkazy, které nejsou aktuální, chybějící stránka nebo chybějící kontrola, každé varování.
Každý nález nad dovednostmi: soubor, který porušuje kontrakt dovednosti, aktivní dovednost, kterou nejmenuje žádný test nebo ji nic nevyvolává, test, jehož poslední běh selhal, test nebo vyvolání jmenující dovednost, která neexistuje — každé selhání — a důkazy, které nejsou aktuální, chybějící stránka nebo chybějící kontrola, každé varování.
- query
- behaviorally_verified
- dovednosti modulu
- #skill
- #evidence
- #validation
Zpřístupnění
Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.
| povrch | jako |
|---|---|
| MCP | nástroj majordomus_skills_verify |
| HTTP | GET /api/v1/skills/verify operationId skills.verify |
| příkazová řádka | majordomus skills verify |
Schémata
Kanonický vstup a výstup z typů Rustu; schéma nástroje MCP a parametry a odpovědi OpenAPI se odvozují z nich.
vstup · Prázdné
Žádné vlastnosti: schopnost nebere žádný vstup.
JSON Schema
{
"additionalProperties": false,
"description": "No input.",
"title": "Empty",
"type": "object"
}výstup · SkillVerification
use majordomus_cli::capability::builtin::skills::SkillVerification;
let v = SkillVerification { valid: true, skills: 3, failures: 0, warnings: 2, findings: vec![] };
// warnings are debts, reported; they do not make the verdict false
assert!(v.valid);| vlastnost | typ | povinné | popis |
|---|---|---|---|
| selhání | integer | ano | Kolik zjištění odmítá. |
| zjištění | array | ano | Každý nález. |
| skills | integer | ano | Kolik dovedností bylo prozkoumáno. |
| platné | boolean | ano | Pravda, když žádné zjištění není selháním. |
| varování | integer | ano | Kolik zjištění jsou varování. |
JSON Schema
{
"$defs": {
"SkillFinding": {
"description": "One thing the derivation found wrong, with the command that settles or reproduces it.\n\n```\nuse majordomus_cli::skill::{SkillFinding, SkillFindingLevel};\nlet f = SkillFinding {\n level: SkillFindingLevel::Fail,\n code: \"untested\".into(),\n skill: Some(\"implement\".into()),\n subject: \".ai/repo/skills/implement/SKILL.md\".into(),\n message: \"no test names this skill\".into(),\n reproduce: \"majordomus skills explain implement\".into(),\n};\nassert!(f.reproduce.contains(\"explain\"));\n```",
"properties": {
"code": {
"description": "A stable code: `contract`, `untested`, `unused`, `unevidenced`, `failing`,\n`undocumented`, `unenforced`, `unknown_skill_in_test`, `unknown_skill_invoked`.",
"type": "string"
},
"level": {
"$ref": "#/$defs/SkillFindingLevel",
"description": "`fail` or `warn`."
},
"message": {
"description": "What is wrong, and what to do about it.",
"type": "string"
},
"reproduce": {
"description": "The command that reproduces or settles it.",
"type": "string"
},
"skill": {
"description": "The skill concerned, when the finding is about one.",
"type": [
"string",
"null"
]
},
"subject": {
"description": "The file the finding is about, repository-relative.",
"type": "string"
}
},
"required": [
"level",
"code",
"subject",
"message",
"reproduce"
],
"type": "object"
},
"SkillFindingLevel": {
"description": "How bad a finding is: a failure refuses, a warning is reported.\n\n```\nuse majordomus_cli::skill::SkillFindingLevel;\nassert_ne!(SkillFindingLevel::Fail, SkillFindingLevel::Warn);\n```",
"oneOf": [
{
"const": "fail",
"description": "Refuses: `skills verify` exits 10 and the doctrine fails.",
"type": "string"
},
{
"const": "warn",
"description": "Reported, and does not refuse.",
"type": "string"
}
]
}
},
"description": "The verdict over every skill: valid when no finding refuses.\n\n```\nuse majordomus_cli::capability::builtin::skills::SkillVerification;\nlet v = SkillVerification { valid: true, skills: 3, failures: 0, warnings: 2, findings: vec![] };\n// warnings are debts, reported; they do not make the verdict false\nassert!(v.valid);\n```",
"properties": {
"failures": {
"description": "How many findings refuse.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"findings": {
"description": "Every finding.",
"items": {
"$ref": "#/$defs/SkillFinding"
},
"type": "array"
},
"skills": {
"description": "How many skills were examined.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"valid": {
"description": "True when no finding is a failure.",
"type": "boolean"
},
"warnings": {
"description": "How many findings are warnings.",
"format": "uint",
"minimum": 0,
"type": "integer"
}
},
"required": [
"valid",
"skills",
"failures",
"warnings",
"findings"
],
"title": "SkillVerification",
"type": "object"
}Politiky
- benchmark
- povinné — cíl na každém transportu, který expozice deklaruje; případy jsou ty ze vstupního typu
- cache
- vypnuto — každé volání spustí handler
Cíle benchmarku
Odvozeno z registru pro tento repozitář: jeden požadavek na transport a případy, které poskytuje typ vstupu. Celá matice je na stránce měření výkonu.