Archived
A co-located consumer of a `from: mesh` provision was told the port the provider module DECLARED, not the host port the mesh assigned and published it on. The same-node served facts are settled while resolving (servedHere, here()), before a bare `ports` mapping is assigned its host port, so they carried the declared number; only the cross-node path re-derived them after assignment. So the provider was published on <node>.internal:<assigned> while its own-machine consumer dialled <node>.internal:<declared>, where nothing listens — the ordinary small-mesh case, and the one the fix for issue 018 (announce the same-node provider at all) left one promise short of kept. Redirect same-node needs to the machine's assignment in Declaration, where the port map is known, exactly as plan.go already does cross-node. The publish bind is unchanged (all interfaces, scoped to the mesh by the listen's firewall rule); only the announced port is corrected. novox/hq 04-ISSUES/038 Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF