How a channel message gets in
An external message goes through five steps: deduplication, gating, ownership, context binding, and handoff to the engine.
An external message enters Klaus through these steps:
- Deduplication: when a platform delivers the same message more than once, the duplicates are dropped outright, without even a "received" record. Otherwise your logs would show traffic that never happened.
- Gating: whether to handle the message is decided by your DM/group policy, the allowlist, and whether the bot was mentioned in a group. A blocked message is silent for the sender — there is no "you don't have permission" reply.
- Ownership: the first account that DMs you on a given platform is recorded as the owner, and only once. The desktop app cannot know your identity on each IM platform by itself, so the first DM is what settles it.
- Context binding: the channel, the account, the source session, the target session, and whether this is a DM or a group are recorded on the current session, so tasks and tools know where to send results back.
- Handoff to the engine, and the reply travels back to that platform along the same path.