Take the placement files out again, so every node returns to the controller's compositions (recovery, issue 1126) #521
Open
mesh-tools
wants to merge 1 commits from
revert/1126-seed into main
pull from: revert/1126-seed
merge into: :main
:main
:revert/1126-seed
:fix/1901-node-test-cause
:fix/1945-adopt-hashes
:fix/1945-vault-hashing
:feat/try-speed
:fix/1921-every-failure
:feat/r4g-finish-composer
:feat/r4g-finish-1935
:fix/1901
:fix/forge-requires-no-status
:feat/mail-list
:feat/modules-name-no-node
:fix/r4e-r2
:fix/r4e-k2
:fix/r4e-k1
:feat/r4e-leaf
:feat/r4e-buildmods
:feat/r4e-gate
:fix/1106-sdk-member-merges
:feat/r4c5-checker
:fix/xterm-config-defaults
:fix/1165-fill-retry
:feat/r4d-automx-go
:feat/r4d-n8n
:fix/1275-group-merges-whole-or-not
:fix/1129-no-drift-pass
:fix/270-nats-emits-bus-faults
:fix/claude-code-tips-preference
:fix/628-modules-declare-every-package-they-need
:fix/613-home-network-shares
:feat/bus-websocket-listener
:fix/340-tool-servers-only-from-the-terminal
:feat/the-store-collects-nightly-again
:feat/dbus-module
No Reviewers
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
agent-ace
agent-g14
agent-novox
agent-shanks
jschoubben
mesh-tools
miel.truyen
nox-agent
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: novox/mesh-catalog#521
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Recovery for a blocking fault after mesh-catalog #520 (the placement seed) merged at 08:20:34Z.
Symptom (novox's node-engine journal, 09:21-09:22 CET, every node alike): 'this node composes its own modules: the catalogue places it' then 'nats: permissions violation: Permissions Violation for Publish to "$JS.API.CONSUMER.CREATE.KV_node-engine_have..$KV.node-engine_have.>"' and 'the node agent stopped: the agent cannot watch its compositions: ... watching > in node-engine_have: context deadline exceeded — beginning again in 4s/8s/16s/32s/1m4s'. The fold fix (mesh-host #152) made the self-composer watch every have ('>'), which the node's grant does not allow. So no node composes or applies anything; what runs keeps running (mesh-host, nats, mesh-wireguard healthy on every node at 08:22Z), but no delivery can reach a node, not even the fix.
Why this recovers: mesh-host cmd/mesh-host/nodeagent.go selfComposer returns nil when placement. is deleted, so at the agent's next retry (at most 2 minutes) each node applies the controller's compositions again. The fix of the watch (two patterns within the grant: '.node' and '.') is then delivered the normal way, and the seed is opened again after it.
This removes only placement/{ace,g14,novox,shanks}.json, which #520 added. Its check cannot pass (the nodes' shadow composers fail the same watch); merge it on the operator's Approve without waiting for the check.
Reviewed-by: lead-47@shanks at
b95b0a4750(a revert of #520's files only; no independent review: a blocking recovery, said in the report)Delivery
novox/mesh-catalog@b95b0a475044— ready since 2026-10-27T08:23:42ZTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.