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`.
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.
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.
Step 1 of hq ADR 0210:
node-environment; shell code depends onnode-login-shell;xinitrcandxresourcescode depends onnode-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.assignrefuses 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:
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.