Skip to content

Implement planned topic: 0033-lambda-workers#221

Open
skill-temporal-developer-updater[bot] wants to merge 1 commit into
mainfrom
draft/0033-lambda-workers
Open

Implement planned topic: 0033-lambda-workers#221
skill-temporal-developer-updater[bot] wants to merge 1 commit into
mainfrom
draft/0033-lambda-workers

Conversation

@skill-temporal-developer-updater
Copy link
Copy Markdown
Contributor

Skill Validation Report — lambda-workers

Branch: draft/0033-lambda-workers
Scope: the three new reference files plus the three rows added to references/integrations.md:

  • references/go/integrations/lambda-workers.md
  • references/python/integrations/lambda-workers.md
  • references/typescript/integrations/lambda-workers.md
  • references/integrations.md (+3 catalog rows)

The change is currently uncommitted in the working tree (git log main..HEAD is empty; the new files are untracked and references/integrations.md is modified). Validation was performed against the working-tree state.


Go/no-go

Check Verdict
1. Citation audit PASS (235/235 citations resolve substantively)
2. Reverse-grep audit PASS with 1 untagged-ecosystem note (Go: lambda.Start)
3. Regression on known bugs PASS with 1 context-dependent flag (TEMPORAL_TLS_CLIENT_CERT_PATH / _KEY_PATH — see below)
4. Independent re-verification PASS (30/30 sampled claims match)
5. Integration-layout audit PASS (all five sub-checks)
6. Tone & scope PASS (zero Pattern-1 workaround disclosures; minor Pattern 2/3 polish opportunities)

Overall: GO — with two non-blocking notes the maintainer should look at before/after merge.


Check 1 findings — citation audit

Per-file totals (per-file subagents):

File Citations Failures
Go 75 0
Python 83 0
TypeScript 77 0
Total 235 0

All cited docs paths exist under ../documentation/docs/. Every claim is substantively supported by its cited line range. Two marginal-but-acceptable cases in Go (opts.ClientOptions rationale at line 63 and HOME=/tmp rationale at line 175) — both citations land on lines that show the code; the rationale the skill adds is a defensible authorial annotation but is not literally stated in the docs.


Check 2 findings — reverse-grep audit

Per-file totals:

  • Go: 1 untagged ecosystem token: lambda.Start (line 46 — "Do not call lambda.Start yourself"). This refers to github.com/aws/aws-lambda-go/lambda.Start, the standard AWS Lambda Go SDK entrypoint. It is a well-known external library function used here as a negative-guidance reference (telling the agent not to call it). It would ideally carry an <!-- ecosystem: aws-lambda-go-sdk --> tag per the optional ecosystem-regression subsection of the plan, but the skill does not currently use that tagging convention.
  • Python: zero misses.
  • TypeScript: zero misses.

All CLI flags, env vars, language API identifiers, default-table keys, and quoted constants from all three files resolve to a docs file under ../documentation/docs/. No fabrication.


Check 3 findings — regression patterns

Universal patterns scan — clean on: --profile, --output text, --output jsonl, tcld service-account, saas-api.tmprl.cloud:7233, TEMPORAL_TLS_SERVER_CA_CERT_PATH. Zero hits.

One context-dependent flagTEMPORAL_TLS_CLIENT_CERT_PATH and TEMPORAL_TLS_CLIENT_KEY_PATH appear in the env-var tables of all three files:

File Lines
references/go/integrations/lambda-workers.md 185–186
references/python/integrations/lambda-workers.md 192–193
references/typescript/integrations/lambda-workers.md 207–208

The universal-regression table in the validation plan says these should be TEMPORAL_TLS_CERT / TEMPORAL_TLS_KEY. However, the source-of-truth docs explicitly distinguish two namespaces:

  • docs/cli/index.mdx:273–276 documents TEMPORAL_TLS_CA / TEMPORAL_TLS_CERT / TEMPORAL_TLS_KEY for the CLI (temporal command).
  • docs/references/client-envrionment-configuration.mdx:24–27 and docs/production-deployment/worker-deployments/serverless-workers/aws-lambda.mdx:325–326 document TEMPORAL_TLS_CLIENT_CERT_PATH / TEMPORAL_TLS_CLIENT_KEY_PATH for the SDK client environment configuration. The Lambda Worker reads from the SDK client environment configuration, not the CLI namespace.

The skill is grounded — it transcribes the env vars exactly as they appear in the cited AWS Lambda docs page (the env-var table cites lines 322–327 of that file). This is therefore not a fabrication and not a real regression; the universal regression rule itself appears to assume a CLI context. Recommendation: the regression rule in the template should be scoped to the CLI namespace, or the skill should add a comment clarifying the SDK-vs-CLI naming convention. Flagged here for visibility but does not block merge.


