Skip to content

fix(foundation): propagate workflow DSL retry config to runtime nodes#1312

Open
Bhanudahiyaa wants to merge 1 commit intomofa-org:mainfrom
Bhanudahiyaa:feature/workflow-dsl-retry-propagation
Open

fix(foundation): propagate workflow DSL retry config to runtime nodes#1312
Bhanudahiyaa wants to merge 1 commit intomofa-org:mainfrom
Bhanudahiyaa:feature/workflow-dsl-retry-propagation

Conversation

@Bhanudahiyaa
Copy link
Contributor

Summary

Propagates workflow DSL execution config into runtime node configuration so retry and timeout settings defined in YAML/JSON are applied during parser/build.

Motivation

Workflow Engine DSL exposes config fields (retry/timeout), but parser/build behavior was partial. This prevented reliable end-to-end execution semantics from DSL definitions.

Changes

  • Updated crates/mofa-foundation/src/workflow/dsl/parser.rs to:
    • collect node-level config definitions from DSL.
    • apply workflow-level defaults (retry_policy, default_timeout_ms) to all runtime nodes.
    • apply node-level overrides (retry_policy, timeout_ms, metadata).
    • convert DSL retry policy type into runtime node retry policy type.
  • Added tests in parser module:
    • workflow_retry_and_timeout_defaults_propagate
    • node_retry_and_timeout_override_workflow_defaults

Related Issues

Resolves #1311

Testing

  • cargo test -p mofa-foundation workflow::dsl::parser::tests -- --nocapture

Checklist

  • cargo fmt --check passes
  • cargo clippy --workspace --all-features -- -D errors passes
  • cargo test --workspace --all-features passes
  • cargo build --examples succeeds
  • cargo doc --workspace --no-deps --all-features succeeds
  • Architecture layer rules respected (see CONTRIBUTING.md)
  • Relevant documentation updated

@Bhanudahiyaa
Copy link
Contributor Author

Bhanudahiyaa commented Mar 17, 2026

@lijingrs

Would appreciate a quick look when you get a chance, especially around whether the retry propagation approach aligns with the intended workflow execution model.

Happy to adjust based on feedback.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Workflow DSL retry/timeout config not propagated to executor nodes

1 participant