Context
Pyrite needs extensibility for different KB use cases (zettelkasten, social, encyclopedia, software). We needed a mechanism for plugins to register entry types, validators, CLI commands, MCP tools, and workflows without modifying core.
Decision
Use Python `importlib.metadata` entry points under the `pyrite.plugins` group. Each extension declares a plugin class in its `pyproject.toml`. The `PluginRegistry` discovers and loads plugins at startup.