Problem Statement & Motivation
Currently, plugins in llm-d-router (pkg/epp/framework/plugins/) lack formal stability categorization (Alpha, Beta, Stable). For backwards-incompatible changes or deprecations, the project currently relies on ad-hoc logging and manual README updates across minor releases. Furthermore, there is currently no mechanism to prevent a production/stable plugin from depending on an experimental/alpha plugin or data key.
To provide clear compatibility guarantees to users and maintainers, we propose introducing a Plugin Stability Lifecycle (Alpha, Beta, Stable) with code-level, document-level, and dependency-level enforcement.
-
Alpha: Rapid experimentation, breaking changes anytime, no deprecation period.
-
Beta: [Current policy] Feature-complete; breaking changes follow a formal +2 minor version deprecation policy (warn in release $N$ and $N+1$, remove in $N+2$).
-
Stable: Enterprise-grade; breaking parameter or behavioral changes only occur on major EPP version bumps.
Problem Statement & Motivation
Currently, plugins in
llm-d-router(pkg/epp/framework/plugins/) lack formal stability categorization (Alpha, Beta, Stable). For backwards-incompatible changes or deprecations, the project currently relies on ad-hoc logging and manual README updates across minor releases. Furthermore, there is currently no mechanism to prevent a production/stable plugin from depending on an experimental/alpha plugin or data key.To provide clear compatibility guarantees to users and maintainers, we propose introducing a Plugin Stability Lifecycle (Alpha, Beta, Stable) with code-level, document-level, and dependency-level enforcement.