You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The SplitRunner class currently complicates the architecture of the codebase, causing duplicated logic between CLI handlers and various API endpoints. We want to eliminate the SplitRunner class entirely and restructure both the CLI and API handlers to follow the same interface-based approach used by our LanguagePlugin system. By moving to a more unified interface, we can streamline the code, reduce duplication, and ensure that all split and scan functionalities are implemented in a single, consistent manner. This will result in a cleaner, more maintainable codebase that is easier to extend and debug.
Context
The current architecture is prone to fragmentation and repeated logic, making it challenging to track down bugs and maintain a consistent behavior across different parts of the system. By removing the SplitRunner class and aligning the CLI handlers and API implementations with an interface-driven approach, we can provide a cohesive and predictable structure. This will benefit both developers and operators, allowing for clearer reasoning about the code, fewer points of failure, and an easier onboarding process for new contributors.
Possible Implementation
Remove the SplitRunner class and refactor all of its functionality into a common interface or module similar to how we handle LanguagePlugin implementations.
Update CLI handlers and API endpoints to use these new interfaces, ensuring that split and scan logic is defined once and used everywhere.
Provide a consistent interface layer that the CLI tools and the APIs can both leverage, reducing code duplication and consolidating error handling and logging routines.
Add comprehensive tests to verify that both CLI and API functionalities remain intact and that the new interface structure works as intended.
The text was updated successfully, but these errors were encountered:
Detailed Description
The
SplitRunner
class currently complicates the architecture of the codebase, causing duplicated logic between CLI handlers and various API endpoints. We want to eliminate theSplitRunner
class entirely and restructure both the CLI and API handlers to follow the same interface-based approach used by ourLanguagePlugin
system. By moving to a more unified interface, we can streamline the code, reduce duplication, and ensure that all split and scan functionalities are implemented in a single, consistent manner. This will result in a cleaner, more maintainable codebase that is easier to extend and debug.Context
The current architecture is prone to fragmentation and repeated logic, making it challenging to track down bugs and maintain a consistent behavior across different parts of the system. By removing the
SplitRunner
class and aligning the CLI handlers and API implementations with an interface-driven approach, we can provide a cohesive and predictable structure. This will benefit both developers and operators, allowing for clearer reasoning about the code, fewer points of failure, and an easier onboarding process for new contributors.Possible Implementation
SplitRunner
class and refactor all of its functionality into a common interface or module similar to how we handleLanguagePlugin
implementations.The text was updated successfully, but these errors were encountered: