Skip to content

Scope determinism to the Workflow Definition in 21 "Workflow code" sentences - #5586

Merged
Duncanma merged 3 commits into
mainfrom
duncan/determinism-workflow-code-tier-b
Oct 29, 2026
Merged

Duncanma merged 3 commits into
mainfrom
duncan/determinism-workflow-code-tier-b

Conversation

@Duncanma

@Duncanma Duncanma commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Follows the determinism terminology sweep (#5279, #5281). Fixes the 29 sentences that the widened Temporal.DeterminismScope rule in #5585 flags on docs/, plus two description: strings in indented code that Vale skips. Refs #5284.

"Workflow code" is ambiguous with Activity code, so each sentence that asserts the determinism constraint now names the Workflow Definition.

21 "is/must be deterministic" sentences

  • Versioning pages (.NET, Go, Java, PHP, Python, Ruby, TypeScript): "requires that Workflow code is deterministic" becomes "requires that Workflow Definitions are deterministic". The next sentence, "a change to your Workflow code", is about editing code, so it stays.
  • Event History pages (.NET, Go, Java, Python, TypeScript): "Because the Workflow code is deterministic" becomes "Because the Workflow Definition is deterministic".
  • "Workflow code must be deterministic" becomes "A Workflow Definition must be deterministic" in the Java, Python, and Rust Workflow basics pages, the LangGraph integration page, Retry Policies, Workflow Definition, and Understanding Temporal.
  • Java and TypeScript versioning descriptions said "The Temporal Platform ensures deterministic Workflow code", which is inaccurate (the platform requires it, it doesn't ensure it). Rewritten to describe what the page covers, and "Build Ids" is now "Build IDs".

8 wider phrasings (plus 2 descriptions Vale doesn't scan)

  • "keeping/keeps Workflow code deterministic" becomes "Workflow Definitions deterministic" in activity-dependency-injection.mdx (description and intro), worker-configuration-patterns.mdx (intro and the description in the card list), and design-patterns/index.mdx.
  • "Workflow code must remain deterministic" becomes "A Workflow Definition must remain deterministic" in activity-dependency-injection.mdx.
  • selectors.mdx: "which keeps Workflow code execution deterministic" becomes a separate sentence, "Selectors keep the Workflow Definition deterministic."
  • safe-deployments.mdx: "Your Workflow code--as opposed to your Activity code--must be deterministic" becomes "Your Workflow Definition--as opposed to ...".
  • temporal-sdks.mdx: "the deterministic constraints of the Workflow code comes into play" becomes "... of the Workflow Definition come into play" (also fixes the verb agreement).
  • workflow-definition.mdx: "requires that Workflow code (Workflow Definitions) be deterministic in nature" becomes "requires that Workflow Definitions be deterministic".

With the #5585 rule applied, Vale reports 0 Temporal.DeterminismScope hits on docs/. vale --config .vale-ci.ini is clean on the touched files. Text and frontmatter changes only; I didn't run yarn build.

Left alone: a hidden JSX comment in typescript/platform/observability.mdx and incidental uses of "Workflow code" that don't assert determinism.

…ntences

Replace 'Workflow code is/must be deterministic' and 'deterministic Workflow
code' with Workflow Definition wording in the versioning, event history,
Workflow basics, retry policy, and Workflow Definition pages. Reword the Java
and TypeScript versioning descriptions, which no longer say Temporal ensures
deterministic code.
@Duncanma
Duncanma requested a review from a team as a code owner October 26, 2026 18:50
Copilot AI balanced review requested due to automatic review settings October 26, 2026 18:50
@vercel

vercel Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
temporal-documentation Ready Ready Preview Oct 29, 2026 4:12pm UTC

Request Review

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

📖 Docs PR preview links

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The narrowly scoped wording changes consistently apply the agreed terminology without changing executable code, links, or page structure.

No open issues 🎉

What changed in this PR

Clarifies that determinism applies to the Workflow Definition, continuing the terminology work tracked in #5284. Changes are limited to documentation prose and frontmatter.

Changes:

  • Updates 21 determinism statements across 19 pages, keeping SDK and Event History explanations consistent.
  • Rewrites Java and TypeScript versioning descriptions to remove claims that Temporal ensures determinism.
  • Preserves incidental “Workflow code” references and leaves explicitly deferred wording for follow-up work.
File Description
docs/​evaluate/​understanding-temporal.mdx Clarifies the determinism requirement.
docs/​encyclopedia/​workflow/​workflow-definition.mdx Aligns the determinism tip with the canonical term.
docs/​encyclopedia/​retry-policies.mdx Clarifies determinism in the retry explanation.
docs/​encyclopedia/​event-history/​typescript.mdx Updates the replay explanation.
docs/​encyclopedia/​event-history/​python.mdx Updates the replay explanation.
docs/​encyclopedia/​event-history/​java.mdx Updates the replay explanation.
docs/​encyclopedia/​event-history/​go.mdx Updates the replay explanation.
docs/​encyclopedia/​event-history/​dotnet.mdx Updates the replay explanation.
docs/​develop/​typescript/​workflows/​versioning.mdx Updates determinism wording and page description.
docs/​develop/​rust/​workflows/​basics.mdx Clarifies Workflow Definition constraints.
docs/​develop/​ruby/​workflows/​versioning.mdx Clarifies the versioning determinism requirement.
docs/​develop/​python/​workflows/​versioning.mdx Clarifies the versioning determinism requirement.
docs/​develop/​python/​workflows/​basics.mdx Clarifies Workflow Definition constraints.
docs/​develop/​python/​integrations/​langgraph.mdx Scopes the determinism warning to Workflow Definitions.
docs/​develop/​php/​workflows/​versioning.mdx Clarifies the versioning determinism requirement.
docs/​develop/​java/​workflows/​versioning.mdx Updates determinism wording and page description.
docs/​develop/​java/​workflows/​basics.mdx Clarifies Workflow Definition constraints.
docs/​develop/​go/​workflows/​versioning.mdx Clarifies the versioning determinism requirement.
docs/​develop/​dotnet/​workflows/​versioning.mdx Clarifies the versioning determinism requirement.

Review effort: Balanced

Fix the phrasings the widened Temporal.DeterminismScope rule catches:
'keeping Workflow code deterministic', 'must remain deterministic', and
'deterministic constraints of the Workflow code', across the design
patterns, Selectors, safe deployments, SDK architecture, and Workflow
Definition pages.
slug: /develop/java/workflows/versioning
toc_max_heading_level: 2
description: The Temporal Platform ensures deterministic Workflow code, offering versioning features in the Java SDK with Workflow Patching APIs and Worker Build Ids for efficient updates.
description: Update running Workflows without breaking determinism using the Java SDK's Workflow Patching APIs and Worker Build IDs.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I feel like there could be a more neutral description for this one.

@Duncanma
Duncanma enabled auto-merge (squash) October 29, 2026 16:10
@Duncanma
Duncanma merged commit 773ece8 into main Oct 29, 2026
20 checks passed
@Duncanma
Duncanma deleted the duncan/determinism-workflow-code-tier-b branch October 29, 2026 16:12

This branch was successfully deployed

1 active deployment
Preview — 920a1654 Deployed Oct 29, 2026 by vercel[bot]
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.

3 participants