feat: execute workflow bridge nodes in graph runtime

This commit is contained in:
2026-04-07 10:42:59 +02:00
parent 6ad34ceed2
commit c17b7d2e8f
7 changed files with 699 additions and 22 deletions
@@ -27,10 +27,10 @@
### Phase 4
- [x] Workflow context introduced
- [ ] Node outputs are persisted and reusable
- [x] Node outputs are persisted and reusable
- [ ] Graph runtime supports legacy fallback
- [ ] `legacy`, `graph`, and `shadow` modes exist
- Progress: Phase 4 foundation now persists `WorkflowRun` and initial `WorkflowNodeResult` records for both linked workflow dispatch and `/api/workflows/{id}/dispatch`, while keeping the legacy preset dispatcher as the safe default fallback.
- Progress: Graph dispatch now executes the extracted bridge nodes (`order_line_setup`, `resolve_template`, `material_map_resolve`, `auto_populate_materials`, `glb_bbox`) synchronously, persists per-node outputs/logs/durations onto `WorkflowNodeResult`, and continues to queue render/export nodes through Celery without changing the legacy preset dispatcher.
### Phase 5
@@ -71,8 +71,8 @@
### Tickets
- `E4-T1` Introduce `WorkflowContext`. `completed`
- `E4-T2` Refactor executor to process nodes against context and node outputs.
- `E4-T3` Persist node-level run records, logs, timings, and outputs.
- `E4-T2` Refactor executor to process nodes against context and node outputs. `completed`
- `E4-T3` Persist node-level run records, logs, timings, and outputs. `completed`
- `E4-T4` Support retry and failure policies.
- `E4-T5` Add execution mode switch: `legacy`, `graph`, `shadow`.
- `E4-T6` Add hard fallback to legacy dispatch on graph failure.
@@ -80,6 +80,7 @@ Notes:
- Introduce `WorkflowContext` and node-by-node execution with persistent run state.
- Support node outputs and artifact handoff across edges.
- Keep `legacy`, `graph`, and `shadow` execution modes.
- Current slice: graph dispatch executes extracted bridge nodes for order-line setup, template/material resolution, auto-material population, and bounding-box resolution before queueing render/export tasks.
### Phase 5: Workflow Editor Parity