diff --git a/backend/workflow_executor.py b/backend/workflow_executor.py index 6a8054b..017fda9 100644 --- a/backend/workflow_executor.py +++ b/backend/workflow_executor.py @@ -250,9 +250,20 @@ async def execute_node( # 6. Normalize Signals normalized_signals = [] if parsed["decision_signals"]: + # Hybrid Model: Node-spezifische Questions überschreiben Catalog + node_catalog = catalog.copy() + if node.question_augmentations: + for q in node.question_augmentations: + q_dict = q.model_dump() if hasattr(q, 'model_dump') else q + node_catalog[q_dict['type']] = { + "answer_spectrum": q_dict['answer_spectrum'], + "normalization_rules": None # Node-Questions haben keine Synonyme + } + logger.debug(f"Node {node.id}: Override catalog for '{q_dict['type']}' with node-specific spectrum") + normalized_signals = normalize_all_signals( decision_signals=parsed["decision_signals"], - catalog_dict=catalog + catalog_dict=node_catalog ) logger.info(f"Node {node.id}: Normalized {len(normalized_signals)} signals")