Skip to content

Pinned the channel Core on the external base and regenerated the protos. - #24

Closed
moetemp wants to merge 1 commit into
moe/AI-198-ch-pyext-0-backportsfrom
moe/AI-198-ch-pyext-1-core-pin
Closed

moetemp wants to merge 1 commit into
moe/AI-198-ch-pyext-0-backportsfrom
moe/AI-198-ch-pyext-1-core-pin

Conversation

@moetemp

@moetemp moetemp commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

This PR pins the external-streams Core that carries notification channels and regenerates the Python protos from it.

What changed?

  • temporalio/bridge/sdk-core points at the channel Core built on this branch's own Core base. .gitmodules now names moetemp/sdk-rust, since the old URL doesn't have the commit.
  • The rest is what poe gen-protos writes from that pin: the notification/v1 package, the channel commands, events and failed causes, ChannelSubscriptionInfo, the five channel RPCs and their messages, the NotificationsReceived job and the two channel commands in the bridge protos. The pin forces the _visitor.py, services_generated.py and client_rpc_generated.rs changes too.

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

Why?

The channel surface in the next PR needs these types and RPCs. Keeping the pin on its own means that PR shows only hand-written code. The old external branch layered the api diff over the vendored protos with scripts/gen_stream_api_protos.py. That script isn't coming back, because this Core vendors the channel api itself and plain poe gen-protos covers it. There's no stream api in here yet.

How did you test it?

Link to a test plan if any -

  • Unit Tests
  • Staging
  • End to End Tests

The bridge builds, and poe bridge-lint and poe lint are clean. The Nexus system generator runs again on this pin and gives back the committed output. The client, visitor and external stream suites pass on the dev server the fixtures start. Nothing calls the new types yet. That starts in the next PR.

The channel protos, the NotificationsReceived job and the subscribe and
unsubscribe commands come from this Core, so the Python protos, the payload
visitor and the client RPC bindings are regenerated from it with plain
gen-protos.
@moetemp

moetemp commented Oct 5, 2026

Copy link
Copy Markdown
Owner Author

Replaced by #71 in the v4 series: one lineage through the channel and the interface, with Max's Option 7 prototype replayed onto it. The branch stays as a pin.

@moetemp moetemp closed this Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Changelog entry rides another PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant