#5835 "MCP: swarm nodes", step 2 of milestone 520. list_swarm_services already listed every node (role, leader, availability, status); the audit missed it. What was missing: - Each node row carries `host_id` (the Steward host of that name) and `maintenance` (the state of a maintenance job running on it), so an agent can go node -> get_host / get_maintenance_job. - get_overview names a node whose status isn't ready, unless its host has a maintenance job running (rebooting on purpose). - Drained alone is not a finding: VDNT-Util01 is a manager kept drained on purpose (#5777), and a drain a failed job left behind is already that job's maintenance_failed finding. unique_nodes() keeps the newest report of each node, as the list did. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>