Commit Graph

63 Commits

Author SHA1 Message Date
skill-sync[bot] 25990909a6 Finalize draft for 0033-lambda-workers 2026-05-14 19:13:20 +00:00
skill-temporal-developer-updater[bot] 3c8ed616bd Implement planned topic: 0018-spring-ai (#185)
* Finalize draft for 0018-spring-ai

* Update references/java/integrations/spring-ai.md

* Update references/java/integrations/spring-ai.md

* Update references/java/integrations/spring-ai.md

* Update references/java/integrations/spring-ai.md

---------

Co-authored-by: skill-sync[bot] <skill-sync[bot]@users.noreply.github.com>
Co-authored-by: Donald Pinckney <donald.pinckney@temporal.io>
2026-05-14 14:03:01 -04:00
Donald Pinckney 812f32ee58 Add integrations catalog + per-language integrations/ layout (#151)
* Add integrations catalog and per-language integrations/ layout

Adds references/integrations.md as a single catalog table for third-party
plugins and integrations (one row per integration: language, what it does,
link to a reference file). Reference files live under
references/{language}/integrations/.

Pre-seeds the catalog by moving the existing Spring Boot reference into
the new layout (references/java/integrations/spring-boot.md) and updating
its inbound links.

SKILL.md gains a single 3-line "Third-Party Integrations" section pointing
at the catalog so SKILL.md no longer accrues a line per new integration.
Each language entry-point (java.md, python.md) gets a one-line pointer to
the catalog filtered to its language.

This lets open integration PRs (Spring AI, Google ADK, OpenAI Agents
sandbox) be rebased onto a consistent home: move their reference file
into references/{language}/integrations/ and add one row to
references/integrations.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Drop HTML contribution comment from integrations.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 13:46:18 -04:00
Donald Pinckney bd513b1f11 Separate out CLI installation instructions to file (#102) 2026-04-30 16:52:10 -04:00
Donald Pinckney 6495e5927f Cleanup and correct language of workflow initializers (#101) 2026-04-30 16:44:30 -04:00
Donald Pinckney 0e7a3125f8 Small tweak to worker setup wording (#100) 2026-04-30 16:06:59 -04:00
Devin Smaldore 8d05f55a5d Add Spring Boot integration reference for Java SDK (#74)
Covers auto-discovery mechanics, annotation layering (@WorkflowImpl vs
@ActivityImpl + @Component), WorkflowClient injection, worker lifecycle,
testing strategies, and Spring-specific gotchas. Updates java.md and
testing.md with pointers to the new reference.

Co-authored-by: Donald Pinckney <donald.pinckney@temporal.io>
2026-04-30 13:21:48 -04:00
Amir Benvenisti 26955d9cce Add Task Queue Priority and Fairness reference (#98)
Add a core reference file covering Priority (keys 1-5, inheritance,
when to use) and Fairness (keys, weights, virtual queues, round-robin
dispatch, rate limiting, weight overrides, enabling, limitations) with
SDK examples for Go, Java, Python, TypeScript, and .NET. Content is
grounded in the official Temporal docs.

Update SKILL.md to proactively surface Fairness when developers are
building multi-tenant applications, before they run into tenant
starvation problems.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-29 09:23:58 -07:00
Patrick Dewey 150c73371e docs: update go observability reference with up-to-date logging approach (#59) 2026-04-20 09:41:19 -04:00
Donald Pinckney d68413af30 Minor fixes to versioning.md (#64)
* Edits to python versioning fixes

* add missing workflow imports
2026-04-17 15:03:44 -04:00
Donald Pinckney 0843752be4 Run formatter over .NET (#87) 2026-04-17 14:41:28 -04:00
Donald Pinckney 44eba4e91c Add .NET SDK support to temporal-developer skill (#39)
* Add .NET reference files for temporal-developer skill

Created 11 .NET reference files covering: dotnet.md (overview/quick start),
patterns.md, determinism.md, determinism-protection.md, error-handling.md,
testing.md, versioning.md, observability.md, data-handling.md, gotchas.md,
and advanced-features.md. Follows Python/TypeScript patterns with .NET-specific
content for Task determinism, CancellationToken, dependency injection, etc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix .NET alignment issues from self-review

- dotnet.md: Reduce Determinism Rules section to brief cross-reference
  (was duplicating determinism.md content)
- patterns.md: Add ParentClosePolicy to Child Workflows example
- gotchas.md: Add missing "Heartbeat Timeout Too Short" subsection
- versioning.md: Add missing Key Concepts, Deployment Strategies,
  Query Filters, PINNED/AUTO_UPGRADE guidance, CLI examples
- advanced-features.md: Add worker-level heading for exception types

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix .NET correctness issues from verification pass

- patterns.md: Fix cancellation pattern to use official
  TemporalException.IsCanceledException(e) with detached CancellationTokenSource
- advanced-features.md: Fix DI hosting example to use official
  AddHostedTemporalWorker(clientTargetHost:, clientNamespace:, taskQueue:) pattern

Verified against official SDK README, API docs, and temporal-docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Update supported language references to include .NET

- SKILL.md: Add "Temporal .NET" and "Temporal C#" trigger phrases,
  update overview to mention .NET, add .NET entry in getting started
- core/determinism.md: Add .NET entry in SDK Protection Mechanisms

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Edits to advanced features

* edits to determinism protection, and move the .editorconfig section

* missed one

* edit determinism.md

* edit error-handling.md

* edit gotchas.md

* edit patterns.md

* edit versioning.md

* edit observability.md

* fix metrics

* self-review round 1

* minor correctness fixed

* Update references/dotnet/patterns.md

Co-authored-by: Justin Anderson <44687433+jmaeagle99@users.noreply.github.com>

* address comments, clarify reference to earlier code snippet

* clarify that operations are forbidden IN WORKFLOWS

* cleanup workflow cancellation handling example

* add task token retrieval comment

* update .net requirements

* Fix propagation of workflow cancellation

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Justin Anderson <44687433+jmaeagle99@users.noreply.github.com>
2026-04-17 14:28:02 -04:00
Donald Pinckney 33747f0438 Auto-formatting: ran mdformat --extensions frontmatter --number . (#81)
* Auto-formatting: ran `mdformat --extensions frontmatter --number .`

* manual tweaks

* manual tweaks
2026-04-17 10:11:47 -04:00
Donald Pinckney 7d5ae761ff Reduce repetition in determinism sans sandboxing (#67)
* Reduce repetition in determinism sans sandboxing.

* fix merge
2026-04-02 17:08:53 -04:00
Donald Pinckney 0c8586b4c2 Add Java SDK support (#42)
* Add Java SDK reference files (11 files)

Create complete Java reference documentation covering:
- java.md: Entry point with quick start tutorial, key concepts
- patterns.md: 17 patterns (signals, queries, updates, child workflows,
  saga, cancellation scopes, heartbeating, etc.)
- determinism.md: Safe alternatives table, forbidden operations
- determinism-protection.md: Convention-based enforcement (no sandbox)
- error-handling.md: ApplicationFailure, retry/timeout config
- gotchas.md: Non-deterministic operations, cancellation, heartbeating
- testing.md: TestWorkflowEnvironment, Mockito mocking, replay testing
- versioning.md: Workflow.getVersion(), worker versioning
- data-handling.md: Jackson, PayloadConverter, encryption, search attributes
- observability.md: SLF4J logging, Micrometer metrics
- advanced-features.md: Schedules, async completion, worker tuning

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix Java alignment issues from self-review

- Reduce gotchas.md Non-Deterministic Operations from ~94 lines to ~12
  (reference determinism.md instead of duplicating)
- Remove Workflow Failure Exception Types duplication from error-handling.md
  (keep only in advanced-features.md)
- Expand versioning.md Worker Versioning with Key Concepts, PINNED vs
  AUTO_UPGRADE, Deployment Strategies subsections
- Fix section names to match Python reference style:
  Activity Heartbeat Details, Handling Activity Errors,
  Retry Policy Configuration, Workflow Test Environment,
  Mocking Activities, Workflow Replay Testing
- Reduce data-handling.md Payload Encryption verbosity
- Reduce observability.md Logger Customization verbosity
- Reduce testing.md to single approach per section
- Rename determinism.md "Convention-Based Enforcement" to "SDK Protection"
- Fix handler guidance in patterns.md to match Python

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix correctness issues in Java reference files

- patterns.md: Fix Queries section — ActivityStub → typed interface
  (Workflow.newActivityStub returns the typed interface, not ActivityStub)
- data-handling.md: Add missing ProtobufPayloadConverter to default
  converter chain (4th of 5 converters)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add Java to SKILL.md and core/determinism.md

- SKILL.md: Add "Temporal Java" trigger phrase, update Overview to
  list Java, add Java entry to Getting Started references
- core/determinism.md: Add Java entry to SDK Protection Mechanisms
  (no sandbox, convention-based, NonDeterministicException at replay)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Apply manual editorial fixes to Java references

- java.md: Remove "Understanding Replay" section (covered by Overview),
  simplify File Organization note (no sandbox rationale)
- gotchas.md: Move Heartbeating before Cancellation, make Wrong Retry
  Classification brief with reference (not inline examples)
- error-handling.md: Remove editorializing from Workflow Failure note
- determinism-protection.md: Remove cross-language comparison paragraph
  (state Java's approach on its own terms)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add temporal-workflowcheck static analysis to Java determinism docs

- determinism-protection.md: Add "Static Analysis with temporal-workflowcheck"
  section with Gradle/Maven setup, manual run, and suppression instructions.
  Beta warning included.
- determinism.md: Update overview and SDK Protection to reference workflowcheck
- core/determinism.md: Update Java entry in SDK Protection Mechanisms

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Integrate feedback from Go PR into Java patterns

- Updates: Add validator note — validators must not mutate state or
  block (matches note added to Python, TypeScript, Go, and core)
- Saga Pattern: Use Workflow.newDetachedCancellationScope() for
  compensations so they execute even if the workflow is cancelled
  (mirrors Go's workflow.NewDisconnectedContext pattern)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* docs: add @WorkflowInit description to java.md Key Concepts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* mark java as supported

* Apply suggestions from code review

Co-authored-by: Brian Strauch <brian@brianstrauch.com>

* strongly recommend java 21+

* Softened stance on static checker and replay testing.

* address python/typescript sandboxing comment

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Brian Strauch <brian.strauch@temporal.io>
Co-authored-by: Brian Strauch <brian@brianstrauch.com>
2026-04-02 17:07:33 -04:00
Donald Pinckney 9b97ceebd0 [fix] Add missing section to TS's observability (#65) 2026-04-02 14:12:24 -04:00
Brian Strauch 57c08ef74b Add @workflow.init decorator to python.md Key Concepts (#57)
* docs: add @workflow.init decorator to python.md Key Concepts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Apply suggestion from @brianstrauch

* Update references/python/python.md

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 14:16:11 -07:00
Trevor J. Yao b040ae10b4 Fix Python reference bugs: incorrect API name, syntax error, broken cross-ref, misleading comment (#55) 2026-03-31 14:58:57 -04:00
Jackson Lo 68ebe14ff5 Fix typos and broken references across skill docs (#56)
- Fix missing trailing pipe in error-reference.md table header
- Fix wrong reference path in go.md (python -> go determinism-protection)
- Add missing .md extension to testing reference in go/determinism-protection.md
- Fix typos: "Activty" -> "Activity", "accomplised" -> "accomplished", "discourged" -> "discouraged"
2026-03-31 14:20:51 -04:00
Donald Pinckney e16c9b808a Add Go (supersedes other PR) (#38)
* progress on go

* Go translation workflow completed.

* missed a few spots

* Manual edits

* Address feedback

* Add gotcha about anonymous local activities

* Sample code for payload converter

* clarify sdk protection mechanisms
2026-03-18 21:18:45 -04:00
Donald Pinckney c013b87f87 Fix saga compensations to run under cancellation protection (#43)
When a workflow is cancelled mid-saga, compensations must run in a
cancellation-protected scope, otherwise they are immediately cancelled
before they can execute.

- Python: wrap compensation loop in asyncio.shield() so it runs even
  when the workflow receives a CancelledError
- TypeScript: wrap compensation loop in CancellationScope.nonCancellable()
  so it runs even when the root scope is cancelled (per official docs:
  "Cleanup logic must be in a nonCancellable scope")
- TypeScript: also fix compensation registration order — register BEFORE
  calling the activity (was already correct in Python)

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 18:41:25 -04:00
Donald Pinckney 8ad9233bb1 Fix typos and reference links (#36)
* Fix typos and reference links

* 2 more typo fixes
2026-03-07 09:44:11 -05:00
Donald Pinckney 766f8883fe Add TypeScript (#31)
Adds initial support for TypeScript to the skill

---------

Co-authored-by: James Watkins-Harvey <mjameswh@users.noreply.github.com>
Co-authored-by: Chris Olszewski <chrisdolszewski@gmail.com>
2026-03-07 09:41:32 -05:00
Donald Pinckney 87fe92e083 Remove multi-patching from Python, since its obvious, dont waste tokens on it. (#34) 2026-03-03 00:29:19 -05:00
Donald Pinckney 99a2d4a1eb Automated pass over on python cleanup & deduplication 2026-03-03 00:28:59 -05:00
Donald Pinckney 0692311a5a De-couple core from python and TypeScript as much as possible 2026-02-23 15:05:51 -05:00
Donald Pinckney 846cb449b9 remove ts directory 2026-02-23 15:05:51 -05:00
Donald Pinckney 14da16ad9f clean up ai-patterns.md 2026-02-23 13:46:43 -05:00
Donald Pinckney ec02f3822e Improve patterns.md 2026-02-23 13:46:43 -05:00
Donald Pinckney 663bbe47eb cleanup to top level of skill (like CLI install instructions), and to top-level of python 2026-02-23 13:46:43 -05:00
Donald Pinckney 79ecaf3f97 Lots of improvements to testing 2026-02-23 13:46:43 -05:00
Donald Pinckney cbfd857fbd de-duplicate content 2026-02-23 13:46:43 -05:00
Donald Pinckney f01763a45a cut a lot of duplicate stuff from python gotchas, address comments 2026-02-23 13:46:43 -05:00
Donald Pinckney ad4cc34bfa Cut otel for now 2026-02-19 12:12:06 -05:00
Donald Pinckney d61866b6d4 Cleanup observability.md, remove duplicated search attributes 2026-02-19 12:12:06 -05:00
Donald Pinckney 35c3bc55c1 Clean up references/python/sync-vs-async.md 2026-02-19 12:12:06 -05:00
Donald Pinckney 56dde7576b local activities aren't experimental 2026-02-19 12:12:06 -05:00
Donald Pinckney 0bc69b2e0a Unify sandbox stuff into one file 2026-02-19 12:12:06 -05:00
Donald Pinckney f36faca41f small edits 2026-02-19 12:12:06 -05:00
Donald Pinckney f0387e3743 remove multi-param activities 2026-02-19 12:12:06 -05:00
Donald Pinckney 3d43cd27f1 move idempotency patterns to patterns.md 2026-02-19 12:12:06 -05:00
Donald Pinckney f693cc742c error-handling.md cleanup 2026-02-19 12:12:06 -05:00
Donald Pinckney 8b7dffa088 don't explicitely provide defaults for retry policies 2026-02-19 12:12:06 -05:00
Donald Pinckney 3dcccb82eb Prefer start_to_close_timeout 2026-02-19 12:12:06 -05:00
Donald Pinckney bb46cb4b90 Improve references/python/data-handling.md 2026-02-19 12:12:06 -05:00
Donald Pinckney 322f85abd2 remove duplicated content from determinism.md, clean up 2026-02-19 12:12:06 -05:00
Donald Pinckney e945f1da5e Use explicit namespace in connect 2026-02-19 12:12:06 -05:00
Donald Pinckney 1c185b6455 Improve references/python/advanced-features.md 2026-02-19 12:12:06 -05:00
Donald Pinckney d4d9921adb clarify on heartbeating of async activity completions, and prompt it a bit in relation to signals 2026-02-19 12:12:06 -05:00
Donald Pinckney e10cbb8fa3 remove dynamic workflows 2026-02-19 12:12:06 -05:00