From edc8bbd9ab27abfefb6eb4005eccc92880e7dde3 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 05:59:49 +0100 Subject: [PATCH] =?UTF-8?q?=C2=A77,=20=C2=A7428=20(watchman):=20a=20bus=20?= =?UTF-8?q?user=20is=20said=20by=20its=20module's=20name,=20the=20tool=20r?= =?UTF-8?q?unner's=20no=20differently?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit signals.go BusUserWords: the node-tools special word is gone (the node-engine's 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 --- .../mesh-delivery-watchman/internal/watch/signals.go | 3 --- .../internal/watch/watch_test.go | 10 ++++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/mesh-delivery-watchman/internal/watch/signals.go b/modules/mesh-delivery-watchman/internal/watch/signals.go index 24361bf1..115687ed 100644 --- a/modules/mesh-delivery-watchman/internal/watch/signals.go +++ b/modules/mesh-delivery-watchman/internal/watch/signals.go @@ -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", "" diff --git a/modules/mesh-delivery-watchman/internal/watch/watch_test.go b/modules/mesh-delivery-watchman/internal/watch/watch_test.go index 0a8e05ea..591d1748 100644 --- a/modules/mesh-delivery-watchman/internal/watch/watch_test.go +++ b/modules/mesh-delivery-watchman/internal/watch/watch_test.go @@ -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) + } + } +}