Implement planned topic: 0021-memo-data-converter#142
Closed
skill-temporal-developer-updater[bot] wants to merge 1 commit into
Closed
Implement planned topic: 0021-memo-data-converter#142skill-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 —
temporal-developer(draft0021-memo-data-converter)Scope: unstaged diff to
references/go/data-handling.mdon branchdraft/0021-memo-data-converter.git log main..HEADis empty; the diff is the entire change-set.Source of truth:
../documentation/docs/(Temporal docs clone).Validator session: independent of authoring.
Go / No-Go
<!-- VERIFY -->+ source caveatOverall verdict: GO, with one strongly-recommended caveat captured below.
Check 1 findings
All six inline doc citations introduced by the diff resolve cleanly and substantively support the authored claim:
docs/encyclopedia/workflow/workflow-execution/workflow-execution.mdx:169— supports "non-indexed set of Workflow Execution metadata supplied at start time / from Workflow code / returned when describing or listing".docs/encyclopedia/workflow/workflow-execution/workflow-execution.mdx:179-180— supports both "lack type safety" and "eventual consistency" sub-claims, with the surrounding bullet at 177 also supporting the "don't use for execution-critical data" framing.docs/develop/go/client/temporal-client.mdx:700,888— supportsmap[string]interface{}type (line 700 table row; line 888Type:) and default-empty (line 889Default: Empty).docs/develop/go/client/temporal-client.mdx:891-902— shape-match citation for the start-options example. The authored example uses different field values ("order-123","customerName") but the same structural form as the docs example. Shape claim is accurate.docs/develop/go/best-practices/data-handling/data-encryption.mdx:110-118— supports the syntactic formclient.Dial(client.Options{ DataConverter: ... }). Note that this citation is being used as a shape reference; the cited section does not specifically discuss Memo routing (which is why the surrounding prose is tagged<!-- VERIFY -->).docs/develop/go/client/temporal-client.mdx:904-933— SearchAttributes section; supports "Search Attributes … follow their own typing rules" (Keyword/Int/Double/Bool/Datetime/Text types are listed). Minor note: "stored indexed" portion of the authored sentence is not directly stated in 904-933, though it is correct general Temporal knowledge.No unresolved citations. No findings.
Check 2 findings
All technical tokens introduced by the diff that should be documented are documented:
CodecDataConverter→ present indevelop/go/best-practices/data-handling/data-encryption.mdx.CompositeDataConverter→ present inencyclopedia/data-conversion/payload-converter.mdxanddevelop/go/best-practices/data-handling/data-conversion.mdx.PayloadCodec,PayloadConverter→ present indevelop/go/best-practices/data-handling/{data-conversion,data-encryption,index}.mdx.client.Options,client.Dial,DataConverter→ present across 14 Go docs.StartWorkflowOptions.Memo,map[string]interface{}→ present indevelop/go/client/temporal-client.mdx.The new Go-SDK-only "Memo-routing flag" claim is not present in the local docs clone:
MemoUsesDataConverter/MemoSerializationUsesDataConverter/DataConverterEncodesMemo/EncodeMemoWith/ etc.: zero hits in../documentation/docs/.Memo.*DataConverter/DataConverter.*Memoco-occurrences: zero hits.The diff handles this responsibly:
<!-- VERIFY -->comments naming the godoc as the verification target.temporalio/documentationclone does not document this flag. Confirm … by reading the Go SDK godoc atpkg.go.dev/go.temporal.io/sdk/clientbefore relying on this section."Under Check 2's rule that "real but undocumented" tokens are acceptable when marked, this passes. No fabrication suspects.
Check 3 findings
Universal regression patterns (
--profile,TEMPORAL_TLS_CLIENT_*_PATH,tcld service-account,--output text|jsonl,saas-api.tmprl.cloud:7233): zero hits inreferences/go/data-handling.md.Topic-specific regression patterns:
client.Optionsfield name is hard-coded for the Memo-routing flag. The diff describes it abstractly as "aclient.Optionsflag," avoiding the trap of inventing a field name.<!-- VERIFY: confirm default behavior against godoc -->.temporal-client.mdx:904-933is to the parallel typing-rules section.No regression hits.
Check 4 findings
Sampled all 6 doc-cited claims and all 5
<!-- VERIFY -->-tagged claims (11 total). Comparison table is inVALIDATION_PLAN.md§3 Check 4.<!-- VERIFY -->and additionally covered by the "Source caveat" block.No claims diverge from the docs in a way that would lead a reader to behave differently than the docs intend.
Minor observation (not a finding)
Citation #6 (
temporal-client.mdx:904-933) backs the "follow their own typing rules" portion of the sentence but does not directly back "are stored indexed". This is generic Temporal knowledge and easily verifiable elsewhere, so it does not rise to a finding — but a tightening pass could either cite a more specific source for "indexed" or trim the claim.Strongly-recommended caveat (out of band of the four checks)
The new "Routing Memo serialization through your DataConverter (Go SDK flag)" subsection (lines 265–281 of the updated
references/go/data-handling.md) makes five substantive technical claims about Go SDK behavior:DataConverter.client.Optionsflag (field name not specified) that opts in.PayloadConverters apply to Memo when enabled.CodecDataConverteralso applies to Memo when enabled.None of these five are documented in the local
../documentation/docs/clone. The diff itself transparently states this in its "Source caveat" block.This is not a Check-1/2/3/4 failure because:
<!-- VERIFY -->-tagged.But it is worth flagging for the maintainer because:
Recommendation (maintainer choice, not a validator block):
pkg.go.dev/go.temporal.io/sdk/clientand fills in the specific field name + default + scope of the flag; replace each<!-- VERIFY -->with an<!-- undocumented: source = pkg.go.dev/go.temporal.io/sdk/client.Options.<FieldName> -->tag once verified.client.Options," dropping the five specific behavioral claims, until docs publish.Statistics
references/go/data-handling.md)<!-- VERIFY -->-tagged claims addedStop conditions
None triggered. Authoring artifacts present (diff exists), docs clone present and populated, citation pass rate well above 70%, no scope violations (only an existing reference file was modified).
End of report.