{"record":{"id":"1d3997d47e5b770e","repo":"OpenBMB/ChatDev","slug":"entry-name-is-not-an-edgeprocessorregistration","errorCode":null,"errorMessage":"Entry '{name}' is not an EdgeProcessorRegistration","messagePattern":"Entry '(.+?)' is not an EdgeProcessorRegistration","errorType":"validation","errorClass":"RegistryError","httpStatus":null,"severity":"error","filePath":"runtime/edge/processors/registry.py","lineNumber":56,"sourceCode":") -> None:\n    if name in edge_processor_registry.names():\n        raise RegistryError(f\"Edge processor type '{name}' already registered\")\n    entry = EdgeProcessorRegistration(\n        name=name,\n        config_cls=config_cls,\n        processor_cls=processor_cls,\n        summary=summary,\n    )\n    edge_processor_registry.register(name, target=entry)\n    register_edge_processor_schema(name, config_cls=config_cls, summary=summary)\n\n\ndef get_edge_processor_registration(name: str) -> EdgeProcessorRegistration:\n    _ensure_builtins_loaded()\n    entry: RegistryEntry = edge_processor_registry.get(name)\n    registration = entry.load()\n    if not isinstance(registration, EdgeProcessorRegistration):\n        raise RegistryError(f\"Entry '{name}' is not an EdgeProcessorRegistration\")\n    return registration\n\n\ndef iter_edge_processor_registrations() -> Dict[str, EdgeProcessorRegistration]:\n    _ensure_builtins_loaded()\n    return {name: entry.load() for name, entry in edge_processor_registry.items()}\n\n\ndef build_edge_processor(\n    processor_config: \"EdgeProcessorConfig\",\n    context: ProcessorFactoryContext,\n) -> \"EdgePayloadProcessor[Any]\":\n    registration = get_edge_processor_registration(processor_config.type)\n    processor_cls = registration.processor_cls\n    if not processor_cls:\n        raise RegistryError(f\"Edge processor type '{processor_config.type}' does not provide an implementation\")\n    return processor_cls(processor_config.config, context)\n","sourceCodeStart":38,"sourceCodeEnd":74,"githubUrl":"https://github.com/OpenBMB/ChatDev/blob/4fb2db0ea90375ce1059f44fe03ffbd191a7a169/runtime/edge/processors/registry.py#L38-L74","documentation":"The registry entry loaded for the requested edge processor type is not an EdgeProcessorRegistration, indicating a corrupted or foreign entry in the processor registry.","triggerScenarios":"Something wrote a non-EdgeProcessorRegistration object into edge_processor_registry under that name (bypassing register_edge_processor), and build_edge_processor/get_edge_processor_registration then loads it.","commonSituations":"Direct registry mutation by plugins, or version skew after upgrading the runtime where EdgeProcessorRegistration was redefined and isinstance checks fail across copies of the class.","solutions":["Register only through register_edge_processor","Inspect edge_processor_registry.get(name).load() to see the actual object type","Reinstall/align package versions so there is a single EdgeProcessorRegistration class"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"from runtime.edge.processors.registry import iter_edge_processor_registrations\nassert 'myproc' in iter_edge_processor_registrations()","typeGuard":null,"tryCatchPattern":"try:\n    proc = build_edge_processor(cfg, ctx)\nexcept RegistryError as e:\n    logger.error('bad processor registration: %s', e)\n    raise","preventionTips":["Use official register functions only","Pin consistent package versions"],"tags":["registry","type-mismatch","plugin"],"backgroundTag":"registry-entry-type-mismatch","analyzedSha":"4fb2db0ea90375ce1059f44fe03ffbd191a7a169","analyzedAt":"2026-08-27T14:35:29.622Z","schemaVersion":2},"datasetVersion":"2026-08-27T19:17:21.184Z"}