Skip to content

Vendored the stream record envelope on the external-stream Core. - #15

Closed
moetemp wants to merge 2 commits into
moe/AI-198-ch-ext-core-2-machinesfrom
moe/AI-198-if-ext-core-3-record-envelope
Closed

moetemp wants to merge 2 commits into
moe/AI-198-ch-ext-core-2-machinesfrom
moe/AI-198-if-ext-core-3-record-envelope

Conversation

@moetemp

@moetemp moetemp commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

This PR vendors the stream record envelope into Max's external-stream Core.

What changed?

  • temporal/api/stream/v1/message.proto comes in as it is in the record envelope api PR (Added the stream record envelope proto. api#4): StreamRecord and StreamRecordKind, nothing else.
  • The file is a compile root in the protos crate, since nothing in the workflow service imports it yet. The stream package gets the serde derive and a pub mod.

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

Why?

The external interface in the Python SDK writes StreamRecord as its record format. Python generates its protos from Core's vendored tree, so the envelope has to be there first. The rest of the stream api doesn't belong to the interface and stays out of this lineage until the unified Core. The payload-limit entries for StreamRecord come with that, because the check only counts fields a service message reaches.

How did you test it?

Link to a test plan if any -

  • Unit Tests
  • Staging
  • End to End Tests

The workspace builds, the generated temporal.api.stream.v1 module has both types, the lints and fmt are clean, and the Core and common lib suites pass.

The external stream interface writes `StreamRecord` as its record format, so
lang code generated from these protos can import it. Nothing in the
workflow service refers to it yet, so it is compiled as its own root.
@moetemp

moetemp commented Oct 5, 2026

Copy link
Copy Markdown
Owner Author

Replaced by #27 and #28 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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant