Fix Buzz live fan-out across multiple channels - #1015
Merged
Conversation
olegbrok
marked this pull request as ready for review
August 7, 2026 04:23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
REQper authorized channel, each with a unique subscription ID,kinds: [9, 20002], one#hvalue, and no wiresince.sinceor a filter carrying multiple#hvalues.Root cause and impact
The production relay returns stored events and EOSE for multi-channel filters but does not live-fanout new events to them. Release 26.08.011 removed the independent wire-
sincetrigger, but its single main subscription still carried both configured channels in one#harray. Splitting the live stream by channel removes both relay triggers while preserving the client-side replay floor and exactly-once durable delivery.The active heartbeat probe intentionally remains one aggregate, bounded
REQwith multi-#h,since, andlimit: 1: tonight's controlled matrix proved that stored-query/EOSE path works, and the probe does not rely on live fan-out.Validation
uv run --frozen pytest -q tests/test_buzz_inbound_poller.py— 7 passeduv run --frozen pytest -q tests/test_buzz_*.py— 62 passeduv run --frozen pytest -q tests/test_agent_registry.py— 117 passeduv run --frozen ruff check .— passedgit diff --check— passedThe repository-wide local run reached 829 passed / 2 skipped before being stopped in an unrelated environment-bound API test: the live daemon already owned port 8890, so the shared-MCP fixture failed to bind and the manual-dream test escaped its mocked runner into tmux. GitHub CI remains the clean full-suite gate for this exact head.