36 lines
1.4 KiB
Markdown
36 lines
1.4 KiB
Markdown
---
|
|
status: open
|
|
opened: 2026-10-04
|
|
located-in: []
|
|
fixed-by:
|
|
amended-design:
|
|
---
|
|
|
|
# 222 — An assignment is refused on the bus until the bus's machine is pushed
|
|
|
|
## What was observed
|
|
|
|
2026-10-04. A module was assigned to the laptop, and the laptop alone was pushed. The module's two
|
|
bundles arrived and the node's runtime launched both, and then the bus refused every one of the
|
|
module's subjects:
|
|
|
|
```
|
|
nats: permissions violation: Permissions Violation for Subscription to "mesh.mod.<module>.tool.<tool>.<node>"
|
|
```
|
|
|
|
The tools were unreachable until a later push that included the machine running the bus. Then the
|
|
runtime served them without a restart, because a new membership arrived and it re-subscribed.
|
|
|
|
## Why it matters beyond this instance
|
|
|
|
What an account may answer lives in the bus's user list, and the controller writes that list only
|
|
into the declaration of the machine that runs the bus. Assigning anything to any machine changes
|
|
that list, so `push <machine>` after `assign <machine> <module>`, which is what the controller itself
|
|
tells the operator to run, leaves the module running and unreachable, with nothing reporting a fault.
|
|
|
|
## Where to look
|
|
|
|
Whether a push to one machine should also send the bus's machine when the user list it would
|
|
compose differs from the one that machine holds. **How it is checked:** assign a module with tools
|
|
to a machine that does not run the bus, push only that machine, and its tools answer.
|