ruvnet/ruflo · error

Federation send aborted: peer ${targetNodeId} not in discove

Error message

Federation send aborted: peer ${targetNodeId} not in discovery registry

What it means

Error "Federation send aborted: peer ${targetNodeId} not in discovery registry" thrown in ruvnet/ruflo.

Source

Thrown at v3/@claude-flow/plugin-agent-federation/src/plugin.ts:370

          },
        };
      },
      sendToNode: async (targetNodeId, envelope) => {
        // ADR-104: real wire send via the loaded transport. If the
        // transport failed to load OR the peer's address can't be
        // resolved, log + return (the upstream RoutingService.send
        // already wraps this in try/catch and returns a RoutingResult
        // with the error to the caller).
        if (!transport) {
          context.logger.debug(
            `Federation send (in-process noop): ${envelope.envelopeId} → ${targetNodeId}`,
          );
          return;
        }
        const address = resolveAddress(targetNodeId);
        const peer = discovery.getPeer(targetNodeId);
        if (!address || !peer) {
          context.logger.warn(
            `Federation send aborted: peer ${targetNodeId} not in discovery registry`,
          );
          throw new Error(`PEER_UNKNOWN: ${targetNodeId}`);
        }
        const signatureVersion = selectEnvelopeSignatureVersion(
          signatureMode,
          peer.capabilities.supportedProtocols,
          envelope.messageType,
        );
        // Build the AgentMessage WITHOUT signature first, canonicalize
        // the bytes, sign them, then attach the signature to metadata.
        // The receiver runs the same canonicalization and verifies
        // against this node's published public key.
        const baseMessage: AgentMessage = {
          id: envelope.envelopeId,
          type: envelope.messageType,
          payload: envelope as unknown,
          metadata: {

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Add the target peer to the discovery registry or correct the target node ID; sends to unknown peers are aborted.

When it happens

Trigger: Thrown at v3/@claude-flow/plugin-agent-federation/src/plugin.ts:370 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/a4916c122e182d0c. Report an issue: GitHub.