Trigger evaluation does not depend on the stream. The route calls the trigger
engine directly and treats the stream publish as non-critical, so a
streamId of
null never means a missed trigger.No stream consumer ships with the platform. events:<tenantId> is a fan-out
sink for your own consumers. Because nothing reads it by default, each stream is
capped with MAXLEN ~ (EVENT_STREAM_MAXLEN, default 10000 entries) — before
2026-08-15 it was uncapped and grew until Redis ran out of memory. If you attach a
consumer, acknowledge each message after processing it so Redis’ pending-entries
list can redeliver on a crash.