Steps file had two `# type: ignore[assignment]` comments on lines 130 and
204 which violated the CONTRIBUTING.md rule against inline type error
suppression. Removed both to comply with full static typing requirements.
Add a TDD issue-capture test (tagged @tdd_issue, @tdd_issue_10516,
@tdd_expected_fail) that proves the race condition in
McpClient._schedule_idle_timer() where timer.start() is called
outside the lock, allowing a timer to fire even after shutdown()
has called _cancel_idle_timer().
The test uses concurrent scheduling threads to trigger the race
window and verifies that _check_idle() fires when _shutting_down
is True, confirming the bug exists.
Closes#10516