#902 fix: preserve falsy default parameter values in task spec serialization
Pull request opened by
AdilFayyaz
Motivation
Task parameters with falsy defaults (0, False, "") were silently dropped from the serialized task spec. This caused incorrect behavior at runtime since the backend never received those defaults.
Summary
• Fixed convert_upload_default_inputs in convert.py: replaced if default_value and (truthiness check) with if default_value is not None and default_value is not inspect.Parameter.empty: (identity checks only)
• Added regression test test_convert_upload_default_inputs_with_falsy_defaults covering b=0, c=False, d=""
• Added examples/convert/two_defaults_task.py as a reproducer
Test Plan
• uv run pytest tests/flyte/internal/runtime/test_convert.py -q — all 62 tests pass
• Manual reproducer: python examples/convert/two_defaults_task.py — confirms b=0 now appears in the task spec
flyteorg/flyte-sdk