Version: v1.2.3 | Status: Active | Last Updated: March 2026
Enables dynamic extension of the platform. It handles plugin discovery, loading, validation, and lifecycle management.
- Isolation: Plugins should not crash the host.
- Security: Strict validation of plugin metadata and code (
PluginValidator).
- Discovery: Find plugins in specified directories.
- Lifecycle: Load, Initialize, Shutdown hooks.
- Registry: Maintain database of installed plugins.
PluginManager: Central coordinator for discovery, validation, and loading.PluginRegistry: Manages registered plugins (now usesregister()instead ofregister_plugin()).PluginValidator: Security and metadata validation (now returns unifiedValidationResultobjects with a.validattribute).Plugin: Base class for all extensions.
- Human Documentation: README.md
- Technical Documentation: AGENTS.md
- Parent: ../SPEC.md
The implementation follows the Unified Streamline principles (v0.1.0), removing backward compatibility aliases in favor of a modern, standardized API.
- Strict Modularity: Each component is isolated and communicates via well-defined APIs.
- Security-First: Mandatory validation via
PluginValidatorbefore loading. - Performance Optimization: Implementation leverages lazy loading and intelligent caching.
- API Consistency: Unified return types (e.g.,
ValidationResult) across all validation methods.
The codebase utilizes Python 3.10+ dataclasses and type hinting. Interaction patterns are documented in the corresponding AGENTS.md and SPEC.md files.
uv run python -m pytest src/codomyrmex/tests/ -k plugin_system -v