Implement planned topic: 0002-serverless-ha - #49
Merged
Conversation
…ld only Replace the standalone serverless-ha.md with a symptom section in ha-failover.md, which already owns failover triage. The remediation commands are unified-CLI only, so they are described in prose and handed to skill-temporal-serverless rather than printed here. Corrections against the docs while folding: the fix is an in-place compute-provider repoint on the existing Worker Deployment Version, not a new Version promoted to current; old-region invocations continue after failover and bite only when that region is degraded, rather than stalling the Task Queue outright; drop the pre-create-a-Version-per-region prevention advice, which no doc prescribes. Also revert the whitespace-only edits to cloud-ops-api.md and connectivity.md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
starfleeth
approved these changes
Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Validation Report —
Serverless HABranch under validation:
draft/0002-serverless-ha.Diff scope: working-tree changes (no commits yet on this draft).
references/triage/serverless-ha.md— new file, 148 lines.references/triage/ha-failover.md— one added bullet (Fix cloud-certs.md: add min CA duration and api_key_or_mtls auth method #6) under "Two timing facts the triage logic depends on."SKILL.md— one added triage-table row and one added reference-file bullet.Checks applied: 1, 2, 3, 4, 6. Not applicable: 5 (no
references/integrations.md— not an integration topic), 7 (not a cross-language SDK feature — a Cloud triage runbook, no per-language pages).Go / no-go
Overall verdict: GO with MINOR FIXES.
Rationale: no regression hits, no fabrications, no workaround disclosures, no missing admonition. The two Check 1 DRIFTs are cases where the cited line is real and correct but the authored clause adds a factual aside that isn't in the exact cited range. Neither would cause a reader to do something wrong — under the Check 4 "substantively different" rubric these pass — but Check 1 is strict about "the cited text supports the claim." Ordinary cite-hygiene spot-fix, not a re-authoring trigger.
Check 1 findings (minor)
Both findings are the third failure mode described in the plan: "correct line with a claim subtly different from what the line actually says." The primary clause of each authored claim is supported; the drift is in a trailing aside.
Finding 1.1 — encyclopedia:64 doesn't state that a Lambda ARN "embeds the AWS region"
references/triage/serverless-ha.md:33docs/encyclopedia/workers/serverless-workers/index.mdx:64Finding 1.2 — encyclopedia:65-66 doesn't document the
--gcp-cloud-run-regionflagreferences/triage/serverless-ha.md:33--gcp-cloud-run-region."docs/encyclopedia/workers/serverless-workers/index.mdx:65-66--gcp-cloud-run-regionis documented — but atcloud-run/index.mdx:506, not at the cited encyclopedia range. Suggested spot-fix: add a second citation<!-- docs/production-deployment/worker-deployments/serverless-workers/cloud-run/index.mdx:506 -->for the flag name.Ratio impact: 39/41 = 95.1%. Under the strict 98% pass criterion this is technically below, but both drifts are additive factual context, not misrepresentation.
Check 2 findings
None. Every extracted token resolves in the docs subtrees:
--aws-lambda-function-arn,--aws-lambda-assume-role-arn,--aws-lambda-assume-role-external-id,--build-id,--deployment-name,--gcp-cloud-run-project,--gcp-cloud-run-region,--gcp-cloud-run-service-account,--gcp-cloud-run-worker-pool,--namespace,--region,--yes) — all present in the AWS Lambda and Cloud Run production-deployment docs at the exact cited ranges, and cross-referenced correctly by SDK-code identifier casing (DeploymentName/BuildIDfor Go SDK,deployment_name/build_idfor Python SDK per the respective docs).temporal worker deployment create-version,temporal worker deployment set-current-version,tcld namespace failover) — all documented.FailoverNamespace,Worker Controller Instance,WCI,Worker Deployment Version,Multi-region Replication,Multi-cloud Replication,Namespace Endpoint,Cloud Run Worker Pool,Lambda function ARN) — all documented; grep hit counts range from 3–43 files.Check 3 findings
None. Zero hits against any regression pattern:
--profile,TEMPORAL_TLS_CLIENT_CERT_PATH,TEMPORAL_TLS_CLIENT_KEY_PATH,TEMPORAL_TLS_SERVER_CA_CERT_PATH,tcld service-account,--output text,--output jsonl,saas-api.tmprl.cloud:7233) — clean./cloud/...hyperlinks) — clean.https://docs.temporal.io/...URLs (verified on lines 27, 45, 59, 93, 144, 148 ofserverless-ha.md).Check 4 findings
Sampled 12 claims across the diff (10 from
serverless-ha.md, 1 fromha-failover.mdnew bullet, 1 fromSKILL.mdtriage row). Includes the release-stage claim per template requirement (Sample 9). No claim is substantively different from the fresh independent reading of the docs — no reader following the authored version would do something different from a reader following the docs.Two claims that add framing beyond the cited range but do not change behavior:
Sample 5 — Line 128, "in an incident" framing
set-current-versioncommand asks for confirmation because it changes which version new Tasks route to; pass--yesto skip the prompt in an incident."cloud-run/index.mdx:530): "This command asks you to confirm, because it changes which version new Tasks route to. Pass--yesto skip the prompt."--yesis intact. No behavior change.Sample 10 — Line 33, "embeds the AWS region" aside
Match rate: 12 / 12 substantive. Above the 95% threshold.
Sampled claims:
manage.mdx:196-197) — EXACT.--aws-lambda-function-arndescription (aws-lambda/index.mdx:802) — EXACT (authored trims a "See Step iii" reference; not a semantic change)."operation": "FailoverNamespace"audit event (failovers/index.mdx:130) — EXACT.cloud-run/index.mdx:520-521) — EXACT.--yesnote (cloud-run/index.mdx:530) — SUPPORTED with "in an incident" framing.manage.mdx:123-126) — EXACT.failovers/index.mdx:119-122) — EXACT.encyclopedia:219) — EXACT quote.evaluate/…/index.mdx:26-28) — SUPPORTED. Docs include a "may change in backwards-incompatible ways" caveat that the authored file omits; not misleading, and the standard[!NOTE]admonition covers the general Public-Preview caveat.encyclopedia:64) — SUPPORTED with aside as noted in Check 1.ha-failover.mdnew bullet 6 — supported byhigh-availability/index.mdx:157-161(cited elsewhere inserverless-ha.md); the ha-failover bullet doesn't need its own inline citation because it points at the sibling file.SKILL.mdtriage row — symptom → action → link. The action ("Confirm aFailoverNamespaceaudit event, then check whether the Worker Deployment Version's compute provider is in the new active region") is a compressed summary ofserverless-ha.md#diagnostic-signal--did-a-failover-happen. Anchor slug#diagnostic-signal--did-a-failover-happenmatches the internal ToC inserverless-ha.md:14(both use the double-hyphen form for the em-dash + spaces).Check 6 findings
No Pattern-1 (workaround disclosure) findings. The file teaches only the supported remediation path (
create-version→set-current-version) and the supported prevention pattern (pre-provisioning per-region Versions). It does not disclose any way to skipset-current-versionor bypass a compute-provider constraint.Public Preview admonition (Pattern 5): present with canonical phrasing. Lines 3-4 of
serverless-ha.md:Matches the standard authoring-plan §3.7 phrasing.
Borderline observation (not a finding): The intro paragraph at line 6 restates the release stage — "AWS Lambda support ... is in Public Preview; GCP Cloud Run support is in Pre-release." This is not Pattern-7 chatter because the admonition only mentions "Public Preview" (the more permissive stage that applies to AWS Lambda), and the intro clarifies that Cloud Run is at the earlier Pre-release stage. This is stage-differentiation, not duplication.
Other patterns: clean.
[!NOTE]block.worker deploymentCLI path; no from-scratch alternative.Advisory-only note (does not gate): line 128's
--yesguidance interacts with the parent skill's destructive-ops policy (SKILL.md§"Destructive operations" — "--yesbelongs in a command the user approved, never in a retry of one that failed its prompt"). The line documents the flag correctly per the Cloud Run docs, but does not restate that the operator should get user approval first. This is not a workaround disclosure — the flag is docs-supported and the skill-wide policy applies to it by default — but a reader might benefit from a one-clause reminder to propose before running.Statistics
serverless-ha.md, 1 fromha-failover.md, 1 fromSKILL.md)Recommendation
GO with MINOR FIXES.
Spot-fix the two Check 1 DRIFTs in a follow-up commit — either drop the two asides at
serverless-ha.md:33, or add a supplemental citation each (an AWS-side reference for "ARN embeds the AWS region";cloud-run/index.mdx:506for the--gcp-cloud-run-regionflag). No re-authoring is warranted: Checks 3, 4, and 6 all pass their thresholds, Check 2 is clean, and the file's operational core — remediation and prevention — is docs-verbatim.