nlsq.diagnostics.run_plugins¶
- nlsq.diagnostics.run_plugins(jacobian, parameters, residuals, **context)[source]¶
Execute all registered plugins with exception isolation.
This function runs each registered plugin’s analyze() method and collects the results. If a plugin raises an exception, it is caught, logged via warnings, and the plugin’s result is marked as unavailable. Other plugins continue executing normally (FR-014).
- Parameters:
jacobian (np.ndarray) – Jacobian matrix at solution (n_residuals x n_params).
parameters (np.ndarray) – Fitted parameters.
residuals (np.ndarray) – Residuals at solution.
**context (Any) – Additional context for plugins: - xdata: Independent variable data - ydata: Dependent variable data - bounds: Parameter bounds - model: Model function - config: DiagnosticsConfig
- Returns:
Mapping of plugin name to result. If a plugin fails, its result has available=False with error_message.
- Return type:
Example
>>> from nlsq.diagnostics import run_plugins >>> results = run_plugins(jacobian, params, residuals, xdata=x, ydata=y) >>> for name, result in results.items(): ... if result.available: ... print(f"{name}: {len(result.issues)} issues") ... else: ... print(f"{name}: FAILED - {result.error_message}")