Skip to content

Update docs to refine explanations for non-determinism#4448

Merged
flippedcoder merged 16 commits intomainfrom
mm/nondeterminism-clean-up
May 1, 2026
Merged

Update docs to refine explanations for non-determinism#4448
flippedcoder merged 16 commits intomainfrom
mm/nondeterminism-clean-up

Conversation

@flippedcoder
Copy link
Copy Markdown
Contributor

@flippedcoder flippedcoder commented Apr 17, 2026

What does this PR do?

Some pages in the docs need to be updated so that determinism is better understood. Right now we say that Temporal is deterministic when really only Workflows are deterministic and Activities handle non-determinism operations.

Notes to reviewers

┆Attachments: EDU-6219 Update docs to refine explanations for non-determinism

@flippedcoder flippedcoder requested a review from a team as a code owner April 17, 2026 19:08
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
temporal-documentation Ready Ready Preview, Comment May 1, 2026 7:42pm

Request Review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 17, 2026

📖 Docs PR preview links

@cdavisafc
Copy link
Copy Markdown

Hi @flippedcoder - thanks so much for getting this ball rolling.

I'd like to draw your attention to a few comments in this doc - in particular, the ones around how LLMs pattern match rather than understand. I don't think it is enough to say "workflows are deterministic. activities are not"

I know that makes the task tricker - which is what I was poking at a bit with my suggestion that perhaps we take a crack at explaining replay without that word.

@flippedcoder
Copy link
Copy Markdown
Contributor Author

flippedcoder commented Apr 24, 2026

Hi @flippedcoder - thanks so much for getting this ball rolling.

I'd like to draw your attention to a few comments in this doc - in particular, the ones around how LLMs pattern match rather than understand. I don't think it is enough to say "workflows are deterministic. activities are not"

I know that makes the task tricker - which is what I was poking at a bit with my suggestion that perhaps we take a crack at explaining replay without that word.

@cdavisafc Thanks for sharing this! I see what you mean about that little nuance. So I went ahead and took a stab at explaining replay here.

It gave me an idea of a direction to go in. Maybe instead of just saying "workflows are deterministic. activities are not", what if we said something like "Workflows are deterministic, but the Activities they execute don't need to be"?

@flippedcoder flippedcoder marked this pull request as ready for review April 28, 2026 20:12
@flippedcoder flippedcoder force-pushed the mm/nondeterminism-clean-up branch from 436205c to fb9234f Compare April 28, 2026 20:13
Copy link
Copy Markdown
Member

@Sushisource Sushisource left a comment

Choose a reason for hiding this comment

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

Overall I think this helps a lot. Thank you!

I find it a bit odd that we call out LLM calls separately from other API calls (they're not any meaningfully different for the purposes of these docs). I kinda understand why, maybe not everyone in the audience understands that, but it also kinda makes it seem like we don't understand that, heh.

Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/typescript/best-practices/debugging.mdx Outdated
Comment thread docs/encyclopedia/workflow/workflow-overview.mdx Outdated
Comment thread docs/encyclopedia/workflow/workflow-overview.mdx Outdated
Comment thread docs/encyclopedia/workflow/workflow-overview.mdx Outdated
Comment thread docs/encyclopedia/workflow/workflow-overview.mdx Outdated
Comment thread docs/encyclopedia/workflow/workflow-overview.mdx Outdated
Copy link
Copy Markdown
Contributor

@brianmacdonald-temporal brianmacdonald-temporal left a comment

Choose a reason for hiding this comment

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

Primarily did some wordsmithing -- I particularly wanted to lighten that "do not" bullet list on the workflow basics page. I was able to flip most of them from "don't do X; do Y instead" to "do Y instead of X."

Not all the SDKs have a "don't do this" list on the workflow basics page, but Python and .NET both do, and those could probably use a polish.

Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/encyclopedia/workflow/workflow-overview.mdx Outdated
Comment thread docs/encyclopedia/retry-policies.mdx Outdated
@flippedcoder flippedcoder force-pushed the mm/nondeterminism-clean-up branch from fb9234f to 3b8c1ee Compare May 1, 2026 14:50
Co-authored-by: Spencer Judge <spencer@temporal.io>
Copy link
Copy Markdown
Contributor

@brianmacdonald-temporal brianmacdonald-temporal left a comment

Choose a reason for hiding this comment

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

Just a little copyedit polishing.

Comment thread docs/develop/dotnet/workflows/basics.mdx Outdated
Comment thread docs/develop/dotnet/workflows/basics.mdx Outdated
Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/java/workflows/basics.mdx Outdated
Comment thread docs/develop/typescript/best-practices/debugging.mdx Outdated
flippedcoder and others added 3 commits May 1, 2026 14:31
Co-authored-by: Brian MacDonald <brian.macdonald@temporal.io>
Co-authored-by: Brian MacDonald <brian.macdonald@temporal.io>
Co-authored-by: Brian MacDonald <brian.macdonald@temporal.io>
flippedcoder and others added 3 commits May 1, 2026 14:32
Co-authored-by: Brian MacDonald <brian.macdonald@temporal.io>
Co-authored-by: Brian MacDonald <brian.macdonald@temporal.io>
Co-authored-by: Brian MacDonald <brian.macdonald@temporal.io>
Co-authored-by: Brian MacDonald <brian.macdonald@temporal.io>
@flippedcoder flippedcoder merged commit ade0863 into main May 1, 2026
10 checks passed
@flippedcoder flippedcoder deleted the mm/nondeterminism-clean-up branch May 1, 2026 19:44
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.

4 participants