Skip to content

[Brook] Pinned the v4 crate and regenerated the Stream bindings. - #341

Closed
moetemp wants to merge 5 commits into
moe/brook/v3/p18-store-capabilitiesfrom
moe/brook/v4/p19-crate-pin
Closed

moetemp wants to merge 5 commits into
moe/brook/v3/p18-store-capabilitiesfrom
moe/brook/v4/p19-crate-pin

Conversation

@moetemp

@moetemp moetemp commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

What changed?

This PR pins the v4 crate, sdk-streams s14 62544055, and regenerates the Stream bindings from the synced WIT and protos.

The vendored protos now equal the crate's: StreamRef.backend = 4, CreateStreamRequest.auto_close = 5, DescribeStreamResponse.auto_close = 4, the reserved idle_timeout (9) and STREAM_RECORD_KIND_IDLE (4), and the new extension calls FlushRunBuffer and WriteRecords. The WIT copy takes the same fields, drops idle-timeout from the long poll, and has no @nexus.one-way (S78), so append_records and close_stream are awaited stubs that return the response.

The current facade follows the pin: the Workflow stubs go through the same _now call as create_stream, and the reads lose idle_timeout and the Idle item, since the crate no longer writes one (S75).

A later commit moves the pin from s14 60bf1cee to 62544055, where every failed Workflow flush names the Stream and the Topic.

Why?

The v4 API (decisions S62 to S79) needs these crate changes: reads without idle, auto-close, the backend name on a ref, the run-buffer flush before a Local Activity, and an awaited write for Activities and clients. The layers above build on this pin.

How did you test it?

pytest tests/contrib/streams on the memory Store and on a scratch redis-server, against the stock dev server. test_vectors matches the crate's protos at the new pin. pyright, mypy, basedpyright, ruff on the changed files.

  • Unit Tests
  • Staging
  • End to End Tests

@moetemp

moetemp commented Oct 25, 2026

Copy link
Copy Markdown
Owner Author

Closing as stale. This layer is folded into the v5 tip, #365, and the upstream review uses a fresh series instead. Plan: https://www.notion.so/4048fc567738814990b7c796ac28fe3f

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