Priority Level
Low (Cosmetic / Minor)
Describe the bug
Workflow chaining validates name collisions between stage processors and output_processors, but it does not reject duplicate names within the output_processors list itself. If two output processors share the same name, they can write to the same processor artifact path and the later output can overwrite the earlier one.
Steps/Code to reproduce bug
workflow.add_stage(
name="drafts",
config_builder=builder,
output_processors=[
DropColumnsProcessorConfig(name="drop_scratch", column_names=["scratch"]),
DropColumnsProcessorConfig(name="drop_scratch", column_names=["other_scratch"]),
],
)
Expected behavior
add_stage() should raise a DataDesignerWorkflowError when output_processors contains duplicate processor names.
Agent Diagnostic / Prior Investigation
Greptile flagged this on PR #636. The current validation checks output_processors names against processors already present in the stage config, but not duplicate names within output_processors itself.
Additional context
Follow-up from PR #636: #636
Checklist
Priority Level
Low (Cosmetic / Minor)
Describe the bug
Workflow chaining validates name collisions between stage processors and
output_processors, but it does not reject duplicate names within theoutput_processorslist itself. If two output processors share the same name, they can write to the same processor artifact path and the later output can overwrite the earlier one.Steps/Code to reproduce bug
Expected behavior
add_stage()should raise aDataDesignerWorkflowErrorwhenoutput_processorscontains duplicate processor names.Agent Diagnostic / Prior Investigation
Greptile flagged this on PR #636. The current validation checks
output_processorsnames against processors already present in the stage config, but not duplicate names withinoutput_processorsitself.Additional context
Follow-up from PR #636: #636
Checklist