Skip to content

Commit 0765af3

Browse files
authored
Merge branch 'main' into snipsync/daily-update
2 parents bd304ff + 83f8370 commit 0765af3

24 files changed

Lines changed: 1287 additions & 177 deletions

File tree

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
name: code-review
3+
description: >-
4+
Review pull requests in the Temporal documentation repository against AGENTS.md
5+
and docs style conventions. Use when reviewing docs, MDX, sidebar, redirect, or
6+
Docusaurus changes in temporalio/documentation.
7+
---
8+
9+
# Temporal documentation code review
10+
11+
Review this PR as a Temporal docs change. Prefer concrete, actionable comments.
12+
Cite paths when asking for a fix. Do not nitpick optional style that Vale does not
13+
enforce in CI unless it hurts clarity or correctness.
14+
15+
## Read these first (when relevant to the diff)
16+
17+
| Topic | File |
18+
| ----- | ---- |
19+
| Agent / repo guidance | [AGENTS.md](../../../AGENTS.md) |
20+
| Where content belongs | [readme/INFORMATION-ARCHITECTURE.md](../../../readme/INFORMATION-ARCHITECTURE.md) |
21+
| Style | [readme/STYLE.md](../../../readme/STYLE.md) |
22+
| React components in MDX | [readme/COMPONENTS.md](../../../readme/COMPONENTS.md) |
23+
| Component → Markdown mapping | [readme/COMPONENT_REGISTRY.md](../../../readme/COMPONENT_REGISTRY.md) |
24+
| Mermaid | [readme/MERMAID.md](../../../readme/MERMAID.md) |
25+
| LLM Markdown pipeline | [MARKDOWN_PIPELINE.md](../../../MARKDOWN_PIPELINE.md) |
26+
| CI / automations | [readme/AUTOMATIONS.md](../../../readme/AUTOMATIONS.md) |
27+
28+
## Must-check for every docs PR
29+
30+
### Correctness and scope
31+
32+
- Claims match current product behavior (no future promises unless tied to a version or release stage).
33+
- New or moved pages land in the right IA section.
34+
- Changing `id` or `slug` includes a `vercel.json` redirect plan.
35+
- Adding or moving pages updates `sidebars.js` and fixes inbound links when needed.
36+
- Draft PRs are appropriate when blocked on upstream/SDK/other-team work (see AGENTS.md Pull requests).
37+
38+
### Temporal terminology (flag these)
39+
40+
- Capitalize Temporal core terms as proper nouns (Workflow, Activity, Worker, Namespace, etc.).
41+
- Prefer **Temporal Service** over **Cluster** / **Temporal Cluster** in body prose (exceptions: Multi-Cluster Replication, code/config identifiers, CLI names).
42+
- Outside core terms, spell out "identifier." For core terms use `Id` (not `ID` / `id`), e.g. Workflow Id.
43+
- Prefer **use** over utilize/leverage; avoid filler and vague intensifiers (powerful, robust, seamless, unlock, streamline).
44+
45+
### Headings and frontmatter
46+
47+
- Headings: sentence case; prefer infinitive or questions; Develop pages use task-oriented headings.
48+
- Frontmatter: clear one-sentence `description`; match `tags` to siblings; do **not** add unused `keywords`.
49+
- Do not invent new tags/keywords unless this is a genuinely new feature area.
50+
51+
### MDX and components
52+
53+
- Prefer shared imports from `@site/src/components`.
54+
- Reuse existing components (`Tabs`, `SdkTabs`, `CaptionedImage`, etc.) instead of one-off HTML.
55+
- New public components should be exported from `src/components/index.js` when needed.
56+
- Check COMPONENTS.md / COMPONENT_REGISTRY.md before blessing a new pattern.
57+
58+
### Code samples
59+
60+
- Prefer Snipsync from CI-enabled sample repos when a matching snippet exists.
61+
- Snip edits belong in the **source** sample repo, then `yarn snipsync`.
62+
63+
### Style / CI bar
64+
65+
- CI-scoped Vale is the merge bar: `vale --config .vale-ci.ini` on touched files (Headings + RelativeLinks).
66+
- Do not require fixing the full Vale suggestion set unless the author opted into it.
67+
- Relative internal links preferred where Vale RelativeLinks applies.
68+
69+
## Diff-type checklists
70+
71+
### New or heavily rewritten MDX page
72+
73+
- [ ] IA placement and sidebar entry
74+
- [ ] Redirects if URL changed
75+
- [ ] Terminology + headings + description
76+
- [ ] Components reused appropriately
77+
- [ ] Samples: Snipsync or justified docs-owned code
78+
79+
### `sidebars.js` / navigation only
80+
81+
- [ ] IDs resolve to real pages
82+
- [ ] Nesting and labels match section conventions
83+
84+
### `vercel.json` redirects
85+
86+
- [ ] Old public paths covered
87+
- [ ] Destinations are current canonical URLs
88+
89+
### UI / React (`src/components`, theme, CSS)
90+
91+
- [ ] Fits existing design system; no one-off layout inventions without need
92+
- [ ] Accessibility basics (labels, contrast) when relevant
93+
- [ ] Public exports updated if a new shared component is introduced
94+
95+
### Config / build (`docusaurus.config.js`, plugins)
96+
97+
- [ ] Internal footer/`to:` links are real routes (plugin-generated files like `/llms.txt` need absolute URLs or they break `onBrokenLinks: 'throw'`)
98+
99+
## How to leave comments
100+
101+
- Group related nits; lead with blockers (wrong term, broken URL, missing redirect/sidebar).
102+
- Separate **blocking** vs **suggestion**.
103+
- If unsure about product behavior, ask rather than inventing.
104+
105+
## Out of scope for this skill
106+
107+
- Rewriting the entire PR in review comments
108+
- Enforcing full Vale / Google style beyond AGENTS.md and CI-scoped rules

