continuity.device
The device a published handover names: the mesh node key (created when this device has none, in the user's state directory and never in a repository), its node id, its public key — what a trust list admits — and the label a person reads. With a label, renames the device; the key and every signature it made are unchanged.
The device a published handover names: the mesh node key (created when this device has none, in the user's state directory and never in a repository), its node id, its public key — what a trust list admits — and the label a person reads. With a label, renames the device; the key and every signature it made are unchanged.
- command
- experimental
- module continuity
- #continuity
- #devices
Exposure
Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.
| surface | as |
|---|---|
| MCP | tool majordomus_continuity_device |
| HTTP | POST /api/v1/continuity/device operationId continuity.device |
| command line | majordomus continuity device |
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 · DeviceInput
continuity.device.| property | type | required | description |
|---|---|---|---|
| label | string | null | no | A label to give this device (macbook-pro, mac-mini): letters, digits, ., _,
-. The key, and so the identity, is unchanged. |
JSON Schema
{
"additionalProperties": false,
"description": "The input of `continuity.device`.",
"properties": {
"label": {
"description": "A label to give this device (`macbook-pro`, `mac-mini`): letters, digits, `.`, `_`,\n`-`. The key, and so the identity, is unchanged.",
"type": [
"string",
"null"
]
}
},
"title": "DeviceInput",
"type": "object"
}output · DeviceView
continuity device.| property | type | required | description |
|---|---|---|---|
| device | reference | yes | The node id and label. |
| public_key | string | yes | The Ed25519 public key (hex): what a trust list names. |
JSON Schema
{
"$defs": {
"Device": {
"description": "The device a record was written on: the mesh node key's id and the label its identity\nfile carries. The label is presentation; the node id is identity.",
"properties": {
"label": {
"description": "The display label of the device's identity file (`macbook-pro`), or the first eight\nhex of its node id when it has none.",
"type": "string"
},
"node": {
"description": "The node id: the first 32 hex of the SHA-256 of the device's Ed25519 public key.",
"type": "string"
}
},
"required": [
"node",
"label"
],
"type": "object"
}
},
"description": "The answer of `continuity device`.",
"properties": {
"device": {
"$ref": "#/$defs/Device",
"description": "The node id and label."
},
"public_key": {
"description": "The Ed25519 public key (hex): what a trust list names.",
"type": "string"
}
},
"required": [
"device",
"public_key"
],
"title": "DeviceView",
"type": "object"
}Policies
- benchmark
- waived — waived: destructive
- 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 | waived (destructive) | 0 | |
| mcp | waived (destructive) | 0 | |
| http | waived (destructive) | 0 |