commands.list
The commands this repository offers, filtered by the program that runs them, by what running them changes, or by text. A summary rather than the whole graph: enough to choose a command, and never so much that a client has to read every argument of every command to find one.
The commands this repository offers, filtered by the program that runs them, by what running them changes, or by text. A summary rather than the whole graph: enough to choose a command, and never so much that a client has to read every argument of every command to find one.
- query
- implemented
- module commands
- #commands
- #introspection
Exposure
Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.
| surface | as |
|---|---|
| MCP | tool majordomus_commands resource majordomus://commands |
| HTTP | GET /api/v1/commands operationId commands.list |
| command line | — |
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 · CommandFilter
Which commands to answer with. Every filter is the graph's own vocabulary; none is a search over rendered text.
| property | type | required | description |
|---|---|---|---|
| effect | string | null | no | Only the commands whose effect is at most this one: `read_only`, `local_mutation`, `repository_mutation`, `network_mutation`, `destructive`. |
| origin | string | null | no | Only the commands of one program: `executable`, `tool` or `workflow`. |
| search | string | null | no | Only the commands matching this text in their invocation, summary, tags or identity. |
JSON Schema
{
"additionalProperties": false,
"description": "Which commands to answer with. Every filter is the graph's own vocabulary; none is a\nsearch over rendered text.",
"properties": {
"effect": {
"description": "Only the commands whose effect is at most this one: `read_only`,\n`local_mutation`, `repository_mutation`, `network_mutation`, `destructive`.",
"type": [
"string",
"null"
]
},
"origin": {
"description": "Only the commands of one program: `executable`, `tool` or `workflow`.",
"type": [
"string",
"null"
]
},
"search": {
"description": "Only the commands matching this text in their invocation, summary, tags or identity.",
"type": [
"string",
"null"
]
}
},
"title": "CommandFilter",
"type": "object"
}output · CommandIndex
The commands this repository offers, filtered.
| property | type | required | description |
|---|---|---|---|
| commands | array | yes | The commands that matched, in graph order. |
| fingerprint | string | yes | The fingerprint of that graph: a client may cache against it. |
| schema | string | yes | The schema of the graph these came from. |
| total | integer | yes | How many commands the graph holds, before the filter. |
JSON Schema
{
"$defs": {
"CommandProjections": {
"description": "Where one command appears, derived from its effect, its interactivity and its origin.\n\nEvery field is computed by [`super::policy`]. Nothing declares a projection, and no\nsurface keeps a list of what it carries: a surface asks the graph.",
"properties": {
"cli": {
"description": "The command line, as typed.",
"type": [
"string",
"null"
]
},
"cockpit": {
"description": "The Cockpit address, when the surface carries it.",
"type": [
"string",
"null"
]
},
"docs": {
"description": "The page on the site. Every command has one.",
"type": "string"
},
"http": {
"description": "The HTTP route, when the capability behind it declares one.",
"type": [
"string",
"null"
]
},
"mcp": {
"description": "The MCP tool name, when the capability behind it declares one.",
"type": [
"string",
"null"
]
},
"withheld": {
"description": "Why a machine surface does not carry it, when one does not.",
"type": [
"string",
"null"
]
},
"workflow": {
"description": "The generated workflow bridge's recipe name.",
"type": [
"string",
"null"
]
}
},
"required": [
"docs"
],
"type": "object"
},
"CommandSummary": {
"description": "One command, as an index shows it: enough to choose, never enough to have to skim.",
"properties": {
"effect": {
"description": "What running it changes.",
"type": "string"
},
"group": {
"description": "The group it is found under.",
"type": [
"string",
"null"
]
},
"id": {
"description": "The canonical identity.",
"type": "string"
},
"invocation": {
"description": "The command line a person types.",
"type": "string"
},
"origin": {
"description": "Which program runs it.",
"type": "string"
},
"projections": {
"$ref": "#/$defs/CommandProjections",
"description": "Where it appears."
},
"summary": {
"description": "One line.",
"type": "string"
}
},
"required": [
"id",
"invocation",
"summary",
"origin",
"effect",
"projections"
],
"type": "object"
}
},
"description": "The commands this repository offers, filtered.",
"properties": {
"commands": {
"description": "The commands that matched, in graph order.",
"items": {
"$ref": "#/$defs/CommandSummary"
},
"type": "array"
},
"fingerprint": {
"description": "The fingerprint of that graph: a client may cache against it.",
"type": "string"
},
"schema": {
"description": "The schema of the graph these came from.",
"type": "string"
},
"total": {
"description": "How many commands the graph holds, before the filter.",
"format": "uint",
"minimum": 0,
"type": "integer"
}
},
"required": [
"schema",
"fingerprint",
"total",
"commands"
],
"title": "CommandIndex",
"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.
| transport | state | cases | targets |
|---|---|---|---|
| direct | covered | 3 | all read-only one-program |
| mcp | covered | 3 | all read-only one-program |
| http | covered | 3 | all read-only one-program |