Skip to content

product.features

Every product feature this repository declares, narrowed by any of the facets the model derives — featured, area, module, command, surface, text — with the interfaces each is exposed through, the counts behind it and what is guaranteed about it, none of which its file states. The default is the stable set; pass status=any for the drafts too.

Every product feature this repository declares, narrowed by any of the facets the model derives — featured, area, module, command, surface, text — with the interfaces each is exposed through, the counts behind it and what is guaranteed about it, none of which its file states. The default is the stable set; pass status=any for the drafts too.

  • query
  • behaviorally_verified
  • module product
  • #product
  • #features
  • #introspection

Exposure

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

surfaceas
MCPtool majordomus_features
resource majordomus://product
HTTPGET /api/v1/product/features operationId product.features
command linemajordomus product list

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

What a listing is narrowed by. Every field is optional and they compose as a conjunction; the values a caller may pass are the facets the model derives, never a list written anywhere.

propertytyperequireddescription
area string | null no Only features serving this operational area. default null
command string | null no Only features made of this shell command. default null
featured boolean | null no Only the features the homepage shows. default null
module string | null no Only features made of this capability module. default null
q string | null no Case-insensitive text, matched against the identity, the titles, the headline, the summary, the tags and the body. default null
status string | null no Only features of this status. Absent means the stable ones; pass `any` for everything the model holds. default null
surface string | null no Only features exposed through this surface: `cli`, `api`, `mcp`, `cockpit`, `docs`. default null
JSON Schema
{
  "additionalProperties": false,
  "description": "What a listing is narrowed by. Every field is optional and they compose as a\nconjunction; the values a caller may pass are the facets the model derives, never a list\nwritten anywhere.",
  "properties": {
    "area": {
      "default": null,
      "description": "Only features serving this operational area.",
      "type": [
        "string",
        "null"
      ]
    },
    "command": {
      "default": null,
      "description": "Only features made of this shell command.",
      "type": [
        "string",
        "null"
      ]
    },
    "featured": {
      "default": null,
      "description": "Only the features the homepage shows.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "module": {
      "default": null,
      "description": "Only features made of this capability module.",
      "type": [
        "string",
        "null"
      ]
    },
    "q": {
      "default": null,
      "description": "Case-insensitive text, matched against the identity, the titles, the headline, the\nsummary, the tags and the body.",
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "default": null,
      "description": "Only features of this status. Absent means the stable ones; pass `any` for\neverything the model holds.",
      "type": [
        "string",
        "null"
      ]
    },
    "surface": {
      "default": null,
      "description": "Only features exposed through this surface: `cli`, `api`, `mcp`, `cockpit`, `docs`.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "title": "ProductQuery",
  "type": "object"
}

output · FeatureList

The features as a client reads them.

propertytyperequireddescription
counts reference yes The counts.
features array yes The matching features, in presentation order.
fingerprint string yes The hash of the model's sources and derived facts.
schema string yes [`SCHEMA`].
surfaces array yes The surface vocabulary, with how many stable features each exposes.
JSON Schema
{
  "$defs": {
    "FeatureCounts": {
      "description": "How much stands behind a feature, every number derived.",
      "properties": {
        "adrs": {
          "description": "Decisions it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "capabilities": {
          "description": "Builtin capabilities of the modules it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "claims": {
          "description": "Claims it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "cli_paths": {
          "description": "Command-line paths of the executable among them.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "commands": {
          "description": "Public commands of the shell tool it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "docs": {
          "description": "Documents it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "enforced_rules": {
          "description": "Rules the tool enforces among them.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "http_routes": {
          "description": "HTTP routes among them.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "mcp_resources": {
          "description": "MCP resources among them, plus one per object of the kinds it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "mcp_tools": {
          "description": "MCP tools among them.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "moments": {
          "description": "Moments it answers.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "objects": {
          "description": "Objects of the kinds it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "rules": {
          "description": "Rules it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "use_cases": {
          "description": "Use cases it names.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "capabilities",
        "mcp_tools",
        "mcp_resources",
        "http_routes",
        "cli_paths",
        "commands",
        "objects",
        "rules",
        "enforced_rules",
        "docs",
        "adrs",
        "claims",
        "use_cases",
        "moments"
      ],
      "type": "object"
    },
    "FeatureEvidence": {
      "description": "What is guaranteed about a feature, counted from the claims it names: never a word a\nperson wrote about the feature's maturity.",
      "properties": {
        "claims": {
          "additionalProperties": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "description": "Claims by status: `guaranteed`, `advisory`, `planned`, `rejected`.",
          "type": "object"
        },
        "modules": {
          "additionalProperties": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "description": "The modules it names by stability.",
          "type": "object"
        }
      },
      "required": [
        "claims",
        "modules"
      ],
      "type": "object"
    },
    "FeatureSummary": {
      "description": "One feature as a listing shows it: everything a card needs and nothing a page needs.",
      "properties": {
        "areas": {
          "description": "The operational areas it serves.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "audiences": {
          "description": "The audiences it is written for.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "counts": {
          "$ref": "#/$defs/FeatureCounts",
          "description": "Derived: how much stands behind it."
        },
        "evidence": {
          "$ref": "#/$defs/FeatureEvidence",
          "description": "Derived: what is guaranteed."
        },
        "featured": {
          "description": "Whether the homepage shows it.",
          "type": "boolean"
        },
        "headline": {
          "description": "The promise a visitor reads first.",
          "type": "string"
        },
        "id": {
          "description": "The identity and the slug.",
          "type": "string"
        },
        "label": {
          "description": "The name a narrow column shows: the short title, or the title.",
          "type": "string"
        },
        "route": {
          "description": "Derived: `/features/<id>/`.",
          "type": "string"
        },
        "status": {
          "description": "`stable`, `draft` or `deprecated`.",
          "type": "string"
        },
        "summary": {
          "description": "One line: what it does.",
          "type": "string"
        },
        "surfaces": {
          "$ref": "#/$defs/Surfaces",
          "description": "Derived: the interfaces it is exposed through."
        },
        "tags": {
          "description": "Free tags.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": {
          "description": "The feature as a heading.",
          "type": "string"
        },
        "weight": {
          "description": "Presentation order.",
          "format": "uint32",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "id",
        "title",
        "label",
        "headline",
        "summary",
        "status",
        "weight",
        "featured",
        "areas",
        "audiences",
        "tags",
        "route",
        "surfaces",
        "counts",
        "evidence"
      ],
      "type": "object"
    },
    "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"
    },
    "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": "The features as a client reads them.",
  "properties": {
    "counts": {
      "$ref": "#/$defs/ProductCounts",
      "description": "The counts."
    },
    "features": {
      "description": "The matching features, in presentation order.",
      "items": {
        "$ref": "#/$defs/FeatureSummary"
      },
      "type": "array"
    },
    "fingerprint": {
      "description": "The hash of the model's sources and derived facts.",
      "type": "string"
    },
    "schema": {
      "description": "[`SCHEMA`].",
      "type": "string"
    },
    "surfaces": {
      "description": "The surface vocabulary, with how many stable features each exposes.",
      "items": {
        "$ref": "#/$defs/SurfaceInfo"
      },
      "type": "array"
    }
  },
  "required": [
    "schema",
    "fingerprint",
    "counts",
    "surfaces",
    "features"
  ],
  "title": "FeatureList",
  "type": "object"
}

Policies

benchmark
required — a target on every transport the exposure declares; the cases are the input type's
cache
process — up to 32 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
directcovered3all cold+warm
featured cold+warm
by-area cold+warm
mcpcovered3all cold+warm
featured cold+warm
by-area cold+warm
httpcovered3all cold+warm
featured cold+warm
by-area cold+warm