Skip to content

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

Part of mesh-connectivity — Trusted nodes connect across NAT through proven transports, and every surface says which path.

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.

Searches the titles and descriptions of every page this site publishes.