I4012 — A remote node's loopback runtimes are not dialed, so its hub is
dial_targets leaves out a record of another node whose endpoints are all loopback: such a runtime cannot be reached from this machine, and counted against MAX_TARGETS_PER_NODE it crowds out the node's hub, the one runtime of that machine bound beyond loopback.
BLOCKED wave 0 · p0 · implementation profile · parallel safe
Blocked. This issue cannot start until milestone:mesh-connectivity is done. The status is derived from that, not declared.
Objective
dial_targets leaves out a record of another node whose endpoints are all loopback: such a runtime cannot be reached from this machine, and counted against MAX_TARGETS_PER_NODE it crowds out the node's hub, the one runtime of that machine bound beyond loopback.
Why
On 2026-10-23 the owner's two MacBooks had shared no session, claim, handover or review for over five hours while both hubs were up and discovery saw every runtime present. Each MacBook ran a dozen loopback worktree servers; their records sorted before the hub's and filled the eight-per-node cap, so no runtime of either machine ever dialed the other's hub (57 373 dial failures on one server).
Current state
dial_targets (apps/majordomus-cli/src/mesh/cooperation.rs) admits every trusted record of the repository with an endpoint, whatever node it is on and whether its endpoints are reachable from here.
Desired state
Another node's loopback-only records are not dial targets; this node's own loopback siblings still are, and the other node's hub is dialed.
Scope
- apps/majordomus-cli/src/mesh/cooperation.rs
- .ai/repo/project/issues/I4012.yaml
Dependencies
None. This issue is a root of the graph.
Acceptance criteria
- A record of another node advertising loopback alone is never a dial target
- A record of this node advertising loopback is still a dial target
- A remote hub is dialed although the node has more loopback runtimes than the cap
Validation
- cargo test --lib mesh::cooperation
- bash test/run.sh 368_mesh_handover_resolves 924_one_executor_across_machines 3826_a_hosted_hub_is_trusted_and_closed_to_strangers
Evidence required
- another_node_s_loopback_runtimes_are_not_dialed_and_its_hub_is
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I4012.yaml. Read it back with majordomus plan show I4012.