feat: add multi-owner Dynamic Workflow ownership and isolation - #151
Merged
Tsuyoshi Ushio (TsuyoshiUshio) merged 20 commits intoAug 14, 2026
Merged
Conversation
added 6 commits
August 10, 2026 16:23
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
added 3 commits
August 11, 2026 09:44
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
added 2 commits
August 11, 2026 11:19
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Preserve Activity failures, isolate compatibility registration tokens, align workflow starter validation, and make the chat UI the primary sample walkthrough. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Tsuyoshi Ushio (TsuyoshiUshio)
marked this pull request as ready for review
August 11, 2026 21:49
Laveesh Rohra (larohra)
requested changes
Aug 12, 2026
Keep FRD 0004 as the initial Dynamic Workflows record while linking its evolution to the separate ownership, authorization, and identity design in FRD 0009. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Simplify workflow ownership eligibility, keep customer samples minimal, and type Durable workflow boundaries. Move the E2E verifier to engineering tooling and preserve actionable trigger diagnostics. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
added 3 commits
August 12, 2026 19:56
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Rename the internal workflow owner identity and Durable payload contract to workflow_agent_slug across composition, execution, tests, and documentation. Make the E2E verifier isolate Storage runs from local DTS host configuration. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Remove the unreleased drain-mode environment variable and its runtime, policy, test, and documentation surface. Record the superseding FRD decision and defer final-agent lifecycle ownership to the tracked issue. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
hallvictoria
previously approved these changes
Aug 14, 2026
Laveesh Rohra (larohra)
previously approved these changes
Aug 14, 2026
Laveesh Rohra (larohra)
left a comment
Contributor
There was a problem hiding this comment.
1 small comment else LGTM
Move the sample-only verifier from eng/scripts to tests/scripts and update its tests and design record to match the repository's script ownership conventions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ade5207c-a0f4-4865-82d6-1d0d61f18570
Tsuyoshi Ushio (TsuyoshiUshio)
dismissed stale reviews from Laveesh Rohra (larohra) and hallvictoria
via
August 14, 2026 18:21
6c99724
Laveesh Rohra (larohra)
approved these changes
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
main.agent.mdsupport(owner_slug, session_id)with a 128-bit ownership digest and Activity-time policy reauthorizationDesign
FRD 0009 is finalized after human ratification of Decisions #8–#10 and #13. It uses ID 0009 because open PR #111 and draft PR #121 reserved 0008 when this work began.
Compatibility
This includes one intentional breaking change within the experimental Dynamic Workflows surface: legacy session-only workflow IDs continue running in Durable but are not manageable through the new owner-scoped agent APIs. The documentation includes drain guidance and continued Durable/DTS operator access.
Validation
python -m ruff check src testspython -m mypy srcwith CI's mypy 2.3.0python -m pytest --cache-clear --cov=.\src\azure_functions_agents --cov-report=xml --cov-branch tests— 976 passed, 52 deselectedReferences: