mesh.register
Předloží jednu podepsanou obálku; ověří se přesně jako datagram — meze, zastaralost, podpis, politika důvěry — a pokud obstojí, zaznamená se jako pozorování rendezvous. Odpověď nese vlastní obálku tohoto uzlu a kandidáty, které drží jeho registr, každého ověřitelného od začátku do konce podle jeho vlastního podpisu. Registrace nic neuděluje: volající se stává záznamem, nikdy oprávněním. Mění jen paměť tohoto procesu.
Předloží jednu podepsanou obálku; ověří se přesně jako datagram — meze, zastaralost, podpis, politika důvěry — a pokud obstojí, zaznamená se jako pozorování rendezvous. Odpověď nese vlastní obálku tohoto uzlu a kandidáty, které drží jeho registr, každého ověřitelného od začátku do konce podle jeho vlastního podpisu. Registrace nic neuděluje: volající se stává záznamem, nikdy oprávněním. Mění jen paměť tohoto procesu.
- command
- experimentální
- modul mesh
- #mesh
- #coordination
- #discovery
Zpřístupnění
Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.
| povrch | jako |
|---|---|
| MCP | nástroj majordomus_mesh_register |
| HTTP | POST /api/v1/mesh/register operationId mesh.register |
| příkazová řádka | — |
Schémata
Kanonický vstup a výstup z typů Rustu; schéma nástroje MCP a parametry a odpovědi OpenAPI se odvozují z nich.
vstup · RegisterInput
mesh.register: jedna podepsaná obálka přesně tak, jak ji nese drát.| vlastnost | typ | povinné | popis |
|---|---|---|---|
| obálka | object | ano | Obálka. Zde ověřená přesně jako datagram — meze, zastaralost, podpis — dřív, než se cokoli zaznamená. |
JSON Schema
{
"additionalProperties": false,
"description": "The input of `mesh.register`: one signed envelope, exactly as the wire carries it.",
"properties": {
"envelope": {
"description": "The envelope. Verified here exactly as a datagram would be — bounds, staleness,\nsignature — before anything is recorded."
}
},
"required": [
"envelope"
],
"title": "RegisterInput",
"type": "object"
}výstup · RegisterAnswer
| vlastnost | typ | povinné | popis |
|---|---|---|---|
| přijato | boolean | ano | Zda byla předložená obálka přijata do lokálního registru. |
| candidates | array | ano | Podepsané obálky uzlů, které tento rendezvous právě drží, včetně uzlu odpovídajícího. Každá se ověřuje vlastním podpisem; rendezvous za nic neručí. |
| odmítnutí | string | null | ne | Proč ne, když nebylo. |
JSON Schema
{
"$defs": {
"Envelope": {
"description": "The wire envelope: the advertisement plus its signature.",
"properties": {
"caps": {
"default": [],
"description": "The transports the node serves: `http`, `mcp`, `ws`. Sanitized capability\nawareness, never an authorization.",
"items": {
"type": "string"
},
"type": "array"
},
"ep": {
"default": [],
"description": "Where this node answers HTTP, as `host:port` authorities, at most\n`MAX_ENDPOINTS`. Advisory: an endpoint is where to *try*, identity is the key.",
"items": {
"type": "string"
},
"type": "array"
},
"inst": {
"$ref": "#/$defs/InstanceId",
"description": "This run of the node."
},
"name": {
"default": "",
"description": "A human name for the node. Presentation only.",
"type": "string"
},
"pk": {
"description": "The Ed25519 public key, hex. The node id is derived from it, never carried:\na field that could disagree with the key is a field somebody will forge.",
"type": "string"
},
"repos": {
"default": [],
"description": "The repositories this node serves, as mesh repository ids (32 hex, see\n`super::repository`): derived from the repository's root commits or its declared\nidentity, never from a path, so that one repository cloned on two machines is\nrecognised as one. A digest discloses nothing; a reader that serves the same\nrepository recognises it, anyone else learns only \"some repo\".",
"items": {
"type": "string"
},
"type": "array"
},
"rt": {
"description": "The runtime slot (16 hex): which server of this node — one per checkout. Empty in\nversion 1. Omitted from the signed bytes when empty, so a version-1 signature\nverifies unchanged.",
"type": "string"
},
"seq": {
"description": "Monotonic per instance: a replayed datagram carries a counter the reader has\nalready seen and is dropped.",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"sig": {
"description": "Ed25519 over `Advertisement::signing_bytes`, hex.",
"type": "string"
},
"ts": {
"description": "Seconds since the Unix epoch at signing time.",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"v": {
"description": "Protocol version.",
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"ver": {
"default": "",
"description": "The executable version, informational.",
"type": "string"
}
},
"required": [
"v",
"pk",
"inst",
"seq",
"ts",
"sig"
],
"type": "object"
},
"InstanceId": {
"description": "One run of a node: 16 hex characters of OS entropy, new at every process start. A\nrestart keeps the node id and changes this, which is how a reader tells \"the same\nnode came back\" from \"the same process is still there\".",
"type": "string"
}
},
"description": "What a registration answers: whether the envelope was accepted, and the candidates\nthe rendezvous holds. Defined here beside the client; the capability re-exports it.",
"properties": {
"accepted": {
"description": "Whether the presented envelope was accepted into the local registry.",
"type": "boolean"
},
"candidates": {
"description": "The signed envelopes of the nodes this rendezvous currently holds, the answering\nnode's own included. Each verifies on its own signature; the rendezvous vouches\nfor nothing.",
"items": {
"$ref": "#/$defs/Envelope"
},
"type": "array"
},
"refusal": {
"description": "Why not, when it was not.",
"type": [
"string",
"null"
]
}
},
"required": [
"accepted",
"candidates"
],
"title": "RegisterAnswer",
"type": "object"
}Politiky
- benchmark
- povinné — cíl na každém transportu, který expozice deklaruje; případy jsou ty ze vstupního typu
- cache
- vypnuto — každé volání spustí handler
Cíle benchmarku
Odvozeno z registru pro tento repozitář: jeden požadavek na transport a případy, které poskytuje typ vstupu. Celá matice je na stránce měření výkonu.