From b7edf4e3cdc5767a18b3f7908f2da3426d32403a Mon Sep 17 00:00:00 2001 From: Shine1i Date: Thu, 26 Feb 2026 15:37:48 +0100 Subject: [PATCH] refactor(recipe-studio): simplify runtime graph flow + guard stale active execution lock p2 --- studio/backend/core/data_recipe/jobs/parse.py | 2 +- .../components/recipe-graph-node.tsx | 12 ++-- .../recipe-studio/recipe-studio-page.tsx | 7 +- .../utils/graph/derive-display-graph.ts | 12 +++- .../utils/graph/runtime-visual-state.ts | 71 +++++++++++++++---- 5 files changed, 75 insertions(+), 29 deletions(-) diff --git a/studio/backend/core/data_recipe/jobs/parse.py b/studio/backend/core/data_recipe/jobs/parse.py index 1be9fbd34a..858ddb7f03 100644 --- a/studio/backend/core/data_recipe/jobs/parse.py +++ b/studio/backend/core/data_recipe/jobs/parse.py @@ -249,5 +249,5 @@ def _compute_overall_progress(job: Job, column_progress: Progress) -> Progress: def coerce_event(obj: Any) -> dict: - # worker sends dict already + """Normalize worker payload into event dict.""" return obj if isinstance(obj, dict) else {"type": "log", "message": str(obj)} diff --git a/studio/frontend/src/features/recipe-studio/components/recipe-graph-node.tsx b/studio/frontend/src/features/recipe-studio/components/recipe-graph-node.tsx index 0427133c0c..1effe96fc4 100644 --- a/studio/frontend/src/features/recipe-studio/components/recipe-graph-node.tsx +++ b/studio/frontend/src/features/recipe-studio/components/recipe-graph-node.tsx @@ -422,15 +422,15 @@ function RecipeGraphNodeBase({ {llmAuxVisible ? "Hide inputs" : "Show inputs"} )} -