ForExecutorBuilder.buildCollectionFilter() dereferences task.getFor().getIn() without a null check. When in is null (a ForTask built programmatically without setting in), this throws a raw NullPointerException with no helpful context.
Per the Open Workflow specification, for.in is a required field. The JSON Schema in
types/src/main/resources/schema/workflow.yaml correctly declares required: [ in ], and the ValidationReader enforces this for YAML/JSON workflows.
However, programmatically-built workflows bypass schema validation entirely, so the in requirement is not enforced.
ForExecutorBuilder.buildCollectionFilter()dereferencestask.getFor().getIn()without a null check. Wheninisnull(aForTaskbuilt programmatically without settingin), this throws a rawNullPointerExceptionwith no helpful context.Per the Open Workflow specification,
for.inis a required field. The JSON Schema intypes/src/main/resources/schema/workflow.yamlcorrectly declaresrequired: [ in ], and theValidationReaderenforces this for YAML/JSON workflows.However, programmatically-built workflows bypass schema validation entirely, so the
inrequirement is not enforced.