Node Succession v1¶
Source schema: doc/schemas/node-succession.v1.schema.json
Local proof that one node identity key explicitly names a successor node identity key. The proof is a signed fact, not an automatic transfer of endpoint evidence, TLS pins, routing trust, or operator acceptance.
Governing Basis¶
doc/project/40-proposals/014-node-transport-and-discovery-mvp.mddoc/project/50-requirements/requirements-006-node-networking-mvp.mddoc/project/60-solutions/000-node/000-node.md
Project Lineage¶
Requirements¶
Stories¶
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: node-succession.v1 |
|
schema/v |
yes |
const: 1 |
|
succession/id |
yes |
string | Digest-derived identifier of the signed payload. |
old/node-id |
yes |
string | |
old/key-public |
yes |
string | |
new/node-id |
yes |
string | |
new/key-public |
yes |
string | |
succession/mode |
yes |
enum: planned-rotation, emergency-rotation, operator-rekey |
|
issued-at |
yes |
string | |
expires-at |
yes |
string | |
reason/ref |
no |
string | |
revocation/ref |
no |
string | |
proof/old |
yes |
ref: #/$defs/proof |
|
proof/new |
yes |
ref: #/$defs/proof |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
proof |
object | |
| ## Field Semantics |
schema¶
- Required:
yes - Shape: const:
node-succession.v1
schema/v¶
- Required:
yes - Shape: const:
1
succession/id¶
- Required:
yes - Shape: string
Digest-derived identifier of the signed payload.
old/node-id¶
- Required:
yes - Shape: string
old/key-public¶
- Required:
yes - Shape: string
new/node-id¶
- Required:
yes - Shape: string
new/key-public¶
- Required:
yes - Shape: string
succession/mode¶
- Required:
yes - Shape: enum:
planned-rotation,emergency-rotation,operator-rekey
issued-at¶
- Required:
yes - Shape: string
expires-at¶
- Required:
yes - Shape: string
reason/ref¶
- Required:
no - Shape: string
revocation/ref¶
- Required:
no - Shape: string
proof/old¶
- Required:
yes - Shape: ref:
#/$defs/proof
proof/new¶
- Required:
yes - Shape: ref:
#/$defs/proof
Definition Semantics¶
$defs.proof¶
- Shape: object