Enable resilient tasks in LRA samples (invocations + responses) + responses 2.0.0b1 core floor bump - #48399
Merged
Shiva S (Shivakishore14) merged 3 commits intoAug 3, 2026
Conversation
Add set_resilient_tasks_enabled(True) to the resilient_multiturn, resilient_langgraph, and resilient_research sample apps so they explicitly opt into resilient-task startup recovery introduced by the core 2.0.0b10 opt-in gate, rather than relying only on the implicit task-declared behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5222ab61-7d5e-4642-b75f-ef365e375f4f
Nathandrake229
requested review from
Shiva S (Shivakishore14) and
Ankit Sinha (ankitbko)
as code owners
August 3, 2026 04:55
Nathandrake229
requested review from
Ravi Pidaparthi (RaviPidaparthi) and
Pranav Pandit (vangarp)
as code owners
August 3, 2026 04:55
|
Azure Pipelines: Successfully started running 1 pipeline(s). 9 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
Pull request overview
Explicitly enables resilient-task startup recovery in all resilient invocation samples.
Changes:
- Imports and calls
set_resilient_tasks_enabled(True). - Documents why explicit opt-in supports lazy task registration.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
samples/resilient_research/app.py |
Enables startup recovery. |
samples/resilient_multiturn/app.py |
Enables startup recovery. |
samples/resilient_langgraph/app.py |
Enables startup recovery. |
Add set_resilient_tasks_enabled(True) to the resilient Responses samples (sample_19_resilient_streaming, sample_20_resilient_steering, sample_21_resilient_langgraph, sample_22_resilient_multiturn) for parity with the invocations resilient samples. The Responses framework already registers its internal durable tasks at host construction, so recovery runs regardless; the explicit call showcases the opt-in API. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5222ab61-7d5e-4642-b75f-ef365e375f4f
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Suppressed comments (1)
sdk/agentserver/azure-ai-agentserver-responses/samples/sample_22_resilient_multiturn.py:47
- The PR title, summary, change list, rationale, and validation describe updates only to the three invocations samples, but this also changes four responses samples. Please either remove the responses changes or update the PR metadata and validation to cover this additional package and explain the scope expansion.
from azure.ai.agentserver.core.tasks import set_resilient_tasks_enabled
…2.0.0b10 The resilient Responses samples call set_resilient_tasks_enabled, an API introduced in azure-ai-agentserver-core 2.0.0b10. Raise the package's minimum core dependency from >=2.0.0b9 to >=2.0.0b10 so the samples are valid at the package's stated minimum, bump the version to 2.0.0b1, and document the dependency change in the CHANGELOG. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5222ab61-7d5e-4642-b75f-ef365e375f4f
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.
Suppressed comments (1)
sdk/agentserver/azure-ai-agentserver-responses/pyproject.toml:21
- This dependency bump leaves
[tool.azure-sdk-build]at lines 75–76 claiming thatazure-ai-agentserver-core>=2.0.0b9is not on PyPI and disablingmindependency. Since this PR depends on the published b10 release, that rationale is now stale and CI will still skip validating the new minimum dependency. Remove/update the stale comment and re-enablemindependencyunless another documented blocker remains.
"azure-ai-agentserver-core>=2.0.0b10",
Shiva S (Shivakishore14)
approved these changes
Aug 3, 2026
Shiva S (Shivakishore14)
approved these changes
Aug 3, 2026
Shiva S (Shivakishore14)
enabled auto-merge (squash)
August 3, 2026 10:57
Shiva S (Shivakishore14)
deleted the
namantyagi/agentserver-invocations-responses-release-prep
branch
August 3, 2026 14:36
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
Enable resilient-task startup recovery explicitly (
set_resilient_tasks_enabled(True)) in the resilient (LRA) samples across the invocations and responses packages, with parity across both protocols. Because the responses samples now use a core2.0.0b10API, this PR also raises the responses package's core floor and cuts a2.0.0b1prep entry.Changes
Invocations resilient samples — add
set_resilient_tasks_enabled(True):samples/resilient_multiturn/app.pysamples/resilient_langgraph/app.pysamples/resilient_research/app.pyResponses resilient samples — add
set_resilient_tasks_enabled(True):samples/sample_19_resilient_streaming.pysamples/sample_20_resilient_steering.pysamples/sample_21_resilient_langgraph.pysamples/sample_22_resilient_multiturn.pyResponses package release-prep (required by the sample change):
pyproject.toml: core floor>=2.0.0b9→>=2.0.0b10_version.py:2.0.0b0→2.0.0b1CHANGELOG.md: new## 2.0.0b1 (Unreleased)entry documenting the dependency bumpWhy
azure-ai-agentserver-core2.0.0b10introduced an opt-in gate for the resilientTaskManagerstartup recovery scan: recovery runs only when a durable task is declared orset_resilient_tasks_enabled(True)was called (an OR gate). Calling the switch explicitly in every resilient sample demonstrates the public opt-in API consistently, and keeps recovery working even if a task is registered lazily (the flag starts the periodic recovery loop at boot).Since the responses samples now import
set_resilient_tasks_enabled(a b10 API) at module top level, the responses package's core floor must be>=2.0.0b10or the samples would fail at import under the package's minimum supported dependency — hence the floor bump +2.0.0b1version + CHANGELOG note (addresses the Copilot review feedback).Note on the two packages
@task/@multi_turn_task, so recovery runs via the task-declared branch; the flag makes the opt-in explicit and covers the lazy-registration edge.ResponsesServerOptions(resilient_background=True). The framework already registers its internal durable tasks atResponsesAgentServerHostconstruction (beforeapp.run()), so recovery runs regardless — the flag is added for parity and to showcase the opt-in API (the added comment states this explicitly).Validation
py_compile).from azure.ai.agentserver.core.tasks import set_resilient_tasks_enabledresolves against the publishedazure-ai-agentserver-core==2.0.0b10.pyproject.tomlparses; responses deps resolve toazure-ai-agentserver-core>=2.0.0b10.api.md/api.metadata.ymlrequire no regeneration.>=2.0.0b10already merged via Prepare azure-ai-agentserver-invocations 1.0.0b8 release #48398.