diagnose
Sweep the ROS 2 graph and DDS bus in one call to detect, rank, and explain issues with evidence and suggested fixes.
Instructions
Answer "is anything wrong": sweep the ROS 2 graph and DDS bus in one call and rank what is found as a Diagnosis. Checks, in order: environment, nodes, topics, dds (QoS pairs, restarts), tf (8 s window), logs (/rosout errors), responsiveness (parameter reads, node first, params_file diff); scope runs one group. findings are critical, warning or info, with evidence and suggested_fixes (QoS changes, else read-only commands); verdict is one line. A check that errors or runs out of budget_s is in checks_skipped, never a tool error, and the verdict then says it is not verified. A clean result does not prove data flows. Mock mode: fixtures. Duration: holds the ROS lock up to budget_s and ends within 45 s; other ROS tools get busy meanwhile, health_check stays free.
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": "diagnose"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| node | No | Node read first (6 s); a failed read is critical. | |
| scope | No | `all`, or one group: `graph`, `tf`, `dds`, `logs`. | all |
| budget_s | No | Seconds for the sweep, 10..40, default 30. | |
| params_file | No | With `node`: parameter `.yaml` to compare. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | One sentence of context, or `None`. | |
| verdict | Yes | One line; never an all-clear after a skipped check. | |
| budget_s | Yes | ||
| findings | Yes | Critical first; at most 50. | |
| elapsed_s | Yes | ||
| checks_run | Yes | ||
| info_count | Yes | ||
| warning_count | Yes | ||
| checks_skipped | Yes | Not verified. | |
| critical_count | Yes | Counts cover all findings, not the capped list. | |
| findings_total | Yes | ||
| mode_effective | Yes | `live` or `mock` (fixtures). |