Skip to content

Clarify Standalone Activity start Action counting - #4704

Open
tekkaya wants to merge 3 commits into
mainfrom
gokhan/standalone-activity-already-started-not-billed
Open

Clarify Standalone Activity start Action counting#4704
tekkaya wants to merge 3 commits into
mainfrom
gokhan/standalone-activity-already-started-not-billed

Conversation

@tekkaya

@tekkaya tekkaya commented Jun 11, 2026

Copy link
Copy Markdown

What does this PR do?

Clarifies in the Temporal Cloud Actions reference (docs/evaluate/temporal-cloud/actions.mdx, Activity section) that a Start Standalone Activity request which returns an already-running Activity (de-duplicated by Activity ID) does not count as an Action — unless the start request tries to attach a callback to the running Activity, for example within a Nexus handler using the USE_EXISTING conflict policy.

@CLAassistant

CLAassistant commented Jun 11, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
temporal-documentation Ready Ready Preview Aug 20, 2026 7:40pm

Request Review

@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

📖 Docs PR preview links

@tekkaya
tekkaya force-pushed the gokhan/standalone-activity-already-started-not-billed branch from a39e883 to d7c3ca4 Compare June 11, 2026 21:11
@tekkaya
tekkaya force-pushed the gokhan/standalone-activity-already-started-not-billed branch from d7c3ca4 to 9681f3f Compare June 11, 2026 21:17
@tekkaya
tekkaya requested a review from nikki-dag June 11, 2026 21:18
@tekkaya
tekkaya force-pushed the gokhan/standalone-activity-already-started-not-billed branch from 9681f3f to 35257ac Compare June 11, 2026 21:44
- **Activity started or retried**. Occurs each time an Activity is started or retried.
- **Standalone Activity started**. Occurs when a [Standalone Activity](/standalone-activity) is started.
- De-duplicated Standalone Activity starts that return an already-running Activity (sharing an Activity ID) do _not_
count as an Action, unless the start request attaches conflict options to the running Activity.

@bergundy bergundy Jun 12, 2026

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.

"Conflict options" isn't a concept that is exposed to users. It'd be better to phrase it as "unless the start request tries to attach a callback to a running execution, for example when used within a Nexus handler with USE_EXISTING conflict policy".

@tekkaya
tekkaya force-pushed the gokhan/standalone-activity-already-started-not-billed branch from 45aa987 to ae62196 Compare June 12, 2026 19:55
@tekkaya
tekkaya force-pushed the gokhan/standalone-activity-already-started-not-billed branch from ae62196 to 45727f0 Compare June 12, 2026 19:59
@tekkaya
tekkaya force-pushed the gokhan/standalone-activity-already-started-not-billed branch from 45727f0 to 7a0d9c4 Compare June 18, 2026 17:27
@tekkaya
tekkaya force-pushed the gokhan/standalone-activity-already-started-not-billed branch from 7a0d9c4 to f7f1980 Compare June 18, 2026 18:09
@tekkaya

tekkaya commented Jul 21, 2026

Copy link
Copy Markdown
Author

what is the current status of the related changes in temporal cloud, is it time to merge this change?

@jsundai

jsundai commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@jsundai

jsundai commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@tekkaya Checking in on this! Is this ready for review?

@tekkaya

tekkaya commented Aug 18, 2026

Copy link
Copy Markdown
Author

@tekkaya Checking in on this! Is this ready for review?

When I check the temporal cloud there is still one ring (101) which is not including this change (running on oss1.32.0_156.6). The change is included starting from version oss1.32.0-157.2 All other rings have this update deployed.

@tekkaya
tekkaya marked this pull request as ready for review August 20, 2026 19:02
@tekkaya
tekkaya requested a review from a team as a code owner August 20, 2026 19:02
Copilot AI balanced review requested due to automatic review settings August 20, 2026 19:02

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.

Pull request overview

Clarifies how Temporal Cloud counts Standalone Activity start Actions.

Changes:

  • Documents deduplicated start behavior and the callback exception.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/evaluate/temporal-cloud/actions.mdx Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Opengrep — new findings

Severity Location Rule Message
WARNING .github/workflows/update-sdk-versions.yml:19 security.gha.unpinned-action Unpinned action reference actions/create-github-app-token@v3: this uses: resolves a mutable ref (tag or branch), so the code that runs in CI can change without this line changing. A compromised upstream can repoint the tag and execute arbitrary code with access to this repository's secrets and GITHUB_TOKEN (tj-actions/changed-files, March 2025). Pin to the full 40-character commit SHA with the resolved version in a trailing comment, e.g. uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2. Prefer deputy pin --ecosystems github-actions, which resolves the ref, writes a version comment that reflects the most specific ref actually pointing at that commit, and verifies the SHA is reachable from a real branch upstream. That last check matters: pinning alone does not detect imposter or dangling commits, and this rule only sees the shape of the ref, never its provenance. Reusable workflow calls (owner/repo/.github/workflows/x.yml@ref) run with the same trust as actions and are pinned the same way. Not reported, by campaign policy: temporalio/* refs (first-party, pinned by internal process), local ./ actions, self-repository $/ refs (resolve to the running commit, so they are already pin-equivalent), and docker:// images (pinned by digest as a separate ecosystem).
WARNING .github/workflows/update-sdk-versions.yml:31 security.gha.unpinned-action Unpinned action reference actions/setup-node@v7.0.0: this uses: resolves a mutable ref (tag or branch), so the code that runs in CI can change without this line changing. A compromised upstream can repoint the tag and execute arbitrary code with access to this repository's secrets and GITHUB_TOKEN (tj-actions/changed-files, March 2025). Pin to the full 40-character commit SHA with the resolved version in a trailing comment, e.g. uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2. Prefer deputy pin --ecosystems github-actions, which resolves the ref, writes a version comment that reflects the most specific ref actually pointing at that commit, and verifies the SHA is reachable from a real branch upstream. That last check matters: pinning alone does not detect imposter or dangling commits, and this rule only sees the shape of the ref, never its provenance. Reusable workflow calls (owner/repo/.github/workflows/x.yml@ref) run with the same trust as actions and are pinned the same way. Not reported, by campaign policy: temporalio/* refs (first-party, pinned by internal process), local ./ actions, self-repository $/ refs (resolve to the running commit, so they are already pin-equivalent), and docker:// images (pinned by digest as a separate ecosystem).

Suppress findings

Add a noopengrep comment on the line before the finding:

# noopengrep: <rule-id>

tekkaya and others added 3 commits August 20, 2026 12:37
Document that a Start Standalone Activity request which returns an
already-running Activity (de-duplicated by Activity ID) is not counted as an
Action, unless the start request attaches conflict options to the running
Activity. This mirrors the existing de-dup wording for Workflow starts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per review, "conflict options" is not a user-facing concept. Describe the
billable case as attaching a callback to the running Activity (e.g. within a
Nexus handler using the USE_EXISTING conflict policy).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@tekkaya

tekkaya commented Aug 21, 2026

Copy link
Copy Markdown
Author

@tekkaya Checking in on this! Is this ready for review?

Now it is ready for review

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.

5 participants