Skip to content

Implement planned topic: 0015-cross-namespace-deprecation#213

Open
skill-temporal-developer-updater[bot] wants to merge 1 commit into
mainfrom
draft/0015-cross-namespace-deprecation
Open

Implement planned topic: 0015-cross-namespace-deprecation#213
skill-temporal-developer-updater[bot] wants to merge 1 commit into
mainfrom
draft/0015-cross-namespace-deprecation

Conversation

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

Validation Report — cross-namespace-deprecation

Scope: references/go/cross-namespace-deprecation.md, references/java/cross-namespace-deprecation.md.
Source of truth: ../documentation/docs/.
Validator session: independent of authoring; no AUTHORING_LOG.md or AUTHORING_PLAN.md exists in the skill root, and none was consulted.


Go/no-go

Check Result
1. Citation audit Pass — 49/49 citations resolve, all substantively supported.
2. Reverse-grep audit Pass — zero unexplained grep-misses across SDK identifiers, config keys, and CLI tokens.
3. Regression on known bugs Pass — zero hits against universal or topic-specific patterns.
4. Independent re-verification (sampling) Pass — 21/22 sampled claims match docs verbatim or substantively (95.5%). One minor inference noted below.
5. Integration-layout audit Skipped — not an integration topic.
6. Tone and scope audit Pass — zero workaround-disclosure findings; both files frame the deprecation as constraint + supported (Nexus) alternative.

Overall verdict: GO.


Check 1 findings

None. Every <!-- docs/… --> citation in both files was opened and read at the cited line range. The cited text substantively supports the authored claim in every case. Notable spot-checks:

  • docs/cloud/migrate/automated.mdx:419-422 — verbatim source for the system.enableCrossNamespaceCommands gating claim and the "code must be updated or removed prior to migration" requirement.
  • docs/encyclopedia/child-workflows/child-workflows.mdx:31 — the same-Namespace constraint for Child Workflows.
  • docs/develop/go/workflows/message-passing.mdx:295 — verbatim 5-argument workflow.SignalExternalWorkflow(ctx, "some-workflow-id", "", "your-signal-name", signal) shape, exactly as quoted by the Go file.
  • docs/develop/java/nexus/feature-guide.mdx:86-89 — verbatim temporal operator nexus endpoint create command block reproduced by the Java file.
  • docs/encyclopedia/nexus/nexus-security.mdx:33, 41 — supports the Endpoint allowlist / caller-Namespace verification claim in both files.

Check 2 findings

None. Tokens extracted and grepped:

  • Go SDK API identifiers: workflow.ExecuteChildWorkflow, workflow.ChildWorkflowOptions, workflow.WithChildOptions, workflow.SignalExternalWorkflow — all present in docs/develop/go/workflows/.
  • Java SDK API identifiers: Workflow.newChildWorkflowStub, Workflow.newUntypedChildWorkflowStub, Workflow.newExternalWorkflowStub, Workflow.newUntypedExternalWorkflowStub, ChildWorkflowOptions, ExternalWorkflowStub — all present in docs/develop/java/.
  • Config key: system.enableCrossNamespaceCommands — present in docs/cloud/migrate/automated.mdx:420-421.
  • CLI tokens: temporal operator nexus endpoint create, --name, --target-namespace, --target-task-queue — present in docs/develop/java/nexus/feature-guide.mdx:86-89 and docs/cli/operator.mdx.
  • Status phrasing: "Generally Available" for Nexus in both Go (develop/go/nexus/feature-guide.mdx:23) and Java (develop/java/nexus/feature-guide.mdx:22-23).

The terminological variant RequestCancelExternal (Java file line 5) does not appear in docs/cloud/migrate/automated.mdx, which uses CancelExternal. Both refer to the same Workflow command family — RequestCancelExternalWorkflowExecution is the canonical Event/Command name (it appears 12× across docs/references/events.mdx, docs/references/commands.mdx, and elsewhere). Not a fabrication; an acceptable paraphrase.


Check 3 findings

