| @@ -27,9 +27,9 @@ | ||
| 27 | 27 | function metasync_safe_register_mcp_tool($server, $class_name) { |
| 28 | 28 | static $logged_missing = []; |
| 29 | 29 | if (!class_exists($class_name)) { |
| 30 | 30 | if (empty($logged_missing[$class_name])) { |
| 31 | - error_log('MetaSync MCP: ' . $class_name . ' class not found — skipping registration. Run composer dump-autoload to regenerate the classmap.'); | |
| 31 | + error_log('MetaSync MCP: ' . $class_name . ' class not found — skipping registration. Run composer dump-autoload to regenerate the classmap.'); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log -- genuine failure path, bounded, no secrets | |
| 32 | 32 | $logged_missing[$class_name] = true; |
| 33 | 33 | } |
| 34 | 34 | return; |
| 35 | 35 | } |
| @@ -35,9 +35,9 @@ | ||
| 35 | 35 | } |
| 36 | 36 | try { |
| 37 | 37 | $server->register_tool(new $class_name()); |
| 38 | 38 | } catch (\Throwable $e) { |
| 39 | - error_log('MetaSync MCP: Failed to register tool ' . $class_name . ': ' . $e->getMessage()); | |
| 39 | + error_log('MetaSync MCP: Failed to register tool ' . $class_name . ': ' . $e->getMessage()); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log -- genuine failure path, bounded, no secrets | |
| 40 | 40 | } |
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | /** |
| @@ -66,9 +66,9 @@ | ||
| 66 | 66 | |
| 67 | 67 | // SEO Inventory: shared builder + standalone REST endpoint |
| 68 | 68 | new Metasync_REST_SEO_Inventory(); |
| 69 | 69 | } catch (\Throwable $e) { |
| 70 | - error_log('MCP Server Initialization Error: ' . $e->getMessage()); | |
| 70 | + error_log('MCP Server Initialization Error: ' . $e->getMessage()); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log -- genuine failure path, bounded, no secrets | |
| 71 | 71 | return; |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | // Helper: register a single tool, logging failures without aborting subsequent registrations |