Skip to content

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.

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCPtool majordomus_intent_validate
HTTPGET /api/v1/intents/validate operationId intents.validate
command linemajordomus 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 input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · IntentValidation

What the intent model refuses: whether it is valid, how many intents were examined, and every finding with its level. Warnings are reported and do not make it invalid.

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);
propertytyperequireddescription
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.

transportstatecasestargets
directcovered1default
mcpcovered1default
httpcovered1default

Searches the titles and descriptions of every page this site publishes.