Implement planned topic: 0009-versioned-continue-as-new#211
Open
skill-temporal-developer-updater[bot] wants to merge 1 commit into
Open
Implement planned topic: 0009-versioned-continue-as-new#211skill-temporal-developer-updater[bot] wants to merge 1 commit into
skill-temporal-developer-updater[bot] wants to merge 1 commit into
Conversation
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 —
versioned-continue-as-newBranch:
draft/0009-versioned-continue-as-newScope under review: uncommitted modifications to six existing files —
references/core/versioning.mdplusreferences/{go,python,typescript,java,dotnet}/versioning.md.Each file adds a new
## Upgrading on Continue-as-Newsection;references/core/versioning.mdalso splits the existing "Long-running workflows" row in the "Choosing an Approach" table into two rows.Validator session: independent of authoring (no read of
AUTHORING_LOG.mdor authoring plan).Docs root:
../documentation/docs/.Go / No-Go
Overall verdict: GO.
Source of truth (§2)
docs/production-deployment/worker-deployments/worker-versioning.mdx— section## Upgrading on Continue-as-New {#upgrade-on-continue-as-new}(lines 530–618) and the workflow-duration table (lines 261–266).docs/encyclopedia/workers/worker-versioning.mdx—## Versioning Definitions(line 79) for Target Worker Deployment Version.Check 1 findings — citation audit
Extracted 28
<!-- docs/… -->comments across the 6 files; each was resolved by reading the cited range in the docs.worker-versioning.mdx:541-545(Public Preview note)worker-versioning.mdx:532-533(long-running upgrade at CaN boundary)worker-versioning.mdx:535-539("This pattern is for" list)worker-versioning.mdx:549-554(how it works steps 1–3)encyclopedia/workers/worker-versioning.mdx:79(Target Version)worker-versioning.mdx:556-559(target_worker_deployment_version_changed)worker-versioning.mdx:561-605(Go code source)worker-versioning.mdx:570-571(flag refreshed after WFT)worker-versioning.mdx:574-577(check before Activities/Updates/child WFs)worker-versioning.mdx:582-583(info.GetTargetWorkerDeploymentVersionChanged())worker-versioning.mdx:584-591(Continue-as-new options +InitialVersioningBehavior)worker-versioning.mdx:587-591(passingAutoUpgrade)worker-versioning.mdx:611-613(lazy moving / Signal to wake)worker-versioning.mdx:614-616(interface compatibility)worker-versioning.mdx:532, 549(Pinned Workflows only)worker-versioning.mdx:265(PINNED + upgrade-on-CaN table row)worker-versioning.mdx:266(AUTO_UPGRADE + patching table row)worker-versioning.mdx:277(Compliance audit row)Single minor synthesis (not a finding):
references/core/versioning.md:146claims "Long-running Pinned Workflows that use Continue-as-New can upgrade…" citing docs:532-533. The cited lines read "Long-running Workflows that use Continue-as-New can upgrade…" without the "Pinned" qualifier. The qualifier is correctly inferred from the surrounding section (the docs at:549say "By default, Pinned Workflows stay on their original Worker Deployment Version even when they Continue-as-New" and the workflow-duration row at:265ties this pattern to PINNED). A reader following the authored claim arrives at the right behavior; flagging only for completeness.Pass criterion (≥98%): met. 28/28 citations resolve cleanly.
Check 2 findings — reverse-grep audit
Token classes extracted from authored files and grep-verified against the docs subtree:
target_worker_deployment_version_changedGetTargetWorkerDeploymentVersionChangedNewContinueAsNewErrorWithOptionsContinueAsNewErrorOptionsInitialVersioningBehaviorContinueAsNewVersioningBehaviorAutoUpgradeworkflow.GetInfo/workflow.SleepAutoUpgrade/AUTO_UPGRADE(enum/string)Pinned/PINNEDTarget Version/Target Worker Deployment VersionPublic Preview@workflow.run(Python SDK decorator, inside pseudocode comment)@WorkflowMethod/@WorkflowVersioningBehavior/VersioningBehavior.PINNED(Java)[WorkflowRun]/[Workflow(VersioningBehavior = VersioningBehavior.Pinned)](.NET)workflowInfo()/continueAsNew(TS)docs/develop/typescript/workflows/*workflow.info()(Python)docs/develop/python/workflows/continue-as-new.mdxWorkflow.ContinueAsNewAsync(.NET)docs/develop/dotnet/…examplesNote on pseudocode shape. The four non-Go language files (
python,ts,java,dotnet) carry a single<!-- VERIFY: … -->comment in front of each pseudocode block, which states explicitly that the docs only contain a Go example and that the SDK method/property names for that language must be confirmed against the SDK before relying on the snippet. The pseudocode itself uses only widely-documented decorator/annotation tokens — no Python-/TS-/Java-/.NET-specific method names for the target-version-changed flag or for the Continue-as-NewInitialVersioningBehavioroption are committed to. This is a defensible alternative to the standard<!-- undocumented: source = … -->form when the docs themselves are language-incomplete; downstream tooling may want to standardize this notation, but it is not a Check 2 fabrication.Pass criterion (zero unexplained misses): met.
Check 3 findings — regression on known bugs
Diff was grep-scanned for each universal regression pattern:
--profile(as flag intemporalcommand)TEMPORAL_TLS_CLIENT_CERT_PATHTEMPORAL_TLS_CLIENT_KEY_PATHTEMPORAL_TLS_SERVER_CA_CERT_PATHtcld service-account(any usage)--output text/--output jsonlsaas-api.tmprl.cloud:7233Pass criterion (zero hits): met.
Check 4 findings — independent re-verification (sample)
Sampled 10 claims by reading the docs cold and comparing to the authored text.
workflow.GetInfo(ctx).GetTargetWorkerDeploymentVersionChanged()andNewContinueAsNewErrorWithOptions(... InitialVersioningBehavior: workflow.ContinueAsNewVersioningBehaviorAutoUpgrade ...)(go:235-262)AUTO_UPGRADEwith patching instead." (core:182)Pass criterion (≥95%): met. 10/10 substantively match.
Check 5 findings — integration-layout audit
Not applicable. The topic is core SDK guidance (versioning behavior at Continue-as-New boundaries), not a third-party integration. The
references/integrations.mdcatalog exists in the skill but is not touched by this diff, nor is any new file added underreferences/{lang}/integrations/. All six modified files are pre-existing topical references being extended in-place.Check 6 findings — tone & scope audit
worker-versioning.mdx:611-613, not a workaround around a stated limit; the limit is the lazy-moving behavior itself, and the Signal is the documented escape.references/core/versioning.md:168includes a second sentence — "Once the new run is on the new version, the per-Workflow-type annotation continues to apply on subsequent CaN." This does change generated code (it tells the agent not to flip the workflow-type annotation when adding the override), so it is load-bearing rather than narrative — not a finding.Pass criterion: met.
Statistics
worker-versioning.mdxx 2 locations)Notes / non-blocking observations
python,typescript,java,dotnet) deliberately ship comments-only pseudocode under a<!-- VERIFY: … -->admonition because the upstream docs publish only a Go sample. This is a sensible posture for a Public Preview feature with incomplete cross-SDK docs, but the project may want to standardize the admonition format (<!-- VERIFY: … -->vs.<!-- undocumented: source = … -->) in a future authoring-plan revision.references/core/versioning.md:146inserts the word "Pinned" into a paraphrase ofworker-versioning.mdx:532-533where the docs themselves say "Long-running Workflows" (without the qualifier). The narrowing is correct under the broader section context, so this is logged as a synthesis rather than a fabrication; no fix required.End of report.