Skip to content

Prevalidate plugin entrypoints to check for broken plugins#446

Merged
yondonfu merged 1 commit intomainfrom
prevalidate-plugin-entrypoints
Feb 11, 2026
Merged

Prevalidate plugin entrypoints to check for broken plugins#446
yondonfu merged 1 commit intomainfrom
prevalidate-plugin-entrypoints

Conversation

@yondonfu
Copy link
Copy Markdown
Contributor

@yondonfu yondonfu commented Feb 11, 2026

Summary

  • Plugin manager: Added _prevalidate_entrypoints() which enforces a single entry point per plugin, records failures as FailedPluginInfo, and blocks broken entry points from being registered in pluggy
  • API: GET /api/v1/plugins now returns failed_plugins alongside plugins so the frontend can surface errors
  • Frontend: PluginsTab shows a warning banner and per-plugin error details when plugins fail to load
  • Registry: Wraps plugin pipeline loading in try/except so built-in pipelines survive plugin failures
  • Tests: 8 new tests covering error handling, blocking, failure recording, and pipeline registration resilience

Test plan

  • Run uv run pytest tests/test_plugin_manager.py — all 8 new tests pass
  • Install a plugin with a broken entry point (e.g. bad import) and confirm it appears in the failed plugins UI
  • Confirm healthy plugins still load and built-in pipelines are unaffected

🤖 Generated with Claude Code

@yondonfu
Copy link
Copy Markdown
Contributor Author

The broken plugin used for testing is at yondonfu/kaleido-scope@0eb2585

@yondonfu
Copy link
Copy Markdown
Contributor Author

Screenshot 2026-02-11 153046

This is how the UI shows broken plugins.

@yondonfu yondonfu merged commit d70313e into main Feb 11, 2026
6 checks passed
@yondonfu yondonfu deleted the prevalidate-plugin-entrypoints branch February 11, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant