many: simplify plugin loading
Metadata
Current evaluation
Merged an architectural refactor that simplifies plugin loading by shifting initialization from PluginHandler to PartsConfig. Approved by one reviewer across 13 files, the change decouples components and enables future grammar processing extraction.
Suggested action: —
No scores available.
Issue body
Currently, loading a plugin goes through many layers of redirection, which is confusing and causes components to be integrated more tightly than would be ideal. This PR simplifies it by no longer loading plugins within PluginHandler, but rather accepting an already-loaded plugin. That plugin is then loaded in PartsConfig, where it is then handed to the PluginHandler.
Beyond an improved design, this also gives us the ability to extract grammar processing completely from the PluginHandler, which will be done in a follow-up PR.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged an architectural refactor that simplifies plugin loading by shifting initialization from PluginHandler to PartsConfig. Approved by one reviewer across 13 files, the change decouples components and enables future grammar processing extraction. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a refactor simplifying plugin loading by moving initialization from PluginHandler to PartsConfig. Plugins are now passed as pre-loaded instances, reducing coupling and enabling future grammar processing extraction. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a refactor simplifying plugin loading by moving initialization from PluginHandler to PartsConfig. Plugins are now pre-loaded and passed directly, reducing tight coupling and enabling future grammar processing extraction. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #40 parts: unmarshal plugin properties | craft-parts | merged | Merged following two reviewer approvals and passing CI. The change implements validation and unmarshaling logic for plugin properties, assigning them to their corresponding parts across six modified files. | |
| #1897 refactor: move parts plugins to their own module | charmcraft | merged | Merged a refactor by maintainer lengau that relocates parts plugins to a dedicated module, decoupling them from craft-parts. Approved by two reviewers, modifying 11 files (+72/-37). |