Skip to content

product.matrix

Every feature against the command line, the HTTP API, MCP, the Cockpit and the documentation, each mark derived from what the feature names; then every builtin module of the executable, every public command of the shell tool and every kind of the layer with the stable features that name it. A row with no feature is reported as a gap rather than hidden.

Every feature against the command line, the HTTP API, MCP, the Cockpit and the documentation, each mark derived from what the feature names; then every builtin module of the executable, every public command of the shell tool and every kind of the layer with the stable features that name it. A row with no feature is reported as a gap rather than hidden.

Exposure

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

surfaceas
MCPtool majordomus_product_matrix
resource majordomus://product/matrix
HTTPGET /api/v1/product/matrix operationId product.matrix
command linemajordomus product matrix

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 · Matrix

Every feature against every interface, and every module, command and kind against the features that name it.

propertytyperequireddescription
commands array yes Every public command of the shell tool with the stable features that name it.
kinds array yes Every kind of the layer a feature can present, with the stable features that name it.
modules array yes Every builtin module of the executable with the stable features that name it.
rows array yes One row per feature of any status but deprecated, in presentation order.
schema string yes [`SCHEMA`].
surfaces array yes The surface vocabulary.
JSON Schema
{
  "$defs": {
    "MatrixRow": {
      "description": "One row of the matrix: a feature and the surfaces it is exposed through.",
      "properties": {
        "exposed": {
          "description": "The surface ids that are true.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "The feature id.",
          "type": "string"
        },
        "label": {
          "description": "The name a narrow column shows.",
          "type": "string"
        },
        "route": {
          "description": "`/features/<id>/`.",
          "type": "string"
        },
        "status": {
          "description": "`stable` or `draft`.",
          "type": "string"
        },
        "surfaces": {
          "$ref": "#/$defs/Surfaces",
          "description": "The surfaces, by id, in the vocabulary's order."
        }
      },
      "required": [
        "id",
        "label",
        "route",
        "status",
        "surfaces",
        "exposed"
      ],
      "type": "object"
    },
    "ProductCoverage": {
      "description": "One thing of the product — a module, a public command, a kind — and the features that\nname it. Empty means the product page says nothing about it, which is a gap the\nvalidation reports and the matrix shows rather than hides.",
      "properties": {
        "features": {
          "description": "The stable features that name it.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "The id.",
          "type": "string"
        },
        "title": {
          "description": "The title.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "title",
        "features"
      ],
      "type": "object"
    },
    "SurfaceInfo": {
      "description": "One surface of the vocabulary, as a client reads it.",
      "properties": {
        "features": {
          "description": "How many stable features it exposes.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "id": {
          "description": "`cli`, `api`, `mcp`, `cockpit` or `docs`.",
          "type": "string"
        },
        "route": {
          "description": "The route on the website where the surface is documented.",
          "type": "string"
        },
        "title": {
          "description": "The name a person reads.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "title",
        "route",
        "features"
      ],
      "type": "object"
    },
    "Surfaces": {
      "description": "The interfaces a feature is exposed through, decided from what its references project\nand from nothing a file says. Each is a fact with a reason a reader can check: `cli` is\ntrue when a module of the feature has a capability with a command-line path or the\nfeature names a shell command; `api` when a module has an HTTP route; `mcp` when a module\nhas an MCP tool or resource, or the feature names a kind, since every object of the layer\nis an MCP resource; `cockpit` when the feature names a Cockpit area or a module, since\nevery capability has a Cockpit page; `docs` when it names a document.",
      "properties": {
        "api": {
          "description": "The HTTP routes under `/api/v1/`, and the OpenAPI document over them.",
          "type": "boolean"
        },
        "cli": {
          "description": "The command line: the executable's own, or the shell tool's.",
          "type": "boolean"
        },
        "cockpit": {
          "description": "The Cockpit.",
          "type": "boolean"
        },
        "docs": {
          "description": "The documentation.",
          "type": "boolean"
        },
        "mcp": {
          "description": "MCP: a tool, or a resource.",
          "type": "boolean"
        }
      },
      "required": [
        "cli",
        "api",
        "mcp",
        "cockpit",
        "docs"
      ],
      "type": "object"
    }
  },
  "description": "Every feature against every interface, and every module, command and kind against the\nfeatures that name it.",
  "properties": {
    "commands": {
      "description": "Every public command of the shell tool with the stable features that name it.",
      "items": {
        "$ref": "#/$defs/ProductCoverage"
      },
      "type": "array"
    },
    "kinds": {
      "description": "Every kind of the layer a feature can present, with the stable features that name it.",
      "items": {
        "$ref": "#/$defs/ProductCoverage"
      },
      "type": "array"
    },
    "modules": {
      "description": "Every builtin module of the executable with the stable features that name it.",
      "items": {
        "$ref": "#/$defs/ProductCoverage"
      },
      "type": "array"
    },
    "rows": {
      "description": "One row per feature of any status but deprecated, in presentation order.",
      "items": {
        "$ref": "#/$defs/MatrixRow"
      },
      "type": "array"
    },
    "schema": {
      "description": "[`SCHEMA`].",
      "type": "string"
    },
    "surfaces": {
      "description": "The surface vocabulary.",
      "items": {
        "$ref": "#/$defs/SurfaceInfo"
      },
      "type": "array"
    }
  },
  "required": [
    "schema",
    "surfaces",
    "rows",
    "modules",
    "commands",
    "kinds"
  ],
  "title": "Matrix",
  "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.

transportstatecasestargets
directcovered1default cold+warm
mcpcovered1default cold+warm
httpcovered1default cold+warm