Skip to content

Added the notification channel service. - #2

Closed
moetemp wants to merge 1 commit into
mainfrom
moe/AI-198-ch-api-1-channel-service
Closed

moetemp wants to merge 1 commit into
mainfrom
moe/AI-198-ch-api-1-channel-service

Conversation

@moetemp

@moetemp moetemp commented Oct 3, 2026

Copy link
Copy Markdown
Owner

This PR adds the notification channel service to WorkflowService.

What changed?

  • New temporal/api/notification/v1 package with Notification, ChannelListener, WorkflowListener and ChannelKind.
  • Five RPCs after SignalWorkflowExecution: NotifyChannel, RegisterChannelListener, UnregisterChannelListener, PollChannel and DescribeChannel, with their request and response messages.
  • Each RPC has HTTP routes for an independent channel and for a channel linked to a workflow or an activity. The optional execution on a request picks the linked one.
  • Each RPC sets temporal-resource-id to channel:<name>, like the other RPCs set theirs. Every channel request names a channel, and execution only narrows it to a linked owner.
  • openapi/ regenerated.

Part of AI-198 (epic AI-37).

Why?

A writer that wants to wake its consumers today has to know each one and Signal it, and every wake-up lands in the consumer's History. A channel flips that around. The writer names a channel, not an addressee, and never learns who listens. Callbacks get invoked and clients long poll. Workflows come in the next PR.

How did you test it?

Link to a test plan if any -

  • Unit Tests
  • Staging
  • End to End Tests

make buf-lint, make api-linter and make http-api-docs are clean. I also ran make go-grpc and built the output in a scratch module, and it builds and vets fine. The server, Core, Python and CLI PRs in the series hit these RPCs end to end against a fork server.

A channel tells its listeners that a source they consume has moved, without
carrying the data. These RPCs let a client notify, poll, describe and manage
the callback listeners of a channel.
@moetemp

moetemp commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

Paused per the 2026-10-05 design review (the decision record is on the proposal page, section 14). Resumes in phase 2 with the CHASM notification work. The branch stays as a pin.

@moetemp moetemp closed this Oct 6, 2026
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