§7, §428 (watchman): a bus user is said by its module's name, the tool runner's no differently

signals.go BusUserWords: the node-tools special word is gone (the node-engine's node.<node> user stays, a bus account form, not a
module name). The watchman's ControlNodeModule (signals.go:591, nats) and builderModule (names.go:17) went with A-197 and WM13.

Builds: design 47 G §7, §428

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-12 05:59:49 +01:00
parent 3eca094c5c
commit edc8bbd9ab
2 changed files with 10 additions and 3 deletions
@@ -712,9 +712,6 @@ func BusUserWords(user string) (string, string) {
return "the node-engine on " + m, m
}
if m, module, ok := strings.Cut(user, "."); ok {
if module == "node-tools" {
return "the tool runner on " + m, m
}
return module + " on " + m, m
}
return "a client of the bus", ""
@@ -745,3 +745,13 @@ func TestAStuckKeyWhoseKeyIsGoneIsClosedAtTheStart(t *testing.T) {
})
}
}
// design 47 G §7, §428: no part's code names another module: a bus user is said by its own module's name on its machine, the tool
// runner's no differently from any module's.
func TestABusUserIsSaidByItsModuleWithoutAModulesNameInTheCode(t *testing.T) {
for user, want := range map[string]string{"ace.node-tools": "node-tools on ace", "ace.web": "web on ace", "node.ace": "the node-engine on ace"} {
if got, _ := BusUserWords(user); got != want {
t.Errorf("BusUserWords(%q) = %q, want %q", user, got, want)
}
}
}