From 0fe5b6a0e7e712b68e8154fcc26a3956cb395475 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 10:12:43 +0100 Subject: [PATCH] Bootstrap copy of mesh-broker's definition carries Held's binding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- go/seatlist/bootstrap/mesh-broker.json | 61 +++++++++++++++---- .../seatlisttest/seats/mesh-broker.json | 61 +++++++++++++++---- .../seats/mesh-broker/seat.json.captured | 61 +++++++++++++++---- 3 files changed, 150 insertions(+), 33 deletions(-) diff --git a/go/seatlist/bootstrap/mesh-broker.json b/go/seatlist/bootstrap/mesh-broker.json index 6fc5d4e..bfcd009 100644 --- a/go/seatlist/bootstrap/mesh-broker.json +++ b/go/seatlist/bootstrap/mesh-broker.json @@ -403,6 +403,10 @@ "why": { "type": "string", "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": [ @@ -540,31 +544,66 @@ "Binding": { "type": "object", "properties": { - "bus-name": { + "local": { "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", - "description": "how the bus keeps it" + "description": "how the bus keeps it: the entry's storage type" }, "template": { "type": "string", "description": "its template" }, - "subjects": { - "type": "array", - "items": { + "stream": { + "type": "string", + "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" }, - "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": [ - "bus-name", - "storage-type" + "local", + "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" } } } diff --git a/go/seatlist/seatlisttest/seats/mesh-broker.json b/go/seatlist/seatlisttest/seats/mesh-broker.json index 6fc5d4e..bfcd009 100644 --- a/go/seatlist/seatlisttest/seats/mesh-broker.json +++ b/go/seatlist/seatlisttest/seats/mesh-broker.json @@ -403,6 +403,10 @@ "why": { "type": "string", "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": [ @@ -540,31 +544,66 @@ "Binding": { "type": "object", "properties": { - "bus-name": { + "local": { "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", - "description": "how the bus keeps it" + "description": "how the bus keeps it: the entry's storage type" }, "template": { "type": "string", "description": "its template" }, - "subjects": { - "type": "array", - "items": { + "stream": { + "type": "string", + "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" }, - "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": [ - "bus-name", - "storage-type" + "local", + "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" } } } diff --git a/go/testdata/beside/mesh-contracts/seats/mesh-broker/seat.json.captured b/go/testdata/beside/mesh-contracts/seats/mesh-broker/seat.json.captured index 6fc5d4e..bfcd009 100644 --- a/go/testdata/beside/mesh-contracts/seats/mesh-broker/seat.json.captured +++ b/go/testdata/beside/mesh-contracts/seats/mesh-broker/seat.json.captured @@ -403,6 +403,10 @@ "why": { "type": "string", "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": [ @@ -540,31 +544,66 @@ "Binding": { "type": "object", "properties": { - "bus-name": { + "local": { "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", - "description": "how the bus keeps it" + "description": "how the bus keeps it: the entry's storage type" }, "template": { "type": "string", "description": "its template" }, - "subjects": { - "type": "array", - "items": { + "stream": { + "type": "string", + "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" }, - "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": [ - "bus-name", - "storage-type" + "local", + "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" } } } -- 2.54.0