Implement planned topic: 0035-dns-resolver-config#219
Open
skill-temporal-developer-updater[bot] wants to merge 2 commits into
Open
Implement planned topic: 0035-dns-resolver-config#219skill-temporal-developer-updater[bot] wants to merge 2 commits into
skill-temporal-developer-updater[bot] wants to merge 2 commits into
Conversation
Add DNS Resolver Configuration section to references/python/advanced-features.md documenting temporalio.service.DnsLoadBalancingConfig: the resolution_interval_millis field, the default classvar, the Client.connect / CloudOperationsClient.connect kwargs, and the silent mutual-exclusion with HttpConnectProxyConfig. Anchored to sdk-python v1.27.2 source (the official docs site does not yet cover this class). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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 —
0035-dns-resolver-configScope: the single commit on
draft/0035-dns-resolver-configadds a DNS Resolver Configuration section toreferences/python/advanced-features.md(lines 117–148, 33 added lines). No other files change.Topic class: Python SDK configuration topic — not a third-party integration. Check 5 skipped.
Go / no-go
Overall verdict: GO.
Check 1 findings
None. All eleven inline citations resolve to the cited file at the cited line range, and the cited text substantively supports the authored claim. Audit detail:
sdk-python/temporalio/service.py:136DnsLoadBalancingConfigclass existsclass DnsLoadBalancingConfig:sdk-python/temporalio/service.py:139-140docs/cloud/high-availability/ha-connectivity.mdx:25-31sdk-python/temporalio/service.py:145resolution_interval_millis: int = 30000sdk-python/temporalio/service.py:147,158DnsLoadBalancingConfig.defaultpre-built instance with 30s intervaldefault: ClassVar[DnsLoadBalancingConfig]; line 158 assignsDnsLoadBalancingConfig.default = DnsLoadBalancingConfig()(no-arg → 30000 ms)sdk-python/temporalio/client.py:143Client.connectkwarg signaturesdk-python/temporalio/client.py:199-203…→ markdown…renderingsdk-python/temporalio/service.py:141-142sdk-python/temporalio/bridge/src/client.rs:249-254if has_proxy { … None } else { … }branch that suppresses DNS LBsdk-python/temporalio/client.py:9786CloudOperationsClient.connectkwargsdk-python/temporalio/client.py:9823-9826CloudOperationsClientdocstring…→ markdown…renderingStyle note (non-finding): citation #3 is the only cite in the new section that uses an inline parenthetical (
(docs/…)) rather than the<!-- … -->HTML-comment style used for the other ten. Both forms are resolvable and grep-friendly, but the inconsistency could be normalized in a follow-up edit. Not flagged as a finding because no convention is documented inSKILL.mdmandating one form, and no other file inreferences/uses<!-- docs/… -->either.Check 2 findings
None. Every factual token in the new section appears in the source-of-truth tree:
DnsLoadBalancingConfig,HttpConnectProxyConfig,Client,CloudOperationsClient— present in/tmp/sdk-python/temporalio/.resolution_interval_millis,dns_load_balancing_config,http_connect_proxy_config,target_host— present inservice.py/client.py.30000matchesservice.py:145. Numeric5000is illustrative-example only.CNAMEappears 11× inha-connectivity.mdx.Check 3 findings
None. Regression-pattern grep is clean for both the universal table (no
--profile, noTEMPORAL_TLS_CLIENT_*, notcld service-account, no--output text/jsonl, nosaas-api.tmprl.cloud:7233) and the topic-specific table:_millis— not the wrong-unit_seconds.Client.connectis documented as 30 s / 30 000 ms; default forCloudOperationsClient.connectis documented as "disabled" — both faithful to source.Check 4 findings
None. All 10 sampled claims match my independent reading of the source:
DnsLoadBalancingConfigre-resolves target host and round-robinsresolution_interval_millis: int = 30000; "milliseconds"DnsLoadBalancingConfig.defaultis a pre-built instanceClient.connectkwarg signature exactClient.connectNoneto disableCloudOperationsClient.connectaccepts same kwarg; documented default differs ("disabled")Low-severity observation (not a finding against the skill): the Python docstring at
client.py:199–203says "Default is to re-resolve DNS every 30s" even though the kwarg default value is literallyNone, andNoneis passed straight through to the Rust bridge without substitution. The actual effective default therefore depends on whether Core supplies its own default when handed a missingDnsLoadBalancingConfig. The skill faithfully quotes the docstring as-is and does not editorialize, which is the correct approach — if the SDK docstring is ambiguous, that's an upstream-SDK doc question, not a skill-validation finding.Low-severity observation: the Rust bridge emits a
warn!("Disabling DNS load balancing because http_connect_proxy_config is set")log (client.rs:250) when both are configured. The skill's wording "silently disabled — there is no error and no precedence flag" mirrors the docstring's official "silently disabled" terminology, and the additional clarifiers "no error" / "no precedence flag" are both correct. Not flagged.Check 5 findings
Skipped — not a third-party integration topic.
Check 6 findings
None.
Client.connectdocstring is long but every clause is load-bearing (signature + docstring + use ofNone). Acceptable.ha-connectivity.mdxmarks DNS LB as Public Preview. (CloudOperationsClientcarries an.. warning:: This client and the API are experimentalin its own docstring, but the skill's cross-reference is narrowly to its DNS-LB-kwarg default, not to the API itself, so no admonition is owed here.)Statistics
<!--HTML-comment cites + 1 parenthetical docs cite)Verdict
GO. The diff is tight, fully grounded, and free of fabrication patterns. The single style observation (inline-parenthetical vs. HTML-comment citation form for the one docs cite) is not severe enough to warrant a follow-up commit on its own. Merge as-is.