Skip to content

fix(core): process and validate inputs before pre_run_step in astep (#979) - #995

Open
legend91019 wants to merge 1 commit into
apache:mainfrom
legend91019:fix/issue-979-astep-unprocessed-inputs
Open

legend91019 wants to merge 1 commit into
apache:mainfrom
legend91019:fix/issue-979-astep-unprocessed-inputs

Conversation

@legend91019

@legend91019 legend91019 commented Oct 25, 2026 •

Copy link
Copy Markdown

Summary

Fixes #979.

Application.step() processes inputs before calling pre_run_step, but Application.astep() previously passed the raw input dictionary to the hook before processing and validation. As a result, the hook could receive undeclared inputs or run before a missing required input was rejected.

This change processes inputs before the async pre-step hook and passes the resulting action_inputs to it, for both synchronous and asynchronous actions executed through astep().

Changes

  • burr/core/application.py: call _process_inputs(inputs, next_action) before pre_run_step in _astep() and reuse the processed inputs for async execution.
  • tests/core/test_application.py: cover filtering undeclared inputs and rejecting missing required inputs before the hook runs, for sync and async actions.

Verification

Implementation verification previously recorded for this branch:

  • tests/core/test_application.py: 144 tests passed.
  • tests/core: 432 tests passed.

This description-only update repairs Markdown escaping and corrupted identifiers. It does not change the branch or claim a new test run.

@github-actions github-actions Bot added the area/core Application, State, Graph, Actions label Oct 25, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Application, State, Graph, Actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

astep() passes unprocessed inputs to pre_run_step hooks

1 participant