diff --git a/module.json b/module.json index 146d6a5..a54c462 100644 --- a/module.json +++ b/module.json @@ -18,10 +18,6 @@ "restic.backed-up" ], "state": [ - { - "name": "acts", - "ttl-seconds": 7776000 - }, { "name": "health" } diff --git a/packaging/operator_keys_test.go b/packaging/operator_keys_test.go index ecf8ed1..047c098 100644 --- a/packaging/operator_keys_test.go +++ b/packaging/operator_keys_test.go @@ -68,16 +68,16 @@ func TestTheManifestConsumesTheBackupEvent(t *testing.T) { if len(m.Consumes) != 1 || m.Consumes[0] != "restic.backed-up" { t.Fatalf("consumes %v", m.Consumes) } - // 774 (ADR 0563 §2, §3): the acts of the node seat and the engine's own asks are its declared state acts, the bucket - // mesh-host_acts the grants part creates and each node's engine writes under its own keys. + // 774: the acts bucket mesh-host_acts is not declared as state for now: a declared state of a module with no account + // of its own is carried by every node's tool runner, which would be a second writer of the engine's own keys and + // has the grants part refuse the whole user list (2026-10-30). It comes back once the runtime never carries the engine. parsed, err := catalogue.ParseManifest(raw) if err != nil { t.Fatal(err) } - // 774 (the alert table): beside it the state health, one key per node, the node's own health report, kept until + // 774 (the alert table): the state health, one key per node, the node's own health report, kept until // written again (no TTL: a node that stops writing keeps its last word, which the watchman reads with its time). - if len(parsed.State) != 2 || parsed.State[0].Name != "acts" || parsed.State[0].TTLSeconds != 90*24*60*60 || - parsed.State[1].Name != "health" || parsed.State[1].TTLSeconds != 0 { + if len(parsed.State) != 1 || parsed.State[0].Name != "health" || parsed.State[0].TTLSeconds != 0 { t.Fatalf("the manifest declares the state %+v", parsed.State) } }