Assigning networking is not being on the network

N1 assigned the module and stopped, and the mesh wrote a names file with no names
in it. That is correct behaviour, not a bug: a node with no address on the
network has no name, because a name resolving to nothing is worse than no name —
a connection to an address that does not answer hangs, where a name that does not
resolve fails at once and says so.

The missing act is placement. Assigning installs the module that answers how
machines reach each other; placing says where this machine is on the resulting
network. The four-machine test did both and this one did neither, which is how
the distinction stayed invisible.

Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
2026-09-14 22:26:04 +02:00
parent d0d56782a0
commit 6b482ee7dc
2 changed files with 42 additions and 21 deletions
+7
View File
@@ -600,6 +600,13 @@ before(async () => {
// want.
await step("N1", NETWORKED, CONTROL_REBUILT, async () => {
await mesh(`assign ${CONTROL} ${NETWORK_MODULE}`);
// **Assigned is not placed, and they are two different acts.** Assigning installs the module
// that answers "how do machines reach each other"; placing says where THIS machine is on the
// resulting network. Without the second the module runs and writes a names file with no names
// in it — deliberately, because "a node with no address on the network has no name here", and a
// name resolving to nothing is worse than no name: a connection to an address that does not
// answer hangs, where a name that does not resolve fails at once and says so.
await mesh(`overlay place ${CONTROL} --hub --endpoint ${ANCHOR}:51820 --site hosting`);
await mesh(`push ${CONTROL}`, 600_000);
// What it was assigned for. A machine on a private network with no name on it has had the
// harder half done and the visible half not.