SD-M2a, SD-M2b: the registry and broker verbs are optional until their holders serve them (design 33 §7)

The deciding parts built with this seat list judge the running nats and gitea before their new builds are delivered;
a required verb they do not serve yet would refuse them as the seats' holders (mesh-host's composition and the grants
part's last-holder rule, read in their suites). The mark goes once every holder serves the verbs.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
2026-11-04 12:33:59 +01:00
parent 52b05d50cb
commit e9c97f9e9f
6 changed files with 96 additions and 48 deletions
+30
View File
@@ -164,6 +164,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "list",
"optional": true,
"output": {
"properties": {
"entries": {
@@ -278,6 +279,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "show",
"optional": true,
"output": {
"description": "one entry as the bus holds it",
"properties": {
@@ -372,6 +374,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "check",
"optional": true,
"output": {
"properties": {
"differences": {
@@ -422,6 +425,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "orphans",
"optional": true,
"output": {
"properties": {
"entries": {
@@ -569,6 +573,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "create",
"optional": true,
"output": {
"description": "one entry as the bus holds it",
"properties": {
@@ -671,6 +676,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "apply",
"optional": true,
"output": {
"description": "one entry as the bus holds it",
"properties": {
@@ -783,6 +789,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "recreate",
"optional": true,
"output": {
"description": "one entry as the bus holds it",
"properties": {
@@ -895,6 +902,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "drop",
"optional": true,
"output": {
"properties": {
"dropped": {
@@ -2955,6 +2963,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "publish",
"optional": true,
"output": {
"properties": {
"held": {
@@ -3014,6 +3023,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "publish-part",
"optional": true,
"output": {
"properties": {
"complete": {
@@ -3059,6 +3069,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "versions",
"optional": true,
"output": {
"properties": {
"name": {
@@ -3159,6 +3170,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "remove",
"optional": true,
"output": {
"properties": {
"artifact": {
@@ -3307,6 +3319,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "publish",
"optional": true,
"output": {
"properties": {
"held": {
@@ -3366,6 +3379,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "publish-part",
"optional": true,
"output": {
"properties": {
"complete": {
@@ -3411,6 +3425,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "versions",
"optional": true,
"output": {
"properties": {
"name": {
@@ -3511,6 +3526,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "remove",
"optional": true,
"output": {
"properties": {
"artifact": {
@@ -3661,6 +3677,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "publish",
"optional": true,
"output": {
"properties": {
"held": {
@@ -3720,6 +3737,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "publish-part",
"optional": true,
"output": {
"properties": {
"complete": {
@@ -3765,6 +3783,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "versions",
"optional": true,
"output": {
"properties": {
"name": {
@@ -3865,6 +3884,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "remove",
"optional": true,
"output": {
"properties": {
"artifact": {
@@ -3949,6 +3969,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "mirror",
"optional": true,
"output": {
"properties": {
"digest": {
@@ -3982,6 +4003,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "tags",
"optional": true,
"output": {
"properties": {
"name": {
@@ -4042,6 +4064,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "hold",
"optional": true,
"output": {
"properties": {
"held": {
@@ -4084,6 +4107,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "release",
"optional": true,
"output": {
"properties": {
"released": {
@@ -4188,6 +4212,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "publish",
"optional": true,
"output": {
"properties": {
"held": {
@@ -4247,6 +4272,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "publish-part",
"optional": true,
"output": {
"properties": {
"complete": {
@@ -4292,6 +4318,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "versions",
"optional": true,
"output": {
"properties": {
"name": {
@@ -4392,6 +4419,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "remove",
"optional": true,
"output": {
"properties": {
"artifact": {
@@ -4476,6 +4504,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "hold",
"optional": true,
"output": {
"properties": {
"held": {
@@ -4518,6 +4547,7 @@ export const list: readonly Seat[] = [
"type": "object"
},
"name": "release",
"optional": true,
"output": {
"properties": {
"released": {