Check 4 findings — independent re-verification

Sampled 10 claims per file (30 total). Subagents read the authored claim, then opened the cited doc fresh and wrote what they would write from the docs, then compared.

File Sampled positions Match rate
Go #3, #7, #12, #18, #24, #30, #37, #45, #52, #60 10/10
Python #4, #9, #15, #22, #28, #35, #42, #50, #58, #66 10/10
TypeScript #2, #8, #14, #20, #27, #33, #40, #47, #54, #62 10/10

No subtle-wrong interpretations detected. The skill faithfully reflects the cited material; a reader following the skill would take the same actions as a reader following the docs.


Check 5 findings — integration-layout audit

Sub-check Result
1. File location at references/{language}/integrations/{name}.md PASS — all three files in the correct path
2. Exactly one catalog row per integration with language, blurb, file pointer, related-topic pointer PASS — three rows added at references/integrations.md:18–20; correct columns and pointers
3. No SKILL.md edit PASS — git diff shows zero changes to SKILL.md
4. No per-integration bullet in the language entry-points PASS — git diff shows zero changes to references/{go,python,typescript}/{go,python,typescript}.md
5. No oversized inline cross-link in ai-patterns.md (or other topical references) PASS — no ai-patterns.md edits

No layout violations.


Check 6 findings — tone and scope audit

Pattern 1 (workaround disclosure): zero findings across all three files. Negative bullets all follow the acceptable "don't do X / do Y instead" or hard-constraint shape:

  • Go :46 "Do not call lambda.Start yourself" (hard constraint, owned by RunWorker).
  • Go :94 DisableEagerActivities "always true and cannot be overridden" (hard constraint).
  • Python :71 "Don't overwrite the entire dict — mutate keys on the dataclass field..." (names supported alternative).
  • TypeScript :40 "Don't use workflowsPath on Lambda; use workflowBundle with pre-bundled code instead" (names supported alternative).

Pattern 4 (Pre-release admonition): all three files carry the standard > [!NOTE] block at the top with the canonical phrasing. PASS.

Pattern 2/3 (minor polish, non-blocking):

  • Go :108–109 — tuning bullets where sentence 2 ("Controls how long the Worker waits for in-flight Tasks after polling stops") is descriptive rationale that doesn't change generated code.
  • Python :113–114 — same shape for shutdown_deadline_buffer and Worker-stop-timeout tuning rules.
  • Python :253 — multi-sentence troubleshooting bullet (rationale sentence in the middle could be trimmed).
  • TypeScript :115 — "Raising only the buffer..." re-explains the preceding three rules without adding actionable code guidance.
  • TypeScript :257 — sentence 2 ("When the version is created via the UI, it is set as current automatically") describes an alternative UI path that the agent should not pursue when generating CLI code.
  • Go :131 — rationale clause "because the OTel SDK is compiled into the binary" is implementation narrative; the directive ("attach only the ADOT Collector layer") stands on its own.

All Pattern 2/3 hits are stylistic — they could fit in a single follow-up commit but are not merge-blocking under the plan's verdict rubric.


Statistics

Metric Value
Citations (total) 235
Citation failures 0
Reverse-grep tokens extracted (approx) Go ~70, Python ~75, TS ~70
Untagged ecosystem-token misses 1 (Go: lambda.Start)
Regression-pattern hits (universal) 0 hard hits; 1 context-dependent flag (TLS env-var naming)
Independent re-verification sample size 30
Match rate 30 / 30 = 100%
Check 5 layout violations 0
Check 6 Pattern-1 (workaround) findings 0
Check 6 Pattern-2/3 (polish) findings 6 (non-blocking)

Recommendations to maintainers

  1. Decide on TLS env-var naming. The skill follows the SDK client-environment-configuration spec (TEMPORAL_TLS_CLIENT_CERT_PATH / _KEY_PATH), which is what the cited AWS Lambda doc page uses. The universal regression rule in VALIDATION_PLAN_TEMPLATE.md should be tightened to "applies to CLI contexts" or include a note about the SDK-client namespace, otherwise future validations will keep flagging this.
  2. Optional: tag lambda.Start in Go file line 46 with an <!-- ecosystem: aws-lambda-go-sdk --> (or equivalent) comment if the skill adopts ecosystem-token tagging.
  3. Optional follow-up polish commit for the 6 Pattern-2/3 items listed above — none are blockers; they would tighten the files but don't change generated code.

End of report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant