Skip to content

feat: add dynamic workflow control flow - #163

Draft
Tsuyoshi Ushio (TsuyoshiUshio) wants to merge 5 commits into
mainfrom
tsuyoshiushio-analyze-issue-1276
Draft

feat: add dynamic workflow control flow#163
Tsuyoshi Ushio (TsuyoshiUshio) wants to merge 5 commits into
mainfrom
tsuyoshiushio-analyze-issue-1276

Conversation

@TsuyoshiUshio

@TsuyoshiUshio Tsuyoshi Ushio (TsuyoshiUshio) commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • extend Dynamic Workflows with deterministic object-based when predicates
  • add bounded runtime for_each expansion with ${item}, ${item.path}, and ${index} locals
  • preserve the existing static scheduler while adding numeric instance ordering and source-ordered aggregation
  • enforce materialized-node and owner-policy limits with stable controlled-failure envelopes
  • expose versioned structured progress in the status API and built-in chat UI
  • update workflow guidance, architecture/reference docs, and the incident-triage sample

Design

FRD 0004 contains the approved contract, the static-versus-dynamic flow diagram, Decisions 25-36, and recorded human sign-off. The design intentionally excludes retry/timeout policy, configurable governance limits, per-agent workflow enablement, and production owner-query/observability work tracked by adjacent planning issues.

Review focus

  • condition evaluation before executable template resolution
  • non-propagating skip behavior and skipped-result null semantics
  • atomic node-budget admission and numeric <logical-id>[<index>] scheduling
  • ordered {index, status, result} fan-in envelopes
  • persisted owner policy and fail-closed dispatch checks
  • structured custom_status compatibility with legacy static status strings
  • controlled runtime failure provenance and status normalization

Validation

  • Ruff and strict MyPy pass
  • CI-equivalent pytest/coverage gate: 978 passed
  • independent architecture, implementation, and testing reviews found no remaining blockers

Planning issue: https://github.com/Azure/azure-functions-bucees-planning/issues/1276

Tsuyoshi Ushio added 5 commits August 13, 2026 19:30
Extend FRD 0004 with constrained conditions, bounded runtime fan-out, deterministic aggregation, status, limits, authorization, and stable failure contracts for planning issue 1276.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 10f8ebc4-9f18-4717-983e-4e9b8ec5eb55
Record the draft pull request in FRD 0004 metadata.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 10f8ebc4-9f18-4717-983e-4e9b8ec5eb55
Add a reviewer-oriented Mermaid comparison of existing static DAGs and the proposed data-driven for_each, when, and ordered fan-in flow.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 10f8ebc4-9f18-4717-983e-4e9b8ec5eb55
Record human approval of FRD 0004 Decisions 25-35 and open the implementation gate for planning issue 1276.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 10f8ebc4-9f18-4717-983e-4e9b8ec5eb55
Implement deterministic when and bounded for_each execution with ordered aggregation, structured status, stable failures, UI rendering, documentation, and sample coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 10f8ebc4-9f18-4717-983e-4e9b8ec5eb55
@TsuyoshiUshio Tsuyoshi Ushio (TsuyoshiUshio) changed the title docs: design dynamic workflow control flow feat: add dynamic workflow control flow Aug 15, 2026
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.

1 participant