Repository navigation
feat(profiles): simplify provider configuration - #216
Merged
Merged
Conversation
Replace inheritable Model Profiles with standalone provider configurations and render provider settings directly from PySubtrans runtime options. Keep profile persistence sparse, refresh dynamic options according to provider metadata, and preserve Job resolution by profile ID. Add a new migration that rebuilds the empty deployed profile tables without changing the existing migration.
Validate saved settings against the current PySubtrans GetOptions contract and reconcile explicit models with available models. Drop settings hidden by successful dynamic refreshes and correct the profile creation E2E route.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migration
The existing "0004_model_profiles" migration remains unchanged because it has already been deployed. A new migration rebuilds the Model Profile tables with the standalone schema and removes "parent_id", "selectable", setting kinds, and unset tombstones.
There is no existing Model Profile data to preserve, so the migration intentionally does not flatten inheritance or provide a legacy data-conversion path.
Context
This PR replaces the configuration UX direction from the closed #215. It does not reopen that PR or continue from its branch.
Removing inheritance and Base Profile semantics makes each profile understandable on its own. Reading option visibility, types, choices, descriptions, and refresh behavior from PySubtrans also removes CueWeaver's AST-derived configuration schema. Sparse explicit settings keep PySubtrans defaults and environment configuration at runtime without exposing their effective values through the configuration API.
The result is a shorter first-time setup flow with less provider-specific configuration logic for CueWeaver to maintain.