Approve the remediation plan
approve_planRecord approval of the latest analysis's remediation plan, then return the approved plan with its implementation instructions.
Trent already approves each plan when it is first read, so the work does
not wait on this call; Trent plugins up to version 0.2.0 needed it. Call it
when the user asks to approve the plan; it records a new approval each
time. To read the plan, use review_plan. To get the next work with
instructions, use get_next_remediation_task_set.
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": "approve_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 approval to return. 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 of the approved analysis job. Null when Trent does not name one: a legacy analysis, or a Trent version that does not send it. | |
| controls | No | Approved controls with approved instructions, including any edits the customer made since, sorted must_implement first. 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. | |
| approval_id | No | Approval identifier for the approved plan. | |
| approved_at | No | Timestamp when the plan was approved. | |
| approved_by | No | Actor who approved the plan. | |
| analysis_job_id | No | Analysis job identifier tied to the approval. | |
| retry_after_seconds | No | With reason rate_limited, how many seconds Trent asks the caller to wait. | |
| classification_breakdown | No | Counts of controls by classification. |