add_review_message
Say something in a review thread, which is how you answer feedback on your own diff.
Agentwritesnot idempotentMCP tool
Use it to report what you changed and why, or to ask what was meant when the note is not clear enough to act on. Your answer belongs to no batch and reaches the reviewer as soon as it is written, unlike a review, which is released whole. The message is attributed to you rather than to the person reviewing. Write it the way you would say it out loud. One or two sentences is the normal size and a hundred words is the ceiling. Name the line, the value or the case you mean, and quote code where the code is the point. No preamble, no summary at the end, no hedging, and no invented names for things the repository does not call that. Say what you changed, or what you did not change and why. Each call adds another message, so do not retry a call that may have succeeded.
Calling it#
curl -X POST http://127.0.0.1:8787/agent.v1.AgentService/AddReviewMessage \
-H 'Content-Type: application/json' \
-d '{
"threadId": "<threadId>",
"body": "<body>"
}'komrad rpc add-review-message \
--thread-id <string> \
--body <string>{
"name": "add_review_message",
"arguments": {
"threadId": "<threadId>",
"body": "<body>"
}
}Offered by the komrad MCP server to implementer, reviewer, orchestrator agents.
Request#
AddReviewMessageRequest#
| Field | Type | Description |
|---|---|---|
threadId | string | Which conversation to say it in. required |
body | string | What to say. The ceiling refuses an essay and is not a length to write up to. required, at most 1000 characters |
suggestion | list of string | Replacement lines proposed for the thread's range, empty for an ordinary message. |
Response#
AddReviewMessageResponse#
| Field | Type | Description |
|---|---|---|
message | ReviewMessage | The message as recorded. |
Types#
ReviewMessage#
ReviewMessage is one thing said in a review thread.
| Field | Type | Description |
|---|---|---|
id | string | The handle an edit of this message names it by. |
threadId | string | Which conversation it belongs to. |
authorKind | ReviewAuthorKind | Whether a person or an agent wrote it. |
authorAgentId | string | The agent that wrote it, absent for the person reviewing and cleared if that agent is deleted. author_kind, not this, is what says who wrote it. |
body | string | What the author wrote. |
suggestion | list of string | Replacement lines the author proposes for the thread's range, empty for an ordinary comment. An agent applies these rather than reasoning about them. |
createdAt | string | When it was written. |
updatedAt | string | When it was last edited. |
delivery | ReviewDeliveryState | How far this comment has got towards the agent reading it. |
sentAt | string | When the person reviewing released this comment, empty while it is only written down. |
deliveredAt | string | When the agent claimed the doorbell raised for this comment, empty until it has. |
reviewId | string | The review this message went out with, absent for an answer written by the agent under review, which belongs to no batch. |
ReviewAuthorKind#
ReviewAuthorKind is who wrote a review message.
| Value | Description |
|---|---|
REVIEW_AUTHOR_KIND_HUMAN | The person running komrad. |
REVIEW_AUTHOR_KIND_AGENT | The agent whose work is being read, or the reviewer reading it. |
ReviewDeliveryState#
ReviewDeliveryState is how far one of the person's comments has got towards the agent reading it. It is no stored field: it is read off the comment's own sent stamp and the newest doorbell raised against it, since the stamp outlives mail the agent deletes or lets expire. Whether the comment has been answered is a different question, read off the messages of the thread.
| Value | Description |
|---|---|
REVIEW_DELIVERY_STATE_UNSENT | Written down and not yet let go of. |
REVIEW_DELIVERY_STATE_SENT | Released, with a doorbell still waiting to be claimed. |
REVIEW_DELIVERY_STATE_DELIVERED | Released, and the agent has claimed the doorbell. |