Suggestion: Split ModelCatalog.kt into provider-specific data files
Category: Large file
File: composeApp/src/commonMain/kotlin/com/oak/app/data/ModelCatalog.kt
At 1603 lines, ModelCatalog.kt is the second largest unchecked source file. It combines the CuratedModelInfo data class, a massive catalog map of model definitions across dozens of providers, and an arenaScores map in a single monolithic file. This makes navigation and maintenance harder as new models are added.
Suggested action: Extract the CuratedModelInfo data class into its own file and split the model data maps into provider-specific files (e.g., ModelCatalog.Anthropic.kt, ModelCatalog.OpenAI.kt, ModelCatalog.Google.kt), keeping a single re-export file that aggregates them.
Suggestion: Split ModelCatalog.kt into provider-specific data files
Category: Large file
File:
composeApp/src/commonMain/kotlin/com/oak/app/data/ModelCatalog.ktAt 1603 lines, ModelCatalog.kt is the second largest unchecked source file. It combines the
CuratedModelInfodata class, a massivecatalogmap of model definitions across dozens of providers, and anarenaScoresmap in a single monolithic file. This makes navigation and maintenance harder as new models are added.Suggested action: Extract the
CuratedModelInfodata class into its own file and split the model data maps into provider-specific files (e.g.,ModelCatalog.Anthropic.kt,ModelCatalog.OpenAI.kt,ModelCatalog.Google.kt), keeping a single re-export file that aggregates them.