arcalot / arcaflow-engine

Arcaflow is a highly-portable workflow engine enabling modular and validated pipelines through containerized plugins.
https://arcalot.io/arcaflow/
Apache License 2.0
7 stars 9 forks source link

Incomplete type validation for list output #206

Open jaredoconnell opened 2 months ago

jaredoconnell commented 2 months ago

Currently, if you have a list output, the engine appears to use the first item to get the list schema. It does not validate hard-coded non-zero entries. This results in a validation failure when the output is created.

The engine should run infer on the other list items, then compare the type to ensure they match the first item.

webbnh commented 2 months ago

Also, it should be well-behaved if the list is empty (i.e., if there is nothing to use to get the list schema). Hopefully, this is basically a "fall-through" case, since, if the list is empty, there will also be nothing to which the engine needs to apply the schema which it cannot infer...but, it's worth testing.