# Ralph Progress Log Started: Sun Feb 1 12:22:47 AM CET 2026 --- ## Completed ### Task 1: Create language package with core types and helpers - Created `internal/language/language.go` with Language struct, Auto constant - Implemented FromCode, List, Codes, AllLanguageCodes, IsValidCode - Full 57 language list from OpenAI Whisper - All tests passing, typecheck passes ### Task 2: Add language list and provider-specific mappings - Added `ToProviderFormat(code string, providerName string) string` function - Handles auto-detect: whisper-cpp uses "auto", others use "" - Deepgram locale mappings: en->en-US, pt->pt-BR, zh->zh-CN - Added comprehensive test coverage for all provider formats - All tests passing, typecheck passes ### Task 3: Create Model type with full metadata - Created `internal/provider/model.go` - ModelType enum: Transcription, LLM - Model struct: ID, Name, Description, Type, Streaming, Local, AdapterType, SupportedLanguages, Endpoint, LocalInfo - EndpointConfig: BaseURL, Path - LocalModelInfo: Filename, Size, DownloadURL - Helper methods: NeedsDownload(), IsStreaming(), SupportsLanguage(code), SupportsAllLanguages() - SupportsLanguage("") always returns true (auto always allowed) - All tests passing, typecheck passes