docs/best-practices/security-controls.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ Temporal Cloud Namespace has a [Retention Period](/temporal-service/temporal-ser
118118

119119
### Availability and Disaster Recovery
120120

121-
Temporal Cloud’s platform is engineered for fault-tolerance out of the box, but you determine which Namespaces merit the very highest availability guarantees. Use the table below to decide when to turn on different High Availability models and how to operationalise them.
121+
Temporal Cloud’s platform is engineered for fault-tolerance out of the box, but you determine which Namespaces merit the very highest availability guarantees. Use the table below to decide when to turn on different High Availability models and how to operationalize them.
122122

123123
| Namespace scope | Use Case | Uptime SLA | Recovery Time Objective (RTO) | Recovery Point Objective (RPO) |
124124
|-----------------|----------|------------|--------------------------------|--------------------------------|

docs/cloud/audit-logs.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ An Audit Log can be viewed in the Temporal Cloud UI.
197197
1. In the Temporal Cloud UI, select **Settings**.
198198
1. On the **Settings** page, select **Audit Logs**.
199199

200-
Up to 1000 events can be downloaded from the Audit Log UI to a local file.
200+
Up to 1,000 events can be downloaded from the Audit Log UI to a local file.
201201

202202
## Access an Audit Log via API {/* #audit-log-api */}
203203

docs/cloud/manage-access/custom-roles.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ temporal cloud custom-role create --spec @role.json
313313

314314
Once you have created a Custom Role, it is available on the Identities page to assign to a user or group, the same as
315315
the pre-defined Temporal permissions. See
316-
[How to update an account-level role in Temporal Cloud](/cloud/manage-access/users#update-roles) for more inforamtion.
316+
[How to update an account-level role in Temporal Cloud](/cloud/manage-access/users#update-roles) for more information.
317317

318318
## Modifying a Custom Role
319319

docs/cloud/projects.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ In Temporal Cloud UI:
114114
</TabItem>
115115
<TabItem value="cloud-api" label="Cloud Operations API">
116116

117-
The process for createing a [Namespace](/cloud/namespaces#create-a-namespace), [Nexus Endpoint](/nexus/registry#view-and-manage-nexus-endpoints), or [Connectivity Rule](/cloud/connectivity#creating-a-connectivity-rule) with the Cloud Operations API is the same as the standard process for creating those resources, with the addition of the `projectId` for the Project in which you're creating the resource.
117+
The process for creating a [Namespace](/cloud/namespaces#create-a-namespace), [Nexus Endpoint](/nexus/registry#view-and-manage-nexus-endpoints), or [Connectivity Rule](/cloud/connectivity#creating-a-connectivity-rule) with the Cloud Operations API is the same as the standard process for creating those resources, with the addition of the `projectId` for the Project in which you're creating the resource.
118118

119119

120120
Use the

docs/design-patterns/continue-as-new.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ This approach is more reliable than a fixed iteration count because it accounts
359359

360360
The Continue-As-New pattern is a good fit for periodic Workflows running indefinitely (cron-like behavior), processing unbounded data streams, long-running Workflows with repetitive patterns, Workflows that accumulate state over many iterations, and preventing event history from growing too large.
361361

362-
It is not a good fit for short-lived Workflows (under 1000 events), Workflows that naturally complete, one-time batch processing, or Workflows that require full history for audit purposes.
362+
It is not a good fit for short-lived Workflows (under 1,000 events), Workflows that naturally complete, one-time batch processing, or Workflows that require full history for audit purposes.
363363

364364
## Benefits and trade-offs
365365

docs/design-patterns/entity-workflow.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ Trade-offs:
552552
- [Safe Message Handlers](https://github.com/temporalio/samples-go/tree/main/safe_message_handler) — Entity Workflow with Updates, Signals, and Continue-As-New.
553553

554554
**Java:**
555-
- [Safe Message Handlers](https://github.com/temporalio/samples-java/tree/main/core/src/main/java/io/temporal/samples/safemessagehandler) — Entity Workflow with Updates, Signals, and Continue-As-New.
555+
- [Safe Message Handlers](https://github.com/temporalio/samples-java/tree/main/core/src/main/java/io/temporal/samples/safemessagepassing) — Entity Workflow with Updates, Signals, and Continue-As-New.
556556

557557
**TypeScript:**
558558
- [Safe Message Handlers](https://github.com/temporalio/samples-typescript/tree/main/message-passing/safe-message-handlers) — Entity Workflow with Updates, Signals, and Continue-As-New.

docs/develop/dotnet/workflows/message-passing.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ This page introduces these features for the Temporal .NET SDK.
3030
## Write message handlers {/* #writing-message-handlers */}
3131

3232
:::info
33-
The code that follows is part of a [working solution](https://github.com/temporalio/samples-dotnet/tree/main/src/MessagePassing).
33+
The code that follows is part of a [working solution](https://github.com/temporalio/samples-dotnet/tree/main/src/SafeMessageHandlers).
3434
:::
3535

3636
Follow these guidelines when writing your message handlers:

docs/develop/php/activities/asynchronous-activity.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ There are two parts to implementing an asynchronously completed Activity:
8585
The following example demonstrates the first part:
8686

8787
<!--SNIPSTART samples-php-async-activity-completion-activity-class-->
88-
[app/src/AsyncActivityCompletion/GreetingActivity.php](https://github.com/temporalio/samples-php/blob/main/app/src/AsyncActivityCompletion/GreetingActivity.php)
88+
[app/src/AsyncActivityCompletion/GreetingActivity.php](https://github.com/temporalio/samples-php/blob/master/app/src/AsyncActivityCompletion/GreetingActivity.php)
8989
```php
9090
class GreetingActivity implements GreetingActivityInterface
9191
{
@@ -118,7 +118,7 @@ class GreetingActivity implements GreetingActivityInterface
118118
The following code demonstrates how to complete the Activity successfully using `WorkflowClient`:
119119

120120
<!--SNIPSTART samples-php-async-activity-completion-completebytoken-->
121-
[app/src/AsyncActivityCompletion/CompleteCommand.php](https://github.com/temporalio/samples-php/blob/main/app/src/AsyncActivityCompletion/CompleteCommand.php)
121+
[app/src/AsyncActivityCompletion/CompleteCommand.php](https://github.com/temporalio/samples-php/blob/master/app/src/AsyncActivityCompletion/CompleteCommand.php)
122122
```php
123123
$client = $this->workflowClient->newActivityCompletionClient();
124124
// Complete the Activity.

docs/develop/plugins-guide.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ If you prefer to learn by getting hands-on with code, check out some existing pl
4646
[LangGraph](https://github.com/temporalio/sdk-python/tree/main/temporalio/contrib/langgraph) plugin
4747
- [Temporal client and Worker plugin for Pydantic AI](https://github.com/pydantic/pydantic-ai/blob/d9b4b2540183a4426669b2824c87cdfc36144780/pydantic_ai_slim/pydantic_ai/durable_exec/temporal/__init__.py#L142)
4848
- Temporal's TypeScript SDK ships with an
49-
[OpenTelemetry Plugin](https://github.com/temporalio/sdk-typescript/blob/main/packages/interceptors-opentelemetry/src/plugin.ts)
49+
[OpenTelemetry Plugin](https://github.com/temporalio/sdk-typescript/blob/main/contrib/interceptors-opentelemetry/src/plugin.ts)
5050

5151
## What you can provide to users in a plugin
5252

0 commit comments

Comments
 (0)