intents.validate
Every finding over the intents: an intent naming no milestone or no criterion, a milestone that does not resolve, a criterion with no evidence reference or one that names nothing this repository holds, governance that does not resolve, a successor that is not an intent, a file name that disagrees with its id — each a failure — and a milestone no intent serves, a warning.
Every finding over the intents: an intent naming no milestone or no criterion, a milestone that does not resolve, a criterion with no evidence reference or one that names nothing this repository holds, governance that does not resolve, a successor that is not an intent, a file name that disagrees with its id — each a failure — and a milestone no intent serves, a warning.
- query
- behaviorally_verified
- module intents
- #intent
- #project
- #validation
Exposure
Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.
| surface | as |
|---|---|
| MCP | tool majordomus_intent_validate |
| HTTP | GET /api/v1/intents/validate operationId intents.validate |
| command line | majordomus intent validate |
Schemas
The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.
input · Empty
No properties: the capability takes no input.
JSON Schema
{
"additionalProperties": false,
"description": "No input.",
"title": "Empty",
"type": "object"
}output · IntentValidation
use majordomus_cli::capability::builtin::intents::IntentValidation;
let v = IntentValidation {
valid: true,
intents: 2,
failures: 0,
warnings: 20,
findings: vec![],
};
// twenty warnings and no failure is a valid model
assert!(v.valid);| property | type | required | description |
|---|---|---|---|
| failures | integer | yes | How many findings are failures. |
| findings | array | yes | Every finding. |
| intents | integer | yes | How many intents were examined. |
| valid | boolean | yes | True when no finding is a failure. Warnings do not make it false. |
| warnings | integer | yes | How many findings are warnings. |
JSON Schema
{
"$defs": {
"IntentFinding": {
"description": "One validation finding: its level, a stable code a reader greps for, the intent or milestone\nit is about, one line of what is wrong, and the command that shows it again.\n\n```\nuse majordomus_cli::intent::{IntentFinding, FAIL};\nlet f = IntentFinding {\n level: FAIL.into(),\n code: \"unknown_milestone\".into(),\n subject: \"intent-lifecycle\".into(),\n message: \"`no-such` is not a milestone\".into(),\n reproduce: \"majordomus intent validate\".into(),\n};\nassert_eq!(f.level, \"FAIL\");\nassert_eq!(f.reproduce, \"majordomus intent validate\");\n```",
"properties": {
"code": {
"description": "The stable code a reader greps for.",
"type": "string"
},
"level": {
"description": "`FAIL` or `WARN`. A failure means the intent model is invalid.",
"type": "string"
},
"message": {
"description": "What is wrong, in one line.",
"type": "string"
},
"reproduce": {
"description": "The command that shows it again.",
"type": "string"
},
"subject": {
"description": "The intent or milestone the finding is about.",
"type": "string"
}
},
"required": [
"level",
"code",
"subject",
"message",
"reproduce"
],
"type": "object"
}
},
"description": "What the intent model refuses: whether it is valid, how many intents were examined, and\nevery finding with its level. Warnings are reported and do not make it invalid.\n\n```\nuse majordomus_cli::capability::builtin::intents::IntentValidation;\nlet v = IntentValidation {\n valid: true,\n intents: 2,\n failures: 0,\n warnings: 20,\n findings: vec![],\n};\n// twenty warnings and no failure is a valid model\nassert!(v.valid);\n```",
"properties": {
"failures": {
"description": "How many findings are failures.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"findings": {
"description": "Every finding.",
"items": {
"$ref": "#/$defs/IntentFinding"
},
"type": "array"
},
"intents": {
"description": "How many intents were examined.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"valid": {
"description": "True when no finding is a failure. Warnings do not make it false.",
"type": "boolean"
},
"warnings": {
"description": "How many findings are warnings.",
"format": "uint",
"minimum": 0,
"type": "integer"
}
},
"required": [
"valid",
"intents",
"failures",
"warnings",
"findings"
],
"title": "IntentValidation",
"type": "object"
}Policies
- benchmark
- required — a target on every transport the exposure declares; the cases are the input type's
- cache
- disabled — every call runs the handler
Benchmark targets
Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.