6.4 KiB
6.4 KiB
Workflow Implementation Backlog
Execution orchestration, ownership split, and merge order are tracked in docs/workflows/WORKERS.md.
Epic 1: Canonical Workflow Model
Tickets
E1-T1Finalize canonical workflow JSON schema withversion,nodes,edges, and optionalui.E1-T2Align frontend workflow API types with the backend schema.E1-T3Extend backend validation for duplicate IDs, invalid edges, unknown steps, and invalid params.E1-T4Add migration helpers for existing preset configs:still,turntable,multi_angle,still_with_exports.E1-T5Add tests for preset-to-DAG migration.
Primary Files
backend/app/domains/rendering/workflow_schema.pyfrontend/src/api/workflows.tsfrontend/src/pages/WorkflowEditor.tsx
Epic 2: Node Registry and Settings Schemas
Tickets
E2-T1Add a backendNodeDefinitionRegistry.E2-T2Define metadata and settings schema for each workflow node.E2-T3AddGET /api/workflows/node-definitions.E2-T4Provide schema-driven defaults and editor field groups.E2-T5Add composite bridge nodes for safe migration.E2-T6Extend node definitions with family, module key, input contract, output contract, and artifact roles.
Required Node Coverage
resolve_step_pathocc_object_extractocc_glb_exportglb_bboxmaterial_map_resolveauto_populate_materialsblender_renderthreejs_renderthumbnail_saveorder_line_setupresolve_templateblender_stillblender_turntableoutput_saveexport_blendstl_cache_generatenotify
Epic 3: Legacy Step Extraction
Tickets
E3-T1Create a parity matrix from the legacy render pipeline.E3-T2Extractorder_line_setupinto a reusable service/task.completedE3-T3Extractresolve_template.completedE3-T4Extractmaterial_map_resolve.completedE3-T5Extractauto_populate_materials.completedE3-T6Extractglb_bbox.completedE3-T7Extractoutput_save.completedE3-T8Extractnotify.completedE3-T9Add executor tests for all extracted nodes.completed
Legacy Sources
backend/app/domains/pipeline/tasks/render_order_line.pybackend/app/domains/rendering/tasks.pybackend/app/core/process_steps.py
Epic 4: Graph Runtime
Tickets
E4-T1IntroduceWorkflowContext.completedE4-T2Refactor executor to process nodes against context and node outputs.completedE4-T3Persist node-level run records, logs, timings, and outputs.completedE4-T4Support retry and failure policies.completedE4-T5Add execution mode switch:legacy,graph,shadow.completedE4-T6Add hard fallback to legacy dispatch on graph failure.completedE4-T7Makeoutput_savegraph-authoritative for still renders by disabling render-task self-publish whenever a downstreamoutput_savenode is present.completedE4-T8Persist authoritative still output metadata back intoWorkflowNodeResultrows and keep shadow mode non-authoritative.completedE4-T9Extend runtime, dispatch, and task tests for graph-authoritative still persistence and legacy-safe notify handoff.completedE4-T10Extend graph-authoritativeoutput_savesemantics toexport_blend, including asset persistence and node-result updates without mutating the primary order-line render output.completedE4-T11Extend graph-authoritativeoutput_savesemantics toblender_turntable, including graph/legacy-safe task argument handling, authoritative persistence, and node-result updates for video outputs.completed
Epic 5: Editor Parity
Tickets
E5-T1Save and loadedges.E5-T2Replacepipeline_stepin node UI data with canonical nodestep.E5-T3Render node settings from backend schemas.E5-T4Add graph validation in the editor.E5-T5Add dry-run and dispatch from the editor.E5-T6Add workflow run inspection UI.E5-T7Reorganize authoring around family-specific starter graphs and family-safe palettes.- Progress: The editor already supports right-click node insertion, searchable family-aware palettes, auto-align, edge deletion, dry-run/dispatch, and run inspection. The current remaining parity slice is authoring polish and validation around the canonical non-legacy still graph, not missing basic editor mechanics.
Epic 7: Output-Type Invocation Profiles
Tickets
E7-T1Align frontend/backend defaults and allowed values for output-type creation.completedE7-T2Define explicit workflow family on output types.completedE7-T3Separate invocation overrides from legacy raw render settings.completedE7-T4Add artifact-kind contract to output types.completedE7-T5Validate output-type family/workflow compatibility in backend APIs.completedE7-T6Redesign admin create/edit flow around workflow invocation instead of legacy renderer flags.completed- Progress: Output types now persist an explicit workflow family, artifact kind, and invocation override set; backend APIs reject family/artifact mismatches against linked workflows; serializer output exposes a typed invocation profile instead of leaking raw dict payloads.
Epic 6: Rollout and Quality
Tickets
E6-T1Add shadow mode parity execution.completedE6-T2Build output comparison tooling.completedE6-T3Define golden test cases.completedE6-T3aHarden the golden-suite harness against transient backend disconnects and 502/503/504 responses.completedE6-T3bClose the primary.blendgraph-authoritative persistence gap so graph blend exports complete the order, persist the order-line output, and publish ablend_productionmedia asset.completedE6-T4Roll out per workflow or output type.E6-T5Keep legacy fallback after rollout.