# Workflow Delivery Checklist ## Phase Checklist ### Phase 1 - [x] Canonical workflow schema finalized - [x] Frontend and backend workflow types aligned - [x] Preset workflow migration helpers added - [x] Tests added for legacy preset conversion - [x] Legacy dispatch remains default ### Phase 2 - [x] Node registry implemented - [x] Node definitions API available - [x] All required nodes have settings schemas - [x] Editor consumes node definitions from backend ### Phase 3 - [ ] Missing legacy steps extracted into reusable executors - [ ] Extracted node behavior matches legacy services - [ ] Node-level tests cover success and failure paths - Progress: `order_line_setup`, `resolve_template`, `material_map_resolve`, `auto_populate_materials`, `glb_bbox`, `output_save`, and `notify` are extracted and covered by targeted backend tests; remaining parity nodes are still open. ### Phase 4 - [ ] Workflow context introduced - [ ] Node outputs are persisted and reusable - [ ] Graph runtime supports legacy fallback - [ ] `legacy`, `graph`, and `shadow` modes exist ### Phase 5 - [ ] Editor saves nodes and edges - [ ] Editor roundtrip preserves workflow configs - [ ] All node settings are editable - [ ] Validate, dry-run, and dispatch are available - [ ] Runs are visible with node-level status and logs ### Phase 6 - [ ] Shadow mode parity checks run on real workflows - [ ] Golden cases pass against legacy outputs - [ ] Rollout can be enabled per workflow or output type - [ ] Rollback to legacy is immediate ## Quality Gates ### QG-1: Model Gate - New workflow saves only use canonical schema. - Backend rejects malformed configs with clear errors. - Existing preset workflows can be migrated without data loss. ### QG-2: Node Gate - Every editor-visible node has: - backend node definition - validated settings schema - default params - executor coverage or explicit disabled status ### QG-3: Legacy Safety Gate - Legacy render dispatch remains callable and unchanged in behavior. - Existing output types still render without workflow migration. - Graph failures do not block legacy renders. ### QG-4: Parity Gate - Golden cases match on: - render status - generated output file - media asset creation - notifications - core render log fields ### QG-5: Editor Gate - Workflow configs survive save/load roundtrip without loss. - Invalid graphs are blocked before dispatch. - All node settings needed for parity are present in the editor. ### QG-6: Rollout Gate - Shadow mode has been exercised on representative workflows. - Graph runtime error rate is at or below legacy error rate. - Rollout and rollback are possible per workflow or output type. ## Definition of Done - `/workflows` is production-capable for authoring and running workflows. - Legacy functionality is available in graph form with parity coverage. - Legacy execution still exists as a supported fallback.