mesh-grants: the forge's ended take-in consumer is a removable leftover; the retired build-agent seat's subject is no writer (issue 1126)
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
This commit is contained in:
@@ -713,6 +713,8 @@ func healthChecks(t *testing.T) {
|
|||||||
"$JS.API.CONSUMER.INFO.EVENTS.novox_mesh-catalog", "$JS.API.CONSUMER.DELETE.EVENTS.novox_mesh-catalog",
|
"$JS.API.CONSUMER.INFO.EVENTS.novox_mesh-catalog", "$JS.API.CONSUMER.DELETE.EVENTS.novox_mesh-catalog",
|
||||||
"$JS.API.CONSUMER.INFO.EVENTS.a_mesh-host", "$JS.API.CONSUMER.DELETE.EVENTS.a_mesh-host",
|
"$JS.API.CONSUMER.INFO.EVENTS.a_mesh-host", "$JS.API.CONSUMER.DELETE.EVENTS.a_mesh-host",
|
||||||
"$JS.API.CONSUMER.INFO.CONTROL.controller",
|
"$JS.API.CONSUMER.INFO.CONTROL.controller",
|
||||||
|
// The take-in of the forge's events the controller made for the forge module, which no longer consumes it.
|
||||||
|
"$JS.API.CONSUMER.INFO.EVENTS.novox_gitea", "$JS.API.CONSUMER.DELETE.EVENTS.novox_gitea",
|
||||||
// And the controller's take-in and config-follow consumers on three modules' buckets, each by its name (issue 1126).
|
// And the controller's take-in and config-follow consumers on three modules' buckets, each by its name (issue 1126).
|
||||||
"$JS.API.CONSUMER.INFO.KV_mesh-delivery-builder_builds.mesh-controller-take-in",
|
"$JS.API.CONSUMER.INFO.KV_mesh-delivery-builder_builds.mesh-controller-take-in",
|
||||||
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-builder_builds.mesh-controller-take-in",
|
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-builder_builds.mesh-controller-take-in",
|
||||||
@@ -770,6 +772,7 @@ func healthChecks(t *testing.T) {
|
|||||||
"$JS.API.CONSUMER.DELETE.EVENTS.a_mesh-delivery", "$KV.mesh-controller_lease.holder",
|
"$JS.API.CONSUMER.DELETE.EVENTS.a_mesh-delivery", "$KV.mesh-controller_lease.holder",
|
||||||
// Only the three named consumers of those buckets, never another of them nor a wider form (issue 1126).
|
// Only the three named consumers of those buckets, never another of them nor a wider form (issue 1126).
|
||||||
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-builder_builds.mesh-delivery-take-in",
|
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-builder_builds.mesh-delivery-take-in",
|
||||||
|
"$JS.API.CONSUMER.DELETE.EVENTS.novox_gitea-other", "$JS.API.CONSUMER.DELETE.EVENTS.a_gitea",
|
||||||
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-indexer_modules.mesh-config-follow",
|
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-indexer_modules.mesh-config-follow",
|
||||||
"$JS.API.CONSUMER.DELETE.KV_mesh-config_resolved.mesh-controller-take-in",
|
"$JS.API.CONSUMER.DELETE.KV_mesh-config_resolved.mesh-controller-take-in",
|
||||||
"$JS.API.CONSUMER.DELETE.KV_mesh-config_resolved.other", "$JS.API.STREAM.DELETE.KV_mesh-config_resolved"},
|
"$JS.API.CONSUMER.DELETE.KV_mesh-config_resolved.other", "$JS.API.STREAM.DELETE.KV_mesh-config_resolved"},
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ var HealersWould = health.HealersModule + "." + health.WouldState
|
|||||||
// mesh-delivery placed nowhere (issue 1126, milestone section 3), and mesh-catalog's of the controller's built-before,
|
// mesh-delivery placed nowhere (issue 1126, milestone section 3), and mesh-catalog's of the controller's built-before,
|
||||||
// which its manifest no longer consumes and no part composes; each `<stream>.<consumer>`.
|
// which its manifest no longer consumes and no part composes; each `<stream>.<consumer>`.
|
||||||
var ControllerLeftoverConsumers = []string{
|
var ControllerLeftoverConsumers = []string{
|
||||||
"EVENTS." + ControllerName, "EVENTS." + MergesConsumerName, "EVENTS.novox_mesh-delivery", "EVENTS.novox_mesh-catalog",
|
"EVENTS." + ControllerName, "EVENTS." + MergesConsumerName, "EVENTS.novox_mesh-delivery", "EVENTS.novox_mesh-catalog", "EVENTS.novox_gitea",
|
||||||
"CONTROL." + ControllerName, DeadLetterNoticesStream + "." + ControllerName,
|
"CONTROL." + ControllerName, DeadLetterNoticesStream + "." + ControllerName,
|
||||||
// The controller's consumers on three modules' buckets (issue 1126): the take-in on the builder's builds and on the
|
// The controller's consumers on three modules' buckets (issue 1126): the take-in on the builder's builds and on the
|
||||||
// indexer's modules, and the config follow on the resolved configuration.
|
// indexer's modules, and the config follow on the resolved configuration.
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ var WritersTable = []WriterRow{
|
|||||||
Shared: "the grants part creates a stream a manifest declares, by its name, and never updates or deletes one (novox/hq ADR 0547 §5; the operator, 2026-10-26 08:54); the bus module's tools account deletes the ended controller's leftover streams, each by its name, and no other (novox/hq ADR 0590 clause 6)"},
|
Shared: "the grants part creates a stream a manifest declares, by its name, and never updates or deletes one (novox/hq ADR 0547 §5; the operator, 2026-10-26 08:54); the bus module's tools account deletes the ended controller's leftover streams, each by its name, and no other (novox/hq ADR 0590 clause 6)"},
|
||||||
{State: "builds and their outcomes", Writer: "the build seat's holder", KeptIn: "its own state",
|
{State: "builds and their outcomes", Writer: "the build seat's holder", KeptIn: "its own state",
|
||||||
Others: "the builder asks",
|
Others: "the builder asks",
|
||||||
Subjects: []string{"mesh.seat.node-build-agent.event.built", "mesh.seat.mesh-build-machine.event.built"},
|
Subjects: []string{"mesh.seat.mesh-build-machine.event.built"},
|
||||||
Writes: holdsSeatOf,
|
Writes: holdsSeatOf,
|
||||||
Shared: "every machine holding the build seat answers the asks it took; each outcome names its ask"},
|
Shared: "every machine holding the build seat answers the asks it took; each outcome names its ask"},
|
||||||
// What a module keeps and who may read it (novox/hq ADR 0495 clauses 2 and 3, issue 1790): said by the module.
|
// What a module keeps and who may read it (novox/hq ADR 0495 clauses 2 and 3, issue 1790): said by the module.
|
||||||
|
|||||||
Reference in New Issue
Block a user