Skip to content

Pinned the Option 7 (external streams) Core and regenerated protos. - #100

Open
moetemp wants to merge 3 commits into
moe/AI-198-s1-py-10-query-publish-refusalfrom
moe/AI-198-s1-py-11-core-pin
Open

moetemp wants to merge 3 commits into
moe/AI-198-s1-py-10-query-publish-refusalfrom
moe/AI-198-s1-py-11-core-pin

Conversation

@moetemp

@moetemp moetemp commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

This PR pins the Option 7 Core, Max's External Workflow Streams prototype in Core, and regenerates the bridge protos from it.

What changed?

temporalio/bridge/sdk-core points at the top of the Option 7 Core chain, the zero-cache retention fix in moetemp/sdk-rust#42. poe gen-protos from that pin adds Max's external_stream package to the bridge protos, his external stream jobs and commands in the activation and command protos, and the external_data additions. Nothing under temporalio/api changes, since the envelope is pinned lower, in #90.

Three ### Fixed changelog lines describe the Core fixes this pin brings: a wake met during cold replay resumes the waits, a stale wait no longer forces an output replacement task, and a retained task stays alive with the cache off.

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

Why?

Max's Python commits in the next PR expect his Core. Pinning first, with the regen, settles the gitlink and every generated file before the import. His commits that only moved the pin or regenerated protos then drop out as empty, and the import shows his hand-written code. One pin covers the whole Option 7 Core, since the Rust chain is finished before the Python side starts.

The earlier version pinned a Core with a channel wake on top and carried the report command it used. The notification channel is paused per the 2026-10-05 design review, so the pin stops at the retention fix and Max's reserved Signal is the wake.

How did you test it?

Link to a test plan if any -

  • Unit Tests
  • Staging
  • End to End Tests

The bridge builds, the lint set is clean (ruff, pyright, mypy, basedpyright, pydocstyle and the bridge's clippy), and a second poe gen-protos leaves the tree as committed. tests/streams, the replayer and the workflow and activity suites pass on the dev server the fixtures start.

The regen from this pin brings in the external stream bridge protos the runtime's commands and activation jobs use.
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