ChatGPT account plugin 6.1-sol 900k fix
Scope: Soma only, plugin plugins/model-providers/chatgpt-accounts/__init__.py.
Root cause: account-specific provider fetched raw API model IDs, bypassing Hermes _finalize_codex_models; cached provider catalogs had the same omission. Gateway did load the new runtime successfully.
Fix: finalize fresh API results before persistence; lazily finalize cached fallback models on consumption via a property. Eager finalization during registration was tested and rejected because metadata and provider registry imports form a cold-start cycle. Uses upstream eligibility and synthesis rather than a second hardcoded model allowlist. No account credentials, routes, default model or fallback policy changed.
Verified using actual plugin registration for both chatgpt-cn and chatgpt-com: cached model list contains gpt-6.1-sol-900k; synthetic raw base-only cache gains the variant; mock fresh account API returns base and variant, persists to an isolated temporary catalog, and has no duplicates. Wire suffix stripping returns gpt-6.1-sol. No inference or live model API request used.
Backup: ${AI_ARCHIVE_ROOT}/hermes-update/chatgpt-model-variants/plugin-before.py.
Activation requires the live process to reload the plugin; a supported graceful restart is requested separately. Until confirmed in a new process, do not claim live Discord menu verification.