HM26 node-changes (draft)
A provisional HM26 schema for review, with unresolved semantics recorded in the overview.
Fetching schema…

DRAFT — not a shipped protocol. See design notes.

DRAFT HM26 changes node. Not a shipped protocol schema.

BaseNode extends the existing signed Blob envelope; all six node variants extend BaseNode. BaseNode owns optional node identity, parent placement and relative name. It has no stored type override or fixed node type tag. The inherited Blob envelope still requires a stored string type; arbitrary strings satisfy that structural constraint. Whether HM26 should eliminate the inherited field is an open envelope-design question. No replacement dispatch mechanism is introduced. Required kind selects the six closed node variants.

{ "type": "hm://z6MkiAKDcRSzQ4zPZfnJcS5HYx5MwgN6MU9foHihJGrhqNBj/hm26/base-node", "properties": { "kind": { "value": "changes", "required": true, "description": "Closed node-variant discriminator." }, "heads": { "value": { "type": "hm://hyper.media/list", "items": { "type": "hm://hyper.media/cid" }, "minItems": 1 }, "required": true, "description": "Head Change CIDs identifying the change DAG used to derive state." }, "apply": { "value": { "type": "hm://hyper.media/cid" }, "required": true, "description": "Exact immutable operation-application function; CID representation is provisional, executable format and runtime are open." } }, "description": "DRAFT HM26 changes node. Not a shipped protocol schema." }

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime