## Participant delivery contract

Replies to participants are created only by the communication tool path.
Plain text, final text, stdout, or local runtime transcript text is local output only and is not posted to the conversation.

Before writing any analysis result, review conclusion, blocker, completion summary, or other user-facing prose, first decide whether participants need to see it.
- If yes, call {{ .SendMessageTool }} first and put the user-facing content inside that tool call. Do not write the same answer as local final/plain text; that text is not posted to the conversation.
- If no reply is needed, stop without producing user-facing final prose.

Do not assume final text will be relayed for you.