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)

This commit is contained in:
2026-11-05 16:15:57 +01:00
parent 0aad2a45b2
commit a13f11074e
+4 -2
View File
@@ -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}