feat: add graph workflow fallback and retry metadata

This commit is contained in:
2026-04-07 10:56:45 +02:00
parent c17b7d2e8f
commit f9d4da52b9
9 changed files with 473 additions and 39 deletions
@@ -28,9 +28,9 @@
- [x] Workflow context introduced
- [x] Node outputs are persisted and reusable
- [ ] Graph runtime supports legacy fallback
- [x] Graph runtime supports legacy fallback
- [ ] `legacy`, `graph`, and `shadow` modes exist
- 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.
- Progress: Graph dispatch now persists retry/failure policy metadata per node, retries bridge-node failures within the configured attempt budget, and the production order-line dispatcher can opt into explicit graph mode with a hard fallback back to legacy dispatch if graph execution preparation or runtime fails.
### Phase 5
@@ -73,9 +73,9 @@
- `E4-T1` Introduce `WorkflowContext`. `completed`
- `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-T4` Support retry and failure policies. `completed`
- `E4-T5` Add execution mode switch: `legacy`, `graph`, `shadow`.
- `E4-T6` Add hard fallback to legacy dispatch on graph failure.
- `E4-T6` Add hard fallback to legacy dispatch on graph failure. `completed`
## Epic 5: Editor Parity