From f67b33119fd05541871662cd8f48c99d9ab3cdff Mon Sep 17 00:00:00 2001 From: gilesb Date: Fri, 9 Jan 2026 12:30:44 +0000 Subject: [PATCH] Register dog effect for DAG EFFECT nodes The EFFECT node executor uses register_effect() to look up effects. Added dog effect registration so DAG recipes can use effect: dog. Co-Authored-By: Claude Opus 4.5 --- tasks.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tasks.py b/tasks.py index c457db8..382b4a1 100644 --- a/tasks.py +++ b/tasks.py @@ -22,6 +22,7 @@ from celery_app import app from artdag import DAG, Node, NodeType from artdag.engine import Engine from artdag.executor import register_executor, Executor, get_executor +from artdag.nodes.effect import register_effect import artdag.nodes # Register all built-in executors (SOURCE, EFFECT, etc.) # Add effects to path (use env var in Docker, fallback to home dir locally) @@ -65,6 +66,14 @@ def get_artdag_commit() -> str: sys.path.insert(0, str(EFFECTS_PATH / "dog")) +# Register the dog effect with the EFFECT executor +from effect import effect_dog + +@register_effect("dog") +def _dog_effect(input_path: Path, output_path: Path, config: dict) -> Path: + """Dog effect wrapper - registered for DAG EFFECT nodes.""" + return effect_dog(input_path, output_path, config) + def file_hash(path: Path) -> str: """Compute SHA3-256 hash of a file."""