Get the next unread relay message. One call — returns full message
body and auto-acks. Long-poll (60s timeout).
This is the agent's idle loop. Call it, get a message or None, act or
re-call. No separate inbox + ack dance.
The agent's loop:
1. nucleus_next_message() → blocks up to 60s for a message
2. If message: handle it (execute task, respond to comment, etc.)
3. Re-call nucleus_next_message() — always re-arm, never sit idle
4. Never stop the loop
Role is auto-detected from posture (.brain/posture/current.json).
No args needed.
Returns:
dict with:
message: full relay message (id, from, subject, body, priority, task_id) or None
acked: True if message was auto-acked
waited_seconds: how long the poll ran