Scope Workflow determinism language to Workflow code (core concept pages) - #5279
Conversation
"Workflow" alone reads as the whole business process (Activities, Signals, external calls included), which is never deterministic. Only the orchestration code that Temporal replays needs to be. Fixes the canonical Workflows overview page and the Event History walkthrough shared by all five SDK pages, including the Workflow-vs-application distinction that was phrased backwards.
Missed in the first pass: "While your Workflow must be deterministic" a few lines below the sentence already fixed in the same section.
The bullet already states the requirement concretely (same decisions given the same history); naming it "deterministic" on top added a label without new information, on the site's most-visited Workflows concept page.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…ism constraint
Team feedback: "Workflow code" is ambiguous, since Activity code is
also code that's part of a Workflow-based application. Temporal
already has the precise term for exactly the thing that must be
deterministic — Workflow Definition, the code the Worker replays, as
distinct from Activity Definition. Also removes a confusing
self-reference introduced in the earlier pass ("A Workflow's code is
deterministic if every execution of its Workflow Definition
produces..." named the same thing twice as if one depended on the
other).
|
Updated per team feedback: replaced "Workflow code" with "Workflow Definition" throughout. "Workflow code" was ambiguous since Activity code is also code that's part of a Workflow-based application — Workflow Definition is Temporal's own precise term for the thing that must be deterministic (the code the Worker replays), as distinct from Activity Definition. Also fixed a confusing self-reference this introduced ("A Workflow's code is deterministic if every execution of its Workflow Definition produces...") to just "A Workflow Definition is deterministic if every execution of it produces...". Also note: this branch was rebased against |
| @@ -720,7 +720,7 @@ explanation, check out our free, self-paced courses: [Temporal 102](https://lear | |||
|
|
|||
| ## Temporal Applications Support Non-Deterministic Operations | |||
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'Temporal Applications Support Non-Deterministic Operations' should use sentence-style capitalization.
| @@ -741,7 +741,7 @@ explanation, check out our free, self-paced courses: [Temporal 102](https://lear | |||
|
|
|||
| ## Temporal Applications Support Non-Deterministic Operations | |||
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'Temporal Applications Support Non-Deterministic Operations' should use sentence-style capitalization.
| @@ -737,7 +737,7 @@ explanation, check out our free, self-paced courses: [Temporal 102](https://lear | |||
|
|
|||
| ## Temporal Applications Support Non-Deterministic Operations | |||
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'Temporal Applications Support Non-Deterministic Operations' should use sentence-style capitalization.
| @@ -715,7 +715,7 @@ explanation, check out our free, self-paced courses: [Temporal 102](https://lear | |||
|
|
|||
| ## Temporal Applications Support Non-Deterministic Operations | |||
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'Temporal Applications Support Non-Deterministic Operations' should use sentence-style capitalization.
| @@ -721,7 +721,7 @@ explanation, check out our free, self-paced courses: [Temporal 102](https://lear | |||
|
|
|||
| ## Temporal Applications Support Non-Deterministic Operations | |||
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'Temporal Applications Support Non-Deterministic Operations' should use sentence-style capitalization.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 34a1f87614
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| ## Temporal Applications Support Non-Deterministic Operations | ||
|
|
||
| We want to emphasize that although your Workflows themselves need to be deterministic, your application itself does not! | ||
| We want to emphasize that although your Workflow Definition needs to be deterministic, your application itself does not! |
There was a problem hiding this comment.
Scope the matching determinism claims across docs
A repo-wide search still finds the same broad Workflow-level claim in docs/guides/durable-gaming-sessions.mdx:117, docs/guides/entity-pattern-loyalty-points.mdx:79, docs/develop/python/integrations/langgraph.mdx:483, docs/develop/python/best-practices/error-handling.mdx:336, and docs/develop/go/integrations/google-adk.mdx:26. Update these statements to refer to Workflow code or a Workflow Definition as well; otherwise readers continue to receive the Workflow-versus-code guidance this change is intended to correct.
AGENTS.md reference: AGENTS.md:L234-L242
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
| @@ -588,10 +588,10 @@ The walkthrough covers four phases: | |||
|
|
|||
| ## Example of a Non-Deterministic Workflow {/* #Example-of-Non-Deterministic-Workflow */} | |||
There was a problem hiding this comment.
Change the heading to "Example of a Non-Deterministic Workflow Definition"? (for each of the SDKs)
There was a problem hiding this comment.
Done — updated the heading (and matching TOC link) to "Example of a non-deterministic Workflow Definition" across all five SDK pages, in sentence case per our heading style guide (lowercase "non-deterministic", "Workflow Definition" capitalized as the proper term). Anchor IDs are unchanged so existing links still resolve.
…w Definition
Per PR review feedback: the heading described an example Workflow
Definition specifically, not the whole Workflow, so it should say so
too. Cased as sentence case ("non-deterministic" lowercase, "Workflow
Definition" capitalized as the proper term) to match heading style.
Anchor IDs are unchanged (explicit {/* #anchor */} overrides), so
existing links to this section keep working.
…core' into docs/scope-workflow-determinism-core
| 4. [Example of a Non-Deterministic Workflow](#Example-of-Non-Deterministic-Workflow) | ||
| 4. [Example of a non-deterministic Workflow Definition](#Example-of-Non-Deterministic-Workflow) | ||
|
|
||
| ## How Workflow Code Maps to Commands {/* #How-Workflow-Code-Maps-To-Commands */} |
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'How Workflow Code Maps to Commands *******************************************' should use sentence-style capitalization.
| 4. [Example of a Non-Deterministic Workflow](#Example-of-Non-Deterministic-Workflow) | ||
| 4. [Example of a non-deterministic Workflow Definition](#Example-of-Non-Deterministic-Workflow) | ||
|
|
||
| ## How Workflow Code Maps to Commands {/* #How-Workflow-Code-Maps-To-Commands */} |
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'How Workflow Code Maps to Commands *******************************************' should use sentence-style capitalization.
| 4. [Example of a Non-Deterministic Workflow](#Example-of-Non-Deterministic-Workflow) | ||
| 4. [Example of a non-deterministic Workflow Definition](#Example-of-Non-Deterministic-Workflow) | ||
|
|
||
| ## How Workflow Code Maps to Commands {/* #How-Workflow-Code-Maps-To-Commands */} |
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'How Workflow Code Maps to Commands *******************************************' should use sentence-style capitalization.
| 4. [Example of a Non-Deterministic Workflow](#Example-of-Non-Deterministic-Workflow) | ||
| 4. [Example of a non-deterministic Workflow Definition](#Example-of-Non-Deterministic-Workflow) | ||
|
|
||
| ## How Workflow Code Maps to Commands {/* #How-Workflow-Code-Maps-To-Commands */} |
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'How Workflow Code Maps to Commands *******************************************' should use sentence-style capitalization.
| 4. [Example of a Non-Deterministic Workflow](#Example-of-Non-Deterministic-Workflow) | ||
| 4. [Example of a non-deterministic Workflow Definition](#Example-of-Non-Deterministic-Workflow) | ||
|
|
||
| ## How Workflow Code Maps to Commands {/* #How-Workflow-Code-Maps-To-Commands */} |
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'How Workflow Code Maps to Commands *******************************************' should use sentence-style capitalization.
Summary
/workflowsconcept page and all five Event History encyclopedia pages, so it reads as an implementation constraint on the Workflow's code, not a claim about the whole Workflow/business process (which is never deterministic once Activities, Signals, and external calls are involved).Test plan
vale --config .vale-ci.ini docs/clean on touched files (pre-existing heading-capitalization suggestions only, unrelated to this change)yarn buildpasses