product.validate
Every finding over the product model: a reference that resolves to nothing, with the nearest candidate; a duplicate identity; a file name that disagrees with its id; a draft that is featured; a stable feature under its floors; and every module, command or kind that no stable feature names. Errors make the model invalid; warnings do not.
Every finding over the product model: a reference that resolves to nothing, with the nearest candidate; a duplicate identity; a file name that disagrees with its id; a draft that is featured; a stable feature under its floors; and every module, command or kind that no stable feature names. Errors make the model invalid; warnings do not.
- query
- behaviorally_verified
- module product
- #product
- #introspection
Exposure
Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.
| surface | as |
|---|---|
| MCP | tool majordomus_product_validate |
| HTTP | GET /api/v1/product/validate operationId product.validate |
| command line | majordomus product 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 · ProductValidationReport
What the model's own validation found.
| property | type | required | description |
|---|---|---|---|
| counts | reference | yes | The counts the model reached. |
| errors | integer | yes | How many findings are errors. |
| findings | array | yes | The findings, errors first, then by file. |
| valid | boolean | yes | True when nothing is an error. Warnings do not make it false. |
| warnings | integer | yes | How many findings are warnings. |
JSON Schema
{
"$defs": {
"ProductCounts": {
"description": "How much the model holds. Every count anywhere is one of these.",
"properties": {
"commands": {
"description": "Public commands of the shell tool.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"commands_covered": {
"description": "Commands a stable feature names.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"featured": {
"description": "Stable features the homepage shows.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"features": {
"description": "Stable features.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"features_all": {
"description": "Features of every status, drafts included.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"kinds": {
"description": "Kinds of the layer a feature can present.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"kinds_covered": {
"description": "Kinds a stable feature names.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"modules": {
"description": "Builtin modules of the executable, and how many a stable feature names.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"modules_covered": {
"description": "Modules a stable feature names.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"providers": {
"description": "Providers the tool has an adapter for.",
"format": "uint",
"minimum": 0,
"type": "integer"
}
},
"required": [
"features",
"features_all",
"featured",
"providers",
"modules",
"modules_covered",
"commands",
"commands_covered",
"kinds",
"kinds_covered"
],
"type": "object"
},
"ProductFinding": {
"description": "One thing wrong with the product model, named where it is, with the nearest candidate\nwhen there is one.",
"properties": {
"code": {
"description": "`unknown_reference`, `duplicate_identity`, `missing_content`, `uncovered`, ...",
"type": "string"
},
"did_you_mean": {
"description": "The nearest existing name, when the value looks like a typo of one.",
"type": [
"string",
"null"
]
},
"field": {
"description": "The front-matter key the finding is about, when one key owns it.",
"type": [
"string",
"null"
]
},
"id": {
"description": "The record's identity, when one record owns the finding.",
"type": [
"string",
"null"
]
},
"message": {
"description": "What is wrong, in one sentence.",
"type": "string"
},
"path": {
"description": "The repository-relative file the finding is in, or the registry it is about.",
"type": "string"
},
"severity": {
"$ref": "#/$defs/Severity",
"description": "`error` or `warning`."
}
},
"required": [
"severity",
"code",
"path",
"message"
],
"type": "object"
},
"Severity": {
"description": "How bad a diagnostic is. `Error` excludes the file it concerns from the index and puts\nthe index into the degraded state; `Warning` and `Info` do neither.",
"oneOf": [
{
"const": "info",
"description": "Worth knowing; changes nothing.",
"type": "string"
},
{
"const": "warning",
"description": "Something to look at; the object is still served.",
"type": "string"
},
{
"const": "error",
"description": "The file is excluded and the index is degraded.",
"type": "string"
}
]
}
},
"description": "What the model's own validation found.",
"properties": {
"counts": {
"$ref": "#/$defs/ProductCounts",
"description": "The counts the model reached."
},
"errors": {
"description": "How many findings are errors.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"findings": {
"description": "The findings, errors first, then by file.",
"items": {
"$ref": "#/$defs/ProductFinding"
},
"type": "array"
},
"valid": {
"description": "True when nothing is an error. Warnings do not make it false.",
"type": "boolean"
},
"warnings": {
"description": "How many findings are warnings.",
"format": "uint",
"minimum": 0,
"type": "integer"
}
},
"required": [
"valid",
"errors",
"warnings",
"counts",
"findings"
],
"title": "ProductValidationReport",
"type": "object"
}Policies
- benchmark
- required — a target on every transport the exposure declares; the cases are the input type's
- cache
- process — up to 2 entries in the process, scoped by the registry fingerprint
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.