Merge pull request 'Issue 156: the wider grant has landed, and the notes the fix printed' (#194) from issue/156-the-grant-has-since-landed into main

This commit was merged in pull request #194.
This commit is contained in:
2026-09-29 22:19:35 +00:00
@@ -79,7 +79,20 @@ where the collision actually was.
## What is left
The node consumers stay on the bare subject, which is correct and not tidy. Moving them needs the
wider grant to reach every machine first, and then an assertion made while each node is detached —
which is its own piece of work, not a side effect of a restart. Nothing is wrong while they do not
move: one consumer per name per stream cannot collide with itself.
The node consumers stay on the bare subject, which is correct and not tidy. Nothing is wrong while
they do not move: one consumer per name per stream cannot collide with itself.
The controller reports each one it kept, and did, on the start that fixed this — four node consumers
and the build machine's worker, which is bound the same way and was not anticipated here:
```
consumer novox on NODES still delivers to "_DELIVER.novox" and not "_DELIVER.novox.NODES":
nats: consumer name already in use. It keeps working; the subject moves on an assertion
made while nothing is bound to it
```
**The wider grant has since landed** (2026-09-30, measured on the mesh's own broker config): every
node is now allowed `_DELIVER.<node>.>` as well as the bare subject. That was the thing missing when
this was diagnosed, and it is why re-making the consumers then would have silenced every machine.
What remains is only the second half — an assertion made while each node is detached from its
consumer — and that is its own piece of work, not a side effect of a restart.