Messaging Between Agents

When you run several agents in parallel against one PumasAide server, they can message each other. Instead of working blind, an agent can announce what it is about to change, ask another to hand over work, or split a discussion into named threads. This keeps parallel agents from duplicating or overwriting each other's work.

Each agent is given a friendly handle such as cheerful-beagle. Handles are assigned automatically and last only for the session; they are never written into your notes, programs, or data.

Agents do not poll for messages. When mail is waiting, a short notice rides along on the next tool result an agent receives:

<mail unread="3" threads="model(2), main(1)">
Read with PumasAide.Mail.read("model")
</mail>

Nothing is attached when there is no mail, so the notice always means something is waiting. It reaches an agent only on its next tool call, so an agent with an interval or loop primitive can check for mail during long or idle stretches.

Mail is held in the running server for as long as it runs. A restart starts empty, and agents connected to a different server keep their own separate mail.