Skip to content

Consume iterate inputs only on the first step #910

Description

@Eilen6316

The documented semantics say that inputs are provided to the entry action for a run, but iterate(), aiterate(), and streaming iterate APIs currently pass the same input dictionary to every step.

This can cause later actions to receive unintended entry parameters, allow same-named parameters to alter later behavior, and make sync, async, and streaming execution harder to reason about.

Inputs should be consumed by the first executed step only. Subsequent steps should receive an empty input dictionary, while preserving inputs for first-step halt-before, first-step failure retries, and resumed failed positions.

This issue is tracked by PR #908 and should be called out in the release notes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions