From a13f11074e609f87fac091dc0fed2a0c207fda54 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 5 Nov 2026 16:15:57 +0100 Subject: [PATCH] Grants part: the live placement row carries the node-engine's four declared states (the findings state does not bring the user list's refusal back; issue 774) --- modules/mesh-grants/grants_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/mesh-grants/grants_test.go b/modules/mesh-grants/grants_test.go index 807b85a6..2bace7a8 100644 --- a/modules/mesh-grants/grants_test.go +++ b/modules/mesh-grants/grants_test.go @@ -1274,8 +1274,10 @@ func TestGrants(t *testing.T) { n.manifestOf("node-tools", `{"module":"node-tools","version":"1","tool-runner":true}`) // the machine's tool runner, which carries the seat n.assign("novox", "node-tools") // The live placement names mesh-host; with its manifest's state the runner once carried it and the whole list was - // refused as a second writer of the engine's health (issue 774, 2026-10-30): the shadow below now composes. - n.manifestOf(buscompose.EngineModule, `{"module":"mesh-host","version":"1","consumes":["restic.backed-up"],"state":[{"name":"health"}]}`) + // refused as a second writer of the engine's health (issue 774, 2026-10-30): the shadow below now composes, with the states the + // engine's manifest declares today (health, findings, data, packages): the findings state, written by each node's engine + // alone (ADR 0636 ยง1), does not bring the refusal back, and the runner is granted none of them. + n.manifestOf(buscompose.EngineModule, `{"module":"mesh-host","version":"1","consumes":["restic.backed-up"],"state":[{"name":"health"},{"name":"findings"},{"name":"data"},{"name":"packages"}]}`) n.put(grants.ReadHave, "novox.node", map[string]any{"v": 1}) pl, _ = delivery.EncodePlacement(seed) n.states[grants.ReadPlacement] = map[string][]byte{"placement.novox": pl}