pub fn is_exempt_tool(tool_name: &str, extra_exempt_tools: &[String]) -> bool
判断工具名是否应被豁免(KeyTool + 用户扩展清单)
内部统一走 policy::is_key_tool,用户扩展清单作为附加覆盖。
policy::is_key_tool