{"id":"stream-join-one-to-many","text":"A single event can match multiple events on the opposite side; the matched flag is set on all participants, so none produce outer-join misses","truth_value":"IN","source":"entries/2026/05/29/stream-join-processor-stream_join_processor.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"for buffered in opposite_buffer[key]:\n    if self._window.contains(event.timestamp, buffered.event.timestamp):\n        result = JoinResult(key, left_event, right_event, ...)\n        results.append(result)  # one event matches many"},"explanation":{"steps":[{"node":"stream-join-one-to-many","truth_value":"IN","reason":"premise"}]}}