Hear the keeper alone and stop reading the controller's lease in mesh-grants (issue 1126, B7b)

ADR 0590 §3 ends the choice of a condition source by the keeper's
take-over key: the controller is unassigned and the keeper is the one
source. The part still read the take-over key, fell back to the
controller's condition events when it was absent, and read and watched
the controller's lease, which nothing writes any more. It now hears the
keeper's events alone and reads neither.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
This commit is contained in:
2026-11-02 11:27:19 +01:00
parent 14046f9b14
commit d4aa1fe11b
7 changed files with 30 additions and 127 deletions
@@ -187,7 +187,7 @@ func TestTheGrantsPartWhole(t *testing.T) {
if n := said.Load(); n != 0 {
t.Errorf("%d memberships were said on their subject", n)
}
for _, bucket := range []string{grants.Module + "_lease", grants.Module + "_takeover"} {
for _, bucket := range []string{"mesh-controller_lease", grants.Module + "_lease", grants.Module + "_takeover"} {
if _, err := js.KeyValue(ctx, bucket); !errors.Is(err, jetstream.ErrBucketNotFound) {
t.Errorf("the bucket %s: %v, want none", bucket, err)
}