Skip to content

Conversation

@yiminc
Copy link
Member

@yiminc yiminc commented Jan 26, 2026

Summary

Introduces a System Nexus Endpoint feature that enables workflows to invoke built-in Temporal server operations using the existing Nexus infrastructure.

What's included:

  • Design document (docs/architecture/system-nexus-endpoint.md)
  • Implementation plan (docs/architecture/system-nexus-endpoint-implementation-plan.md)
  • Initial implementation of WaitExternalWorkflowCompletion operation
  • Integration tests

Motivation

Instead of adding new commands and history events for each new workflow capability (like waiting for external workflow completion - #680), we leverage the Nexus operation model to extend workflow functionality in a uniform, extensible manner.

Key Design Points

  • No user-defined endpoint required - workflows specify __temporal_system endpoint
  • Server-side handling - requests route directly to History service via callback mechanism
  • Reuses existing infrastructure - Nexus operation state machines, outbound queues, callbacks, and events
  • Extensible - new system operations can be added without new command types
  • Namespace isolation - system operations only work within the same namespace

Test plan

  • Unit tests for system nexus operation handlers
  • Integration tests for WaitExternalWorkflowCompletion scenarios
    • Wait for already completed workflow
    • Wait for running workflow to complete
    • Wait for workflow that fails

🤖 Generated with Claude Code

yiminc and others added 2 commits January 26, 2026 12:35
- Add System Nexus Endpoint registry and handler infrastructure
- Implement WaitExternalWorkflow operation with callback-based completion
- Generate callback tokens lazily for system nexus invocations
- Add functional test for WaitExternalWorkflow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant