Skip to content

docs: document concurrent invocations and idempotency in the agent loop#2941

Merged
zastrowm merged 4 commits into
strands-agents:mainfrom
BV-Venky:docs/concurrent-invocations
Jun 24, 2026
Merged

docs: document concurrent invocations and idempotency in the agent loop#2941
zastrowm merged 4 commits into
strands-agents:mainfrom
BV-Venky:docs/concurrent-invocations

Conversation

@BV-Venky

Copy link
Copy Markdown
Contributor

Description

Documentation Update for idempotency semantics in Agent Loop

Related Issues

#1365

##Related PRs
#1937 #2932

Type of Change

Documentation update

@BV-Venky BV-Venky temporarily deployed to manual-approval June 24, 2026 18:11 — with GitHub Actions Inactive
@github-actions github-actions Bot added enhancement New feature or request documentation Documentation changes, improvements, additions, content updates, site improvements, examples, guides labels Jun 24, 2026
@BV-Venky

Copy link
Copy Markdown
Contributor Author

CC: @zastrowm

zastrowm
zastrowm previously approved these changes Jun 24, 2026
@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Documentation Preview Ready

Your documentation preview has been successfully deployed!

Changed pages:

Updated at: 2026-06-24T20:53:39.078Z

@zastrowm zastrowm left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Content looks good - can we simplify and move to tabs to make it obvious when someone has TS selected as the language in the nav

Comment thread site/src/content/docs/user-guide/concepts/agents/agent-loop.mdx Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Assessment: Approve

Clean, well-scoped docs addition. I verified every technical claim against the Python SDK source and they all hold; nothing inline to flag.

Review detail

Accuracy (audited against strands-py source) — all correct:

  • ConcurrencyException and IdempotencyAbortedError exist in strands.types.exceptions; import paths resolve.
  • idempotency_token is a real param on __call__, invoke_async, and stream_async.
  • ConcurrentInvocationMode (THROW default, UNSAFE_REENTRANT) and the concurrent_invocation_mode constructor arg exist in strands.types.agent.
  • The subtle behavioral claims match the implementation: a deduplicated call gets the final result only (not streamed events), callback_handler still fires once with it (agent.py ~1138-1146), tokens compared by == (need not be hashable), and UNSAFE_REENTRANT ignores the token.
  • The "Python SDK only" callout is accurate — strands-ts has no equivalent public API.

Voice/style — passes: concept-based headings, no em-dashes or banned phrases, code examples are structurally complete with realistic values. The long one-sentence-per-line paragraphs exceed 90 chars but match this file's established prose convention, so not a concern.

Nice job grounding the prose in the actual semantics — the note that a deduplicated call still drives its callback_handler is exactly the kind of non-obvious detail readers need.

Comment thread site/src/content/docs/user-guide/concepts/agents/agent-loop.mdx Outdated
Co-authored-by: Mackenzie Zastrow <3211021+zastrowm@users.noreply.github.com>
@BV-Venky BV-Venky deployed to manual-approval June 24, 2026 20:09 — with GitHub Actions Active
@zastrowm zastrowm merged commit 8761895 into strands-agents:main Jun 24, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Documentation changes, improvements, additions, content updates, site improvements, examples, guides enhancement New feature or request size/s

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants