moa_tower_review
Submit a review verdict for an assigned branch. Resolves the branch tip via git rev-parse and gates merges on clean reviews of the exact current tip.
Instructions
Submit a review verdict for an assigned branch (reviewers and the tower only). The store assigns the round (your history + 1) and stamps the branch tip — the tool resolves the tip itself via git rev-parse, never trusting a self-reported commit. Only a "clean" review of the exact current tip passes the merge gate; the gate consumes clean rounds only. The merge field (merge/fix-then-merge/hold) is ADVISORY for the tower only — it has NO gate effect: the gate never reads it, and a non-clean verdict blocks regardless of what merge says.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"workspace": "<workspace>",
"caller_agent_id": "<caller_agent_id>",
"target": "<target>",
"status": "<status>",
"merge": "<merge>",
"findings": "<findings>",
"decision": "<decision>"
},
"name": "moa_tower_review"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| merge | Yes | Merge recommendation for the tower (advisory only — no gate effect; the gate consumes only "clean" verdicts of the current tip) | |
| checks | No | Checklist items you verified (e.g. "tests pass", "no secrets") | |
| status | Yes | Verdict vocabulary — literal forms: "clean", or "p1-Nitems" / "p2-Nitems" with N the number of findings at that priority, e.g. "p1-2items", "p2-4items" | |
| target | Yes | The branch you were assigned to review | |
| decision | Yes | The reasoning behind your verdict | |
| findings | Yes | Full findings text (markdown); write "none" when clean | |
| workspace | Yes | The absolute repo root (main checkout) this tower namespace anchors to. Required on every tower tool — the server cwd is never used as a fallback. | |
| caller_agent_id | Yes | Your engine agent id. The tower tools resolve it against the boot-registered roster (the booted tower, or a spawned worker/reviewer). |