None. Universal patterns (TLS env vars, --profile, tcld service-account, --output text/jsonl, saas-api.tmprl.cloud:7233) are absent from both files. Topic-specific patterns the validator looked for and did not find:

  • 6-argument workflow.SignalExternalWorkflow(...) with a Namespace argument — absent. The Go file quotes the documented 5-argument shape and explicitly warns against inventing a 6-arg variant (line 31).
  • Third "target Namespace" argument on Java external-workflow stub factories — absent. The Java file lists the documented 1-arg and 2-arg shapes and explicitly warns against inventing a 3-arg overload (line 33).
  • Claim that system.enableCrossNamespaceCommands is enabled on Temporal Cloud — absent. Both files correctly state the opposite.
  • Nexus described as "Public Preview" in either SDK — absent. Both files correctly state GA, matching the feature guides.

Check 4 findings

Sample size: 10 Go citations + 12 Java citations = 22 claims.

21 matches. One claim flagged as a minor inference, not a divergence:

  • Java file, line 14Workflow.newExternalWorkflowStub(...) is described as "used for sending Signals (and request-cancel) to another running Workflow Execution". The cited lines (message-passing.mdx:287, 291) document only Signal usage of this stub; "(and request-cancel)" is an inference from the broader fact that CancelExternal is a documented Workflow command in the same family (per migrate/automated.mdx:419). The inference is consistent with Temporal's Workflow command model, but the cited line does not directly demonstrate cancel usage of newExternalWorkflowStub. A small "// Typed external workflow stub (same-Namespace Signal/Cancel target)" comment in the code-block annotation on line 21-25 inherits the same inference.

Substantively true, but the cited source supports Signal only. Not a re-authoring trigger; mention to authoring if a follow-up pass is made.

Match rate: 21/22 = 95.5% (above 95% threshold). If the inference above is considered substantively true, 22/22 = 100%.


Check 5 findings

Not applicable — not an integration topic.


Check 6 findings

None.

Pattern 1 (workaround disclosure): clean. Both files name the gating config (system.enableCrossNamespaceCommands) only to identify the constraint, and consistently direct the agent to Nexus. Neither file describes how to flip the config, suggest enabling it on self-hosted as an alternative to Nexus, or otherwise hand the agent a recipe for using the deprecated path. The "Don't rely on system.enableCrossNamespaceCommands behavior in code intended for Temporal Cloud; do remove or replace cross-Namespace calls before migration" line in the Go file (line 32) and equivalent in the Java file (line 61) are textbook "boundary + supported alternative" statements.

Pattern 2 (in-the-weeds rationale): clean. No design-history narrative, no "behind the scenes" prose. The code blocks in the Java file (lines 18-33, 45-51) are positive grounding — they show the canonical shapes the agent should generate.

Pattern 3 (multi-sentence bullets where sentence #2 is noise): clean. Minor: the Java file's What this affects bullet at line 16 paraphrases the gating point already made at line 14. Not a finding — it's a summary line at the end of a list, useful for grounding.

Pattern 4 (Public Preview without admonition): N/A. Nexus is GA in both SDKs per the cited feature guides; neither file claims preview status.


Statistics

Metric Value
Citation count (Go file) 22
Citation count (Java file) 27
Total citations 49
Citations resolved cleanly 49 (100%)
Reverse-grep miss count 0
Regression-pattern hits 0
Check 4 sample size 22
Check 4 match rate 21/22 (95.5%) — or 22/22 (100%) treating the noted inference as substantively true
Check 6 workaround-disclosure findings 0

Notes for downstream

  1. Both authored files are currently untracked on the draft/0015-cross-namespace-deprecation branch (no commits, no diff against main). git log main..HEAD is empty. The skill's SKILL.md is unchanged from main. From a layout perspective this is fine for these per-language deprecation references — they live at the canonical references/{lang}/<topic>.md path. Committing the new files is the only remaining gating step before merge from a scope/layout standpoint.

  2. Consider tightening Java line 14 / lines 21-25's "(and request-cancel)" / "Signal/Cancel target" parentheticals if you want every parenthetical to be backed by the immediately cited line. The broader Temporal docs support the claim, but a more direct citation (e.g. an encyclopedia page that names cancel-external as accessible via ExternalWorkflowStub) would close the small gap.

End of report.

@skill-temporal-developer-updater skill-temporal-developer-updater Bot requested a review from a team as a code owner May 14, 2026 18:54
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.

0 participants