Review the remediation plan
review_planView the latest scan's remediation plan. Use for "what should I fix?". For the next batch of work with implementation instructions, use get_next_remediation_task_set instead.
The plan includes resolved controls. Implement controls whose
remediation_category is 'automatable'. Controls are ordered must_implement,
then legacy nice_to_have, then covered, each by priority_rank. Show
severity to the user.
analysis_job_id reads the plan of an earlier analysis; without it, the
latest. scan_id in the reply names the scan the plan comes from. analysis_in_progress=true
means a scan other than this plan's is running and this plan is from the
last complete scan; tell the user.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "review_plan"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Project ID (provide either project_id or project_name) | |
| project_name | No | Project name (provide either project_id or project_name) | |
| analysis_job_id | No | Analysis job id whose plan to review. Defaults to the latest completed analysis. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | True when the call itself failed. False for successful calls, including a scan still running, an already approved plan, or a repository classified as non-agentic. The reason field describes these workflow states. | |
| reason | No | A stable snake_case code from the allowed set. Present on every error and on successful calls that carry a workflow state. | |
| message | No | Exactly one sentence written for the user. Never raw exception text or a backend error string, which may expose private details. | |
| scan_id | No | The scan whose analysis produced this plan. Null when Trent does not name one: a legacy analysis, or a Trent version that does not send it. | |
| controls | No | All remediation controls sorted must_implement first, with control_status. When the Trent workspace files tickets, a control on a ticket carries 'ticket' (key, url, trent_state). | |
| metadata | No | Caller metadata, such as 'expiration_warning'. Substantive results have their own fields. Never includes exception or backend error text, which may expose private details. | |
| next_steps | No | Recommended next actions, in order. | |
| controls_from | No | Which report the control_status values come from: scan_id, and report_is_stale / report_stale_reason when a newer scan exists than that report. | |
| analysis_job_id | No | Analysis job identifier for the plan. | |
| retry_after_seconds | No | With reason rate_limited, how many seconds Trent asks the caller to wait. | |
| analysis_in_progress | No | True when a scan other than this plan's is running, so this plan is from the last complete scan and may change when that scan finishes; say so. False while the plan's own scan settles. Null when Trent does not say. | |
| classification_breakdown | No | Counts every control in the plan by classification, including completed and covered ones: the set get_security_posture's control_total counts. |