From 098a738891829d2052f39427236b9ffeb3588d21 Mon Sep 17 00:00:00 2001 From: Chuck Date: Sat, 30 May 2026 10:47:33 -0400 Subject: [PATCH] fix(plugin-loader): fail-fast when install_dependencies returns False MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously the boolean result was silently discarded, so a failed pip install would log a warning but continue attempting to import the plugin module — resulting in a confusing ModuleNotFoundError instead of a clear dependency failure message. Now raises PluginError with plugin_id and plugin_dir if dependency installation fails, stopping the load before the import is attempted. Co-Authored-By: Claude Sonnet 4.6 --- src/plugin_system/plugin_loader.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugin_system/plugin_loader.py b/src/plugin_system/plugin_loader.py index 654162b8..7fd426aa 100644 --- a/src/plugin_system/plugin_loader.py +++ b/src/plugin_system/plugin_loader.py @@ -609,7 +609,12 @@ class PluginLoader: """ # Install dependencies if needed if install_deps: - self.install_dependencies(plugin_dir, plugin_id, plugins_dir=plugins_dir) + if not self.install_dependencies(plugin_dir, plugin_id, plugins_dir=plugins_dir): + raise PluginError( + f"Dependency installation failed for plugin {plugin_id} in {plugin_dir}", + plugin_id=plugin_id, + context={'plugin_dir': str(plugin_dir)}, + ) # Load module entry_point = manifest.get('entry_point', 'manager.py')