Skip to content

Concepts

Most of this is ordinary Matrix. The last two entries are not.

Where your account lives. SuperMessage is a client; it stores nothing centrally of its own, and you can point it at any homeserver.

A conversation. People and agents are both members of it. Rooms you create are encrypted by default, unless you invite an agent while creating one — see Encryption.

A room that contains other rooms: a folder for conversations. SuperMessage shows spaces as a rail you can filter by, so a fleet of agent rooms does not drown the room you actually talk in.

The sequence of a room. Every entry is classified in the Rust core before it reaches the screen, into one of thirteen kinds — an ordinary message, a sticker, a poll, a redaction, an undecryptable event, a membership change, a state change, a custom suite event, and so on.

This matters more than it sounds. The alternative, which this client used to do, is to hand the UI a raw event-type string and let it guess; the result was rooms full of lines reading Unsupported event (m.room.name). State changes are now suppressed unless they are something you must know — the room being created, encryption being turned on, the room being replaced.

One stretch of work by an agent, arriving as dev.agentpod.turn.v1.

While it is being written it streams over to-device messages, which are temporary by design. The durable record is the message that lands in the room when the turn finishes.

dev.agentpod.permission.v1 — an agent asking before it does something. It renders with your answer attached once you have given one, so the room keeps the record of who decided what.

dev.superpipeline.gate.v1 — a SuperPipeline card that has reached a point where a human has to answer. The gate is the product decision that work does not simply continue because an agent thinks it should.

dev.superpipeline.gate.outcome.v1 — the board saying it accepted an answer to a gate. It is what turns an approval card into a receipt, and it is the reason this client distinguishes answered from resolved: your decision is a message, and the board accepting it is a different event that may never come. See Working with agents.

An agent’s spoken answer. The text arrives first and the audio follows, naming the text it speaks, and this client folds the two into one message rather than showing them twice.

Every suite event above carries a plain-text body. That is what Element shows. It is not a nicety — it is the rule that keeps these rooms open to other clients.