diff --git a/legacy_tasks.py b/legacy_tasks.py index 58dc3fa..87232ad 100644 --- a/legacy_tasks.py +++ b/legacy_tasks.py @@ -94,8 +94,15 @@ class DogExecutor(Executor): return dog_process(inputs, output_path, config, None) -# Note: No specific executor for identity - let the generic EFFECT executor -# handle it so effects can be loaded from IPFS by CID when specified. +@register_executor("effect:identity") +class IdentityExecutor(Executor): + """Executor for the identity effect (passthrough).""" + + def execute(self, config: Dict, inputs: List[Path], output_path: Path) -> Path: + from artdag.nodes.effect import effect_identity + if len(inputs) != 1: + raise ValueError(f"Identity effect expects 1 input, got {len(inputs)}") + return effect_identity(inputs[0], output_path, config) @register_executor(NodeType.SOURCE)