{"record":{"id":"972063a0caff7a16","repo":"ruvnet/ruflo","slug":"inbound-rejected-enforce-mode-has-no-authorizatio","errorCode":null,"errorMessage":"Inbound rejected: enforce mode has no authorization evaluator","messagePattern":"Inbound rejected: enforce mode has no authorization evaluator","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/plugin-agent-federation/src/application/inbound-dispatcher.ts","lineNumber":428,"sourceCode":"    } catch {\n      if (authorizationMode === 'enforce') {\n        await deps.audit.log('message_rejected', {\n          sourceNodeId,\n          metadata: { address, reason: 'AUTHORIZATION_ERROR', messageType: message.type },\n        });\n        deps.logger.warn(`Inbound authorization failed for ${sourceNodeId} (addr=${address})`);\n        return { accepted: false, reason: 'AUTHORIZATION_ERROR' };\n      }\n      deps.logger.warn(\n        `Inbound authorization observation failed for ${sourceNodeId} (mode=${authorizationMode})`,\n      );\n    }\n  } else if (authorizationMode === 'enforce') {\n    await deps.audit.log('message_rejected', {\n      sourceNodeId,\n      metadata: { address, reason: 'AUTHORIZATION_ERROR', messageType: message.type },\n    });\n    deps.logger.warn('Inbound rejected: enforce mode has no authorization evaluator');\n    return { accepted: false, reason: 'AUTHORIZATION_ERROR' };\n  }\n\n  if (authorizationDecision && !authorizationDecision.allowed) {\n    if (authorizationMode === 'enforce') {\n      await deps.audit.log('message_rejected', {\n        sourceNodeId,\n        metadata: {\n          address,\n          reason: 'AUTHORIZATION_DENIED',\n          messageType: message.type,\n          policyReason: authorizationDecision.reason,\n        },\n      });\n      deps.logger.warn(`Inbound authorization denied for ${sourceNodeId} (addr=${address})`);\n      return { accepted: false, reason: 'AUTHORIZATION_DENIED' };\n    }\n    deps.logger.warn(","sourceCodeStart":410,"sourceCodeEnd":446,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/plugin-agent-federation/src/application/inbound-dispatcher.ts#L410-L446","documentation":"Guard in dispatchInbound: authorizationMode is 'enforce' but no authorizeInbound evaluator was wired into the dispatcher dependencies. Rather than silently admitting unauthorized traffic, the message is rejected with reason AUTHORIZATION_ERROR and audited as message_rejected.","triggerScenarios":"Thrown at v3/@claude-flow/plugin-agent-federation/src/application/inbound-dispatcher.ts:428 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Configure an authorization evaluator before switching to enforce mode; enforce without an evaluator rejects all inbound."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}