Bootstrap copy of mesh-broker's definition carries Held's binding
mesh/delivery merged: source.main moved to novox/mesh-sdk@45e143fba672
mesh/delivery-group group fix/1966-bindings-first-view merged: every member is merged
mesh/check checking 0fe5b6a0e7e7 on 45e143fba672 | novox/mesh-sdk#187 in group fix/1966-bindings-first-view

Byte for byte the contracts' file, in go/seatlist/bootstrap, the seatlist test's
seat set and the captured copy.

Builds: design 25 bindings-first-view §2

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
2026-11-11 10:14:16 +01:00
parent 317605963f
commit 0fe5b6a0e7
3 changed files with 150 additions and 33 deletions
+50 -11
View File
@@ -403,6 +403,10 @@
"why": { "why": {
"type": "string", "type": "string",
"description": "why it is in its state, in plain words; empty when held as asked" "description": "why it is in its state, in plain words; empty when held as asked"
},
"binding": {
"$ref": "#/defs/Binding",
"description": "the binding a module receives for the entry, as created and recreated carry it; present on an entry whose objects the bus holds, absent on one it does not (design 25 bindings-first-view §2)"
} }
}, },
"required": [ "required": [
@@ -540,31 +544,66 @@
"Binding": { "Binding": {
"type": "object", "type": "object",
"properties": { "properties": {
"bus-name": { "local": {
"type": "string", "type": "string",
"description": "the entry's name on the bus" "description": "the entry's local name in the module's manifest"
}, },
"storage-type": { "storage": {
"type": "string", "type": "string",
"description": "how the bus keeps it" "description": "how the bus keeps it: the entry's storage type"
}, },
"template": { "template": {
"type": "string", "type": "string",
"description": "its template" "description": "its template"
}, },
"subjects": { "stream": {
"type": "array", "type": "string",
"items": { "description": "a stream's name on the bus"
},
"subject": {
"type": "string",
"description": "the subject a stream's messages are on; also a ledger's history's"
},
"bucket": {
"type": "string",
"description": "a key-value bucket's name"
},
"object-store": {
"type": "string",
"description": "an object store's name"
},
"history": {
"type": "string",
"description": "a ledger's history stream"
},
"state": {
"type": "string",
"description": "a ledger's state bucket"
},
"indexes": {
"type": "object",
"additionalProperties": {
"type": "string" "type": "string"
}, },
"description": "its subjects, for a stream" "description": "a ledger's index buckets, by index name"
},
"snapshot": {
"type": "string",
"description": "the subject of a ledger's instances' snapshots"
},
"types": {
"type": "array",
"items": {
"type": "object"
},
"description": "a ledger's types, as its manifest declares them"
} }
}, },
"required": [ "required": [
"bus-name", "local",
"storage-type" "storage"
], ],
"description": "the binding a module receives in its membership for one entry (ADR 0595 §1, §7)" "description": "the binding a module receives in its membership for one entry (ADR 0595 §1, §7): the names on the bus of the entry's objects, one form in the events, in list, show and orphans, and in the membership"
} }
} }
} }
+50 -11
View File
@@ -403,6 +403,10 @@
"why": { "why": {
"type": "string", "type": "string",
"description": "why it is in its state, in plain words; empty when held as asked" "description": "why it is in its state, in plain words; empty when held as asked"
},
"binding": {
"$ref": "#/defs/Binding",
"description": "the binding a module receives for the entry, as created and recreated carry it; present on an entry whose objects the bus holds, absent on one it does not (design 25 bindings-first-view §2)"
} }
}, },
"required": [ "required": [
@@ -540,31 +544,66 @@
"Binding": { "Binding": {
"type": "object", "type": "object",
"properties": { "properties": {
"bus-name": { "local": {
"type": "string", "type": "string",
"description": "the entry's name on the bus" "description": "the entry's local name in the module's manifest"
}, },
"storage-type": { "storage": {
"type": "string", "type": "string",
"description": "how the bus keeps it" "description": "how the bus keeps it: the entry's storage type"
}, },
"template": { "template": {
"type": "string", "type": "string",
"description": "its template" "description": "its template"
}, },
"subjects": { "stream": {
"type": "array", "type": "string",
"items": { "description": "a stream's name on the bus"
},
"subject": {
"type": "string",
"description": "the subject a stream's messages are on; also a ledger's history's"
},
"bucket": {
"type": "string",
"description": "a key-value bucket's name"
},
"object-store": {
"type": "string",
"description": "an object store's name"
},
"history": {
"type": "string",
"description": "a ledger's history stream"
},
"state": {
"type": "string",
"description": "a ledger's state bucket"
},
"indexes": {
"type": "object",
"additionalProperties": {
"type": "string" "type": "string"
}, },
"description": "its subjects, for a stream" "description": "a ledger's index buckets, by index name"
},
"snapshot": {
"type": "string",
"description": "the subject of a ledger's instances' snapshots"
},
"types": {
"type": "array",
"items": {
"type": "object"
},
"description": "a ledger's types, as its manifest declares them"
} }
}, },
"required": [ "required": [
"bus-name", "local",
"storage-type" "storage"
], ],
"description": "the binding a module receives in its membership for one entry (ADR 0595 §1, §7)" "description": "the binding a module receives in its membership for one entry (ADR 0595 §1, §7): the names on the bus of the entry's objects, one form in the events, in list, show and orphans, and in the membership"
} }
} }
} }
@@ -403,6 +403,10 @@
"why": { "why": {
"type": "string", "type": "string",
"description": "why it is in its state, in plain words; empty when held as asked" "description": "why it is in its state, in plain words; empty when held as asked"
},
"binding": {
"$ref": "#/defs/Binding",
"description": "the binding a module receives for the entry, as created and recreated carry it; present on an entry whose objects the bus holds, absent on one it does not (design 25 bindings-first-view §2)"
} }
}, },
"required": [ "required": [
@@ -540,31 +544,66 @@
"Binding": { "Binding": {
"type": "object", "type": "object",
"properties": { "properties": {
"bus-name": { "local": {
"type": "string", "type": "string",
"description": "the entry's name on the bus" "description": "the entry's local name in the module's manifest"
}, },
"storage-type": { "storage": {
"type": "string", "type": "string",
"description": "how the bus keeps it" "description": "how the bus keeps it: the entry's storage type"
}, },
"template": { "template": {
"type": "string", "type": "string",
"description": "its template" "description": "its template"
}, },
"subjects": { "stream": {
"type": "array", "type": "string",
"items": { "description": "a stream's name on the bus"
},
"subject": {
"type": "string",
"description": "the subject a stream's messages are on; also a ledger's history's"
},
"bucket": {
"type": "string",
"description": "a key-value bucket's name"
},
"object-store": {
"type": "string",
"description": "an object store's name"
},
"history": {
"type": "string",
"description": "a ledger's history stream"
},
"state": {
"type": "string",
"description": "a ledger's state bucket"
},
"indexes": {
"type": "object",
"additionalProperties": {
"type": "string" "type": "string"
}, },
"description": "its subjects, for a stream" "description": "a ledger's index buckets, by index name"
},
"snapshot": {
"type": "string",
"description": "the subject of a ledger's instances' snapshots"
},
"types": {
"type": "array",
"items": {
"type": "object"
},
"description": "a ledger's types, as its manifest declares them"
} }
}, },
"required": [ "required": [
"bus-name", "local",
"storage-type" "storage"
], ],
"description": "the binding a module receives in its membership for one entry (ADR 0595 §1, §7)" "description": "the binding a module receives in its membership for one entry (ADR 0595 §1, §7): the names on the bus of the entry's objects, one form in the events, in list, show and orphans, and in the membership"
} }
} }
} }