Implement planned topic: 0031-langsmith-tracing#126
Closed
skill-temporal-developer-updater[bot] wants to merge 1 commit into
Closed
Implement planned topic: 0031-langsmith-tracing#126skill-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 —
langsmith-tracingScope of validation: the work introduced by branch
draft/0031-langsmith-tracing:SKILL.md— one-line addition under "Additional Topics" pointing at the new reference (line 92).references/python/langsmith-tracing.md— new reference (129 lines).Source of truth used:
../documentation/docs/:develop/plugins-guide.mdxdevelop/python/integrations/index.mdxevaluate/development-production-features/release-stages.mdxtemporalio/sdk-python, fetched at validation time):temporalio/contrib/langsmith/README.mdtemporalio/contrib/langsmith/__init__.pyThe skill explicitly tags every upstream-only claim with
<!-- sdk-python: ... -->, so the secondary-source dependency is declared, not implicit.Go/no-go
Overall verdict: GO. All four checks pass their thresholds. No findings require a re-authoring pass; no spot-fix findings.
Check 1 — Citation audit
Twenty-two inline
<!-- ... -->source tags appear inreferences/python/langsmith-tracing.md. One inline<!-- VERIFY: ... -->comment (line 11) is a future-sync reminder, not a citation, and is excluded from the count.docs/citations (5 — all verified against the local docs clone)docs/develop/plugins-guide.mdx:20-22docs/develop/plugins-guide.mdx:30docs/evaluate/development-production-features/release-stages.mdx:26docs/develop/python/integrations/index.mdx:23-29docs/develop/plugins-guide.mdx:815-833sdk-python:citations (17 — verified against upstream README/__init__.py)Verified via WebFetch against
temporalio/sdk-python:main. Each tagged claim has a corresponding section/passage in the upstream README:@traceablein Workflows/Activities, context propagation across workers, no duplicate traces on replay. ✓uv add temporalio[langsmith]. ✓Client.connect("localhost:7233", plugins=[LangSmithPlugin(project_name="my-project")])example. ✓add_temporal_runssettings. ✓client=None,project_name=None,add_temporal_runs=False,default_metadata=None,default_tags=None). ✓__init__.py—LangSmithInterceptorexported fromtemporalio.contrib.langsmith. ✓ (file fetched;__all__includes bothLangSmithPluginandLangSmithInterceptor).@traceableWorks" — four-row matrix matches (Workflow methods=Yes, Activity methods=Yes, on@activity.defn=Yes with retry caveat, on@workflow.defn=No). ✓@traceableabove@activity.defn. ✓add_temporal_runs— defaultFalse;TrueaddsStartWorkflow/RunWorkflow/StartActivity/RunActivitynodes. ✓add_temporal_runs—StartFooshort-lived RPC vsRunFooactual execution. ✓workflow.now()/workflow.random()rather thandatetime.now()/uuid4(), background thread pool for HTTP). ✓@traceablearoundworkflow.execute_activity, and the trace tree showsmy_step→ twoCall OpenAIchildren (first attempt + retry) each containingopenai.responses.create. Confirmed verbatim against the upstream section. ✓Client → Workflow → Activity → Child Workflow → Nexusvia Temporal headers, no manual passing. ✓Result: 22/22 = 100% resolve cleanly. ≥ 98% threshold met.
Check 2 — Reverse-grep audit
Token classes extracted from the authored file and reverse-checked.
LangSmithPlugin,LangSmithInterceptor,temporalio.contrib.langsmith__init__.py(both exported in__all__) and README.client,project_name,add_temporal_runs,default_metadata,default_tags@traceable@activity.defn,@workflow.defn,@workflow.run,@workflow.signaldocs/develop/python/workflows/*.mdx), confirmed via grep.workflow.now(),workflow.random(),workflow.execute_activitydocs/develop/python/workflows/basics.mdxetc.), confirmed via grep.datetime.now(),uuid4()StartWorkflow,RunWorkflow,StartActivity,RunActivityadd_temporal_runs.temporalio[langsmith]openai.responses.createFindings: 0 unexplained misses. Every factual token is grounded in either the docs clone or the upstream README it is tagged against.
Check 3 — Regression on known bugs
--profileas atemporalflagTEMPORAL_TLS_CLIENT_CERT_PATHTEMPORAL_TLS_CLIENT_KEY_PATHTEMPORAL_TLS_SERVER_CA_CERT_PATHtcld service-account--output text/--output jsonlsaas-api.tmprl.cloud:7233No topic-specific regression patterns are documented for this skill; the universal patterns are the full set checked. The reference is purely a Python-SDK plugin doc and doesn't enter Cloud/CLI/TLS surface area, so most regressions are not applicable by topic.
Findings: 0 hits. Strict pass.
Check 4 — Independent re-verification (sampling)
Single reference file; 22 numbered citations; sample size = 10 (every-other selection: claims #2, #4, #7, #9, #11, #14, #16, #18, #21, #22 from §"Check 1" above). For each, re-read the cited source independently and compared against the authored claim.
@traceablework in Workflows and Activities, propagates trace context across worker boundaries, prevents duplicate traces on replayadd_temporal_runs)@traceableWorks" matrix with retry/decorator-order notes@traceableWorks": same four rows, same Yes/No values, same notesFalse;Trueadds operation nodesadd_temporal_runs: same statement and same examplesMatch rate: 10/10 = 100%. ≥ 95% threshold met.
No "subtle-wrong" interpretive drift was observed. The reference paraphrases the upstream README closely without overstating or generalising.
Statistics
docs/, 17sdk-python:).<!-- VERIFY: ... -->comment at line 11).Notes (non-findings)
These are not validation findings; they are observations for future authoring/maintenance.
temporalio/sdk-python:contrib/langsmith/README.md. This is appropriate because the docs site does not yet cover LangSmith — but the reference will drift if the upstream README is restructured. The<!-- VERIFY: ... -->reminder at line 11 already flags one such future drift (re-checking the integrations index). Consider an analogous note for the README itself.openai.responses.createtoken. Present in the trace tree example. Verified verbatim against the upstream README. If the upstream README later switches its example to a different OpenAI call (e.g.,chat.completions.create), this token would become stale; no action needed today.End of report.