postgres and lavinmq carried 127.0.0.1: in their host-port remap, and it broke a consumer on a node that has no substrate to collide with.
A module is told to reach its provider at <node>.internal; that name is the node's overlay address; a provider listening only on loopback refuses it. letta on ace died of exactly this — "is the server running on that host and accepting TCP/IP connections?" — while postgres sat healthy beside it on the same machine.
The collision needed a different port, which is what every other entry in that table does ("8090:80"). The address was never part of it, and adding it made the provider unreachable by the one name the mesh hands its consumers.
Worth recording why this took a while to see: hq issue 038 was filed on this exact symptom, narrowed to a port mismatch in mesh-control — which was real and is fixed — and the loopback half was written off as a stale build. Both halves were true; only one of them was the mesh's. publishedOn emits "15432:5432" with no address and mesh-host adds none, so the mesh was clean and the bed was not.
Typecheck clean, 149 unit tests.
`postgres` and `lavinmq` carried `127.0.0.1:` in their host-port remap, and it broke a consumer on a node that has no substrate to collide with.
A module is told to reach its provider at `<node>.internal`; that name is the node's overlay address; a provider listening only on loopback refuses it. **letta on ace** died of exactly this — *"is the server running on that host and accepting TCP/IP connections?"* — while postgres sat healthy beside it on the same machine.
The collision needed a different **port**, which is what every other entry in that table does (`"8090:80"`). The address was never part of it, and adding it made the provider unreachable by the one name the mesh hands its consumers.
Worth recording why this took a while to see: hq issue **038** was filed on this exact symptom, narrowed to a *port* mismatch in mesh-control — which was real and is fixed — and the loopback half was written off as a stale build. Both halves were true; only one of them was the mesh's. `publishedOn` emits `"15432:5432"` with no address and mesh-host adds none, so the mesh was clean and the bed was not.
Typecheck clean, 149 unit tests.
postgres and lavinmq carried 127.0.0.1: in their remap, and it broke a consumer
on a node that has no substrate to collide with. A module is told to reach its
provider at <node>.internal, that name is the node's overlay address, and a
provider listening only on loopback refuses it — letta on ace failed with 'is the
server running on that host and accepting TCP/IP connections?' while postgres sat
healthy beside it.
The collision needed a different port, which is what every other entry here does.
The address was never part of it, and it made the provider unreachable by the one
name the mesh hands its consumers.
Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
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.
postgresandlavinmqcarried127.0.0.1:in their host-port remap, and it broke a consumer on a node that has no substrate to collide with.A module is told to reach its provider at
<node>.internal; that name is the node's overlay address; a provider listening only on loopback refuses it. letta on ace died of exactly this — "is the server running on that host and accepting TCP/IP connections?" — while postgres sat healthy beside it on the same machine.The collision needed a different port, which is what every other entry in that table does (
"8090:80"). The address was never part of it, and adding it made the provider unreachable by the one name the mesh hands its consumers.Worth recording why this took a while to see: hq issue 038 was filed on this exact symptom, narrowed to a port mismatch in mesh-control — which was real and is fixed — and the loopback half was written off as a stale build. Both halves were true; only one of them was the mesh's.
publishedOnemits"15432:5432"with no address and mesh-host adds none, so the mesh was clean and the bed was not.Typecheck clean, 149 unit tests.