Summary
Refactor the existing Model Catalog implementation to fully conform to the Plugin Interface defined in Phase 2. This validates the entire plugin architecture against real, production functionality.
Motivation
The model catalog is the original and most mature catalog implementation. Refactoring it into a proper plugin proves that the new architecture can support legacy functionality, ensures the core application is truly decoupled and generic, and serves as the reference implementation for all future plugins.
Scope
- Implement the
Plugin interface for the model catalog
- Register the model catalog via
init() in the plugin registry
- Migrate model-specific logic out of the core server and into the plugin
- Move model-specific OpenAPI specs into the plugin's split-file structure (Phase 4)
- Ensure all existing model catalog tests pass
- Ensure backward compatibility — existing API consumers should see no breaking changes
Acceptance Criteria
Dependencies
References
Summary
Refactor the existing Model Catalog implementation to fully conform to the Plugin Interface defined in Phase 2. This validates the entire plugin architecture against real, production functionality.
Motivation
The model catalog is the original and most mature catalog implementation. Refactoring it into a proper plugin proves that the new architecture can support legacy functionality, ensures the core application is truly decoupled and generic, and serves as the reference implementation for all future plugins.
Scope
Plugininterface for the model cataloginit()in the plugin registryAcceptance Criteria
Plugininterfaceinit()— no hardcoded references in the servermake build && make test && make lintpasscd catalog/clients/python && make test-e2e)Dependencies
References