Skip to content

Implement planned topic: 0037-standalone-activities-go#241

Merged
donald-pinckney merged 2 commits into
mainfrom
draft/0037-standalone-activities-go
Jun 2, 2026
Merged

Implement planned topic: 0037-standalone-activities-go#241
donald-pinckney merged 2 commits into
mainfrom
draft/0037-standalone-activities-go

Conversation

@skill-temporal-developer-updater
Copy link
Copy Markdown
Contributor

Validation Report — Go Standalone Activities (0037-standalone-activities-go)

Branch: draft/0037-standalone-activities-go. The change is on the working tree (uncommitted), expected for this CI run.

Files validated (the diff against main):

  • references/go/standalone-activities.md — NEW (181 lines).
  • references/core/standalone-activities.md — MODIFIED (adds "Go" to two language listings).
  • references/go/go.md — MODIFIED (one new bullet under "Reference Files").

Validation independence: this session read only the authored files, the sibling per-language pages (references/python/standalone-activities.md, references/typescript/standalone-activities.md, plus heading lists for java/ and dotnet/), SKILL.md, and the docs clone at ../documentation/docs/. No authoring plan, log, or prior-session content was read.


Go/no-go

Check Result
1. Citation audit PASS (26/26 = 100%)
2. Reverse-grep audit PASS (no unexplained misses)
3. Regression on known bugs PASS (zero hits)
4. Independent re-verification (sample) PASS (10/10 = 100%)
5. Integration-layout audit N/A (not an integration topic)
6. Tone and scope audit PASS (no workaround disclosures, no noise patterns)
7. Cross-language structure audit PASS (all link-graph edges present; one heading divergence is a genuine SDK delta)

Overall verdict: GO.


Check 1 findings — citation audit

None. All 26 inline <!-- docs/… --> citations in references/go/standalone-activities.md resolve cleanly and the cited text substantively supports the claim.

Citations spot-confirmed:

  • docs/develop/go/activities/standalone-activities.mdx:29-31, 33-34, 59, 61, 91-96, 148-150, 157-184, 196-200, 226-237, 273-280, 282-283, 309-322, 332-341, 353-374, 388-401.
  • docs/encyclopedia/activities/standalone-activity.mdx:115, 139, 143.
  • docs/develop/go/client/temporal-client.mdx:176-198.

External hyperlink check: https://docs.temporal.io/list-filter (L145) is a full https:// URL — compliant. Internal repo links (references/core/install_cli.md, references/core/standalone-activities.md) point to existing files.

The modified core file (references/core/standalone-activities.md) introduces no new citations; the diff is two adjacent language-list edits ("…Python, TypeScript, Java, .NET, Go") — verified in-place.


Check 2 findings — reverse-grep audit

None.

Tokens extracted and confirmed in docs/develop/go/activities/standalone-activities.mdx (or the cited companion docs):

  • API symbols: client.ExecuteActivity, client.GetActivityHandle, client.ListActivities, client.CountActivities, client.StartActivityOptions, client.GetActivityHandleOptions, client.ListActivitiesOptions, client.CountActivitiesOptions, ActivityHandle, ActivityExecutionInfo, handle.Get, handle.GetID, handle.GetRunID, envconfig.MustLoadDefaultClientOptions, worker.New, worker.InterruptCh, worker.Options, RegisterActivity, Run. All present in cited docs.
  • Package paths: go.temporal.io/sdk/client, go.temporal.io/sdk/worker, go.temporal.io/sdk/contrib/envconfig. All present.
  • Struct fields: ID, TaskQueue, ScheduleToCloseTimeout, StartToCloseTimeout, ActivityID, RunID, Query, Results, Count, ActivityType, Status. All present.
  • Versions: v1.41.0, 1.22+, v1.7.0, v1.31.0. All match cited docs.

Check 3 findings — regression patterns

None.

  • No --profile, TEMPORAL_TLS_CLIENT_CERT_PATH, TEMPORAL_TLS_CLIENT_KEY_PATH, TEMPORAL_TLS_SERVER_CA_CERT_PATH, tcld service-account, --output text/jsonl, or saas-api.tmprl.cloud:7233 anywhere in the diff.
  • workflow.ExecuteActivity appears only in negative-guidance form ("use workflow.ExecuteActivity(ctx, …) instead of client.ExecuteActivity inside a workflow") — correct usage.
  • Topic-specific Go regressions clean:
    • No fabricated client.StartActivity function — the page explicitly says "There is no separate Start function in the Go SDK" (L79).
    • GetActivityHandle correctly requires both ActivityID and RunID (L117).
    • Worker connection uses envconfig.MustLoadDefaultClientOptions(), matching docs L91-96 and L169.

Check 4 findings — independent re-verification

None. 10/10 sampled claims match docs after independent re-read. Sample (deterministic stride across the 26 citations, includes one version-prerequisite claim):

# File line Authored claim Cited docs lines Match
1 L8a client.ExecuteActivity() from a Client vs workflow.ExecuteActivity() from inside a Workflow go-act/standalone-activities.mdx:29-31
4 L13 Go 1.22+ :59
7 L19 Worker setup identical to Workflow-driven activities :148-150
10 L57 Don't call client.ExecuteActivity from inside a Workflow :29-31, :197
13 L79 ExecuteActivity returns ActivityHandle immediately; no separate Start function :196-200
16 L101 Pass Activity as function reference :273-276
19 L119-124 GetActivityHandle code form with GetActivityHandleOptions :338-341
22 L145 client.ListActivities with List Filter; Results is a range-over-func iterator yielding (ActivityExecutionInfo, error) pairs :353-355, :367-373 ✓ (term matches Go 1.22 spec)
25 L169 client.CountActivities takes same arguments as ListActivities; Count is total executions, not queued tasks :388-401
26 L171-181 CountActivities sample with CountActivitiesOptions{Query: …} :392-401

