A contribution depends on the seat that receives it; a collision is refused at assign (hq ADR 0210, issue 235) #267

Merged
mesh-admin merged 1 commits from feat/0210-a-contribution-depends-on-its-seat into main 2026-10-04 13:45:46 +00:00
Contributor

Step 1 of hq ADR 0210:

  • A contribution derives a dependency on its seat. Environment variables or PATH entries depend on node-environment; shell code depends on node-login-shell; xinitrc and xresources code depends on node-display-server. The dependency is met and refused as ADR 0207's are. The set of held seats now covers every node seat a module claims, not only the three that apply resources.
  • assign refuses a new collision before recording anything (issue 235): two modules declaring one package, path or unit. A collision already on the node does not block an unrelated assignment.

Checked:

  • Every node's current assignments: no unmet contribution dependency, so enforcement stays safe.
  • New tests in contribution_dependencies_test.go; go test ./... passes.

Step 2, not in this PR: the new contribution kinds, such as window-manager fragments to node-display-session.

Step 1 of hq ADR 0210: - **A contribution derives a dependency on its seat.** Environment variables or PATH entries depend on `node-environment`; shell code depends on `node-login-shell`; `xinitrc` and `xresources` code depends on `node-display-server`. The dependency is met and refused as ADR 0207's are. The set of held seats now covers every node seat a module claims, not only the three that apply resources. - **`assign` refuses a new collision before recording anything** (issue 235): two modules declaring one package, path or unit. A collision already on the node does not block an unrelated assignment. **Checked:** - Every node's current assignments: no unmet contribution dependency, so enforcement stays safe. - New tests in `contribution_dependencies_test.go`; `go test ./...` passes. **Step 2, not in this PR:** the new contribution kinds, such as window-manager fragments to `node-display-session`.
mesh-admin added 1 commit 2026-10-04 13:45:42 +00:00
The environment and shell contributions were written nowhere on a node without their holder;
they now derive a dependency on node-environment, node-login-shell or node-display-server, met
and refused as ADR 0207's are. Two modules declaring one package, path or unit made the node
unresolvable after the assignment was recorded; that is refused first now, because no later
assignment can complete it.
mesh-admin merged commit 5a4f73f761 into main 2026-10-04 13:45:46 +00:00
mesh-admin deleted branch feat/0210-a-contribution-depends-on-its-seat 2026-10-04 13:45:46 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#267