executions.demonstrate
Walk a given number of steps, reporting each one, logging a line and advancing progress, then finish — or fail at a step you name. It exists so that an operator, a probe and an end-to-end test can prove the whole path works without waiting for real work: it reads nothing, writes nothing, and its only effect is the events it produces. It looks at its cancellation flag between steps and while it waits, so cancelling it stops it.
Walk a given number of steps, reporting each one, logging a line and advancing progress, then finish — or fail at a step you name. It exists so that an operator, a probe and an end-to-end test can prove the whole path works without waiting for real work: it reads nothing, writes nothing, and its only effect is the events it produces. It looks at its cancellation flag between steps and while it waits, so cancelling it stops it.
- query
- behaviorally_verified
- module executions
- #executions
- #control-plane
- #diagnostic
Exposure
Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.
| surface | as |
|---|---|
| MCP | tool majordomus_demonstrate_execution |
| HTTP | GET /api/v1/executions/demonstrate operationId executions.demonstrate |
| 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 · DemonstrateInput
The input of `executions.demonstrate`.
| property | type | required | description |
|---|---|---|---|
| delay_ms | integer | no | How long each step takes, in milliseconds. Bounded at ten seconds a step, so this cannot be used to hold a worker. default 0 |
| fail_at | integer | null | no | Fail on this step instead of completing, to show what a failure looks like. |
| steps | integer | no | How many steps to walk through. default 3 |
JSON Schema
{
"additionalProperties": false,
"description": "The input of `executions.demonstrate`.",
"properties": {
"delay_ms": {
"default": 0,
"description": "How long each step takes, in milliseconds. Bounded at ten seconds a step, so this\ncannot be used to hold a worker.",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"fail_at": {
"description": "Fail on this step instead of completing, to show what a failure looks like.",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"steps": {
"default": 3,
"description": "How many steps to walk through.",
"format": "uint64",
"minimum": 0,
"type": "integer"
}
},
"title": "DemonstrateInput",
"type": "object"
}output · DemonstrateReport
The answer of `executions.demonstrate`.
| property | type | required | description |
|---|---|---|---|
| elapsed_ms | integer | yes | How long it took, in milliseconds. |
| observed | boolean | yes | Whether anything was watching: false when it was called directly rather than as an execution, which is the difference this capability exists to show. |
| steps | integer | yes | How many steps ran. |
JSON Schema
{
"description": "The answer of `executions.demonstrate`.",
"properties": {
"elapsed_ms": {
"description": "How long it took, in milliseconds.",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"observed": {
"description": "Whether anything was watching: false when it was called directly rather than as an\nexecution, which is the difference this capability exists to show.",
"type": "boolean"
},
"steps": {
"description": "How many steps ran.",
"format": "uint64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"steps",
"elapsed_ms",
"observed"
],
"title": "DemonstrateReport",
"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.