No documented-default omissions: every required-field claim (StartActivityOptions requires ID/TaskQueue/one-of-two timeouts; GetActivityHandleOptions requires ActivityID and RunID) matches docs exactly. No documented defaults exist on these fields that the authored text suppresses.


Check 6 findings — tone and scope audit

None.

  • Pattern 1 (workaround disclosure, the gating check): zero. The two negative-guidance sections ("Do not call from inside a Workflow" L55-57; "no separate Start function in the Go SDK" L78-79) are hard-constraint statements paired with the supported alternative.
  • Pattern 5 (Public Preview admonition present, exact phrasing): the standard [!NOTE] admonition is at L1-2 and matches Python/TypeScript verbatim.
  • Patterns 6, 7 (duplicated admonitions / release-stage chatter): only one admonition; no extra preview prose.
  • Pattern 13 ("repo slang"): "range-over-func" at L145 is the official Go 1.22 iterator-protocol term, not internal jargon.
  • Pattern 14 (inline imports): all imports are module-scope.
  • Pattern 15 (ambiguous "context"): every context.* mention is the standard-library context package; unambiguous.
  • The bridging sentence at L141 mapping Execute + handle.Get to the cross-SDK "Execute and wait" pattern is a single sentence and reinforces the cross-SDK concept page — useful, not noise.

Check 7 findings — cross-language structure audit

None gating; one acceptable structural delta noted.

Sub-check 1 — page split. Core page at references/core/standalone-activities.md exists; new per-language page at references/go/standalone-activities.md exists. ✓

Sub-check 2 — core page language-agnostic. Diff to the core file is two adjacent language-list edits adding "Go". No Go-specific code or API leaked into the core page. ✓

Sub-check 3 — identical per-language outline. Heading lists across sibling SDKs and Go:

Python/TS/Java/.NET share this exact outline:

## Overview
## Prerequisites
## Hosting Activities on a Worker
## Calling and managing Standalone Activities
   ### Do not call from inside a Workflow
   ### Connect a Client
   ### Execute (wait for result)
       #### With type checking
       #### Without type checking
   ### Start (do not wait for result)
   ### Get a handle to an existing Activity execution
   ### Wait for the result of a handle
   ### List Standalone Activities
   ### Count Standalone Activities

Go's outline diverges in two related places:

  1. ### Execute (wait for result)### Execute (start and get a handle).
  2. ### Start (do not wait for result) is absent.

Both reflect a genuine SDK-specific API delta: the Go SDK exposes a single client.ExecuteActivity entry point that returns a handle immediately (it does not wait), with no separate Start function. The "(wait for result)" naming would be misleading for Go's ExecuteActivity. The authored page documents this delta explicitly at L78-79. Per Check 7 sub-check 3, this is acceptable — not a finding.

Sub-check 4 — Overview back-link. The first content line of the Go Overview (L6) is Standalone Activities are conceptually the same across all SDKs. Read the [cross-SDK concept file](references/core/standalone-activities.md)…. ✓

Sub-check 5 — link graph (4/4 edges).

  • SKILL.md L74-75: core bullet + references/{your_language}/standalone-activities.md sub-bullet. ✓
  • references/go/go.md L255: bullet for references/go/standalone-activities.md, mentioning the core page. ✓
  • references/core/standalone-activities.md L6: "Go" included in the language list pointing per-language. ✓
  • references/go/standalone-activities.md L6: links back to references/core/standalone-activities.md. ✓

No SKILL.md modification in the diff (correct — sub-bullet was already present).

Sub-check 6 — bonus contextual cross-links. Advisory; consistent with sibling SDKs (no per-language patterns.md or ai-patterns.md cross-link to standalone activities in Python/TS either). Not a finding.


Statistics

  • Citation count (Go file): 26
  • Citation count (core file diff): 0 (only language-list edits)
  • Citations validated in Check 1: 26 (100%)
  • Reverse-grep tokens checked: ~40 (all attested in cited docs)
  • Regression-pattern hits: 0
  • Sample size (Check 4): 10
  • Match rate (Check 4): 100% (10/10)
  • Workaround-disclosure findings (Check 6 pattern 1): 0
  • Cross-language structure findings (Check 7): 0 gating

Notes for future authors / reviewers

The page's documented deviation from the canonical heading outline — collapsing ### Execute (wait for result) + ### Start (do not wait for result) into a single ### Execute (start and get a handle) — is the right call given Go's API and is well-flagged at L78-79. If a future Go SDK release adds a separate Start entry point, the outline should be re-aligned to match the sibling SDKs.

End of report.

@skill-temporal-developer-updater skill-temporal-developer-updater Bot requested a review from a team as a code owner June 2, 2026 20:50
Edits throughout Go standalone activities
@donald-pinckney donald-pinckney merged commit 1c1b6d8 into main Jun 2, 2026
3 checks passed
@donald-pinckney donald-pinckney deleted the draft/0037-standalone-activities-go branch June 2, 2026 21:19
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.

1 participant