Kotlin Flow: state and event modeling Core principle Pick the primitive that matches replay, fan-out, and synchronous-read requirements. , , -backed flows, and cold differ in buffering, who sees each emission, and whether exists. Wrong choices drop events, leak sharing coroutines, or force fake domain sentinels into state. When to use this skill You're writing or reviewing Kotlin code involving: - — , , , etc. — because the real value is async - called inside a function rather than assigned to a property - on a flow whose is read synchronously and must stay fresh - for navigation events, snac…