diff --git a/backend/normalization_engine.py b/backend/normalization_engine.py index cbac847..9ae06f6 100644 --- a/backend/normalization_engine.py +++ b/backend/normalization_engine.py @@ -228,9 +228,9 @@ def load_question_catalog(db_connection) -> Dict[str, Dict]: catalog = {} for row in rows: - catalog[row[0]] = { - "answer_spectrum": row[1], # JSONB already parsed by psycopg2 - "normalization_rules": row[2] # JSONB or None + catalog[row['question_type']] = { + "answer_spectrum": row['answer_spectrum'], # JSONB already parsed by psycopg2 + "normalization_rules": row['normalization_rules'] # JSONB or None } logger.info(f"Loaded question catalog: {len(catalog)} types") diff --git a/backend/workflow_executor.py b/backend/workflow_executor.py index 9634210..1b1a39c 100644 --- a/backend/workflow_executor.py +++ b/backend/workflow_executor.py @@ -80,7 +80,7 @@ async def execute_workflow( if not row: raise ValueError(f"Workflow not found: {workflow_id}") - graph_json = row[0] + graph_json = row['graph'] # 2. Parse Graph graph = parse_workflow_graph(graph_json) @@ -309,7 +309,7 @@ async def load_prompt_template(prompt_slug: str, context: Dict[str, Any]) -> str if not row: raise ValueError(f"Prompt not found: {prompt_slug}") - template = row[0] + template = row['template'] # Resolve Placeholders profile_id = context.get("profile_id")