fix(minimax): align default_aux_model with M3 frontier on minimax + minimax-cn - #37664
fix(minimax): align default_aux_model with M3 frontier on minimax + minimax-cn#37664Fearvox wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates MiniMax provider profiles and tests to align the default auxiliary model with the newer M3 model (while keeping OAuth on M2.7) and to prevent regressions back to “-highspeed”.
Changes:
- Update MiniMax provider profiles to default
default_aux_modeltoMiniMax-M3(andMiniMax-M2.7for OAuth). - Add/adjust tests to pin expected aux model defaults and ensure profiles + consumer API stay in sync.
- Remove MiniMax entries from the legacy aux-model fallback map.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| tests/plugins/model_providers/test_minimax_profile.py | Adds profile-level tests pinning expected default_aux_model values and ensuring consumer API resolution matches. |
| tests/agent/test_minimax_provider.py | Updates aux-model expectations to M3 for minimax/minimax-cn and documents the split for OAuth. |
| plugins/model-providers/minimax/init.py | Changes provider profile defaults to M3 for direct API and to M2.7 for OAuth. |
| agent/auxiliary_client.py | Removes legacy fallback mappings for MiniMax, pushing resolution entirely through provider profiles. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "stepfun": "step-3.5-flash", | ||
| "kimi-coding-cn": "kimi-k2-turbo-preview", | ||
| "gmi": "google/gemini-3.1-flash-lite-preview", | ||
| "minimax": "MiniMax-M2.7", | ||
| "minimax-oauth": "MiniMax-M2.7-highspeed", | ||
| "minimax-cn": "MiniMax-M2.7", | ||
| "anthropic": "claude-haiku-4-5-20251001", | ||
| "opencode-zen": "gemini-3-flash", | ||
| "opencode-go": "glm-5", |
| def test_minimax_aux_is_standard(self): | ||
| from agent.auxiliary_client import _get_aux_model_for_provider | ||
| assert _get_aux_model_for_provider("minimax") == "MiniMax-M2.7" | ||
| assert _get_aux_model_for_provider("minimax-cn") == "MiniMax-M2.7" | ||
| assert _get_aux_model_for_provider("minimax") == "MiniMax-M3" | ||
| assert _get_aux_model_for_provider("minimax-cn") == "MiniMax-M3" |
| The catalog top entry is ``MiniMax-M3`` (hermes_cli/models.py:298) and | ||
| the user-facing ``model.default`` for a Token-Plan install is M3, so |
…inimax-cn
The minimax / minimax-cn / minimax-oauth profiles still advertised
M2.7 (and M2.7-highspeed for OAuth) as their default_aux_model,
predating the M3 release (2026-06-01). The user-facing
_PROVIDER_MODELS['minimax'] catalog top entry is M3, and the
recommended config for a Token-Plan install now sets
model.default: MiniMax-M3, so the aux default was the only
remaining drift.
Updates:
* minimax default_aux_model: M2.7 -> M3
* minimax-cn default_aux_model: M2.7 -> M3
* minimax-oauth default_aux_model: M2.7-highspeed -> M2.7
(M3 is not on the OAuth / Coding Plan tier per
platform docs as of this PR; the highspeed
variant was the 2x-cost regression from NousResearch#4082
that PR NousResearch#6082 collapsed to plain M2.7 for
minimax / minimax-cn but missed OAuth)
* agent/auxiliary_client.py: drop the three legacy
_API_KEY_PROVIDER_AUX_MODELS_FALLBACK entries for the minimax
family. _get_aux_model_for_provider() reads from
ProviderProfile.default_aux_model first (line 250) and only
falls back to the dict when the profile has no aux model or
the profile import fails. With the profile now set, the dict
entries are dead code and a drift hazard. Mirrors the deepseek
cleanup in 773a0fa.
* tests/agent/test_minimax_provider.py: update the existing
TestMinimaxAuxModel assertions from MiniMax-M2.7 to MiniMax-M3
(the intent — 'standard, not highspeed' — is unchanged; the
pin value is).
* tests/plugins/model_providers/test_minimax_profile.py: new
file mirroring tests/plugins/model_providers/test_deepseek_profile.py.
Pins each of the three profiles' default_aux_model and
asserts _get_aux_model_for_provider() returns it. A second
class guards against the highspeed regression coming back.
Refs:
- Closes NousResearch#36196 in spirit (M3 support — the catalog half of
that issue is NousResearch#36212; this PR covers the profile half)
- Related: NousResearch#4082 (M2.7-highspeed 2x-cost), NousResearch#6082 (previous
M2.7-highspeed -> M2.7 fix that missed OAuth + the
auxiliary_client.py fallback dict)
- Pattern: 773a0fa (same profile-layer fix for deepseek)
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
d1b077b to
b0e56e4
Compare
|
Pushed a fix for the two CI failures:
Diff stat now:
|
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
|
Addressed the worth-doing Copilot review comments in a polish commit: #37664 (minimax M3):
#37679 (fd-leak):
Both branches re-pushed. Local test runs:
|
…registered Two follow-ups to the M3 default-aux-model PR (#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on #37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on #37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
|
Merged via PR #39024 onto current The AUTHOR_MAP line in your second commit auto-resolved since |
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on #37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 84ecad7). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on #37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 84ecad7) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 285013a). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 285013a) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in eb5e88d). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit eb5e88d) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in eb5e88d). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit eb5e88d) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
…registered Two follow-ups to the M3 default-aux-model PR (NousResearch#37664): 1. AUTHOR_MAP entry: add fearvox1015@gmail.com -> Fearvox so the check-attribution CI job recognises Nolan's real contributor email. The previous run of the attribution check on NousResearch#37664 failed because the commit was authored as nolan@0xvox.com (wrong local git config) which isn't in AUTHOR_MAP. The commit itself is now re-authored to fearvox1015@gmail.com so both the per-commit check and the AUTHOR_MAP lookup pass. 2. tests/hermes_cli/test_api_key_providers.py::TestMinimaxOAuthProvider ::test_minimax_oauth_aux_model_registered was pinning the aux model in the legacy _API_KEY_PROVIDER_AUX_MODELS dict, which the PR correctly removed (mirrors the deepseek cleanup in 773a0fa). The test now asserts the new world order: the aux model comes from ProviderProfile.default_aux_model on the minimax-oauth profile, not the fallback dict. This is the same pattern that the profile-layer deepseek fix introduced.
Three Copilot inline review comments on NousResearch#37664, two worth landing in a polish pass before merge: 1. auxiliary_client.py:270 — Copilot suggested keeping the minimax-* entries in _API_KEY_PROVIDER_AUX_MODELS_FALLBACK as a safety net for environments where the profile-based resolution can't import or run plugin discovery. **Declined.** The deepseek precedent (commit 773a0fa) explicitly removed deepseek from the same dict for the same reason — the profile layer is the source of truth and the dict is a legacy pre-profiles-system fallback. We do not want to fragment the codebase by provider: either the profile layer is authoritative or the dict is. The minimax PR picks profile (matching deepseek) and the dict stays cleaned up. The risk Copilot raises is real but theoretical — plugin discovery runs at import time of the providers module, which is the first thing any modern Hermes entrypoint imports. 2. tests/agent/test_minimax_provider.py:162 — Copilot flagged that the test class relies on _get_aux_model_for_provider() resolving via provider profiles but doesn't explicitly trigger plugin discovery. **Fixed.** Added 'import model_tools # noqa: F401' at the top of both test_minimax_aux_is_standard and test_minimax_aux_not_highspeed. The fixtures in the parallel test_minimax_profile.py already did this; the legacy test in test_minimax_provider.py was order-dependent and would silently break if anyone reorganised the test ordering. Pinned the dependency explicitly so the test is order-independent. 3. tests/plugins/model_providers/test_minimax_profile.py:46 — Copilot flagged that the docstring referenced a hard-coded line number 'hermes_cli/models.py:298' that would go stale. **Fixed.** Replaced with the symbol reference 'hermes_cli.models._PROVIDER_MODELS[\'minimax\']' which is stable under file edits and grep-friendly. The new docstring also reads more naturally — readers don't have to look up 'what's at line 298' to follow the reasoning. All 221 minimax-related tests still pass.
Problem
plugins/model-providers/minimax/__init__.pystill advertises stale aux models for all three MiniMax profiles, even after M3 (the new frontier, released 2026-06-01) became the catalog top entry in_PROVIDER_MODELS["minimax"]and the recommendedmodel.defaultfor a Token-Plan install.default_aux_modelminimaxMiniMax-M2.7model.defaultare now M3.minimax-cnMiniMax-M2.7minimax-oauthMiniMax-M2.7-highspeedMiniMax-M2.7for the two direct API providers — but the OAuth path was missed.agent/auxiliary_client.pyalso still has a legacy fallback dict entry for each of the three providers, which_get_aux_model_for_provider()only consults when the profile import fails or the profile has no aux model. With the profile set, the dict entries are dead code and a drift hazard.This is the "profile layer" half of #36196's M3-support work; #36212 covers the catalog half (
_PROVIDER_MODELS["minimax"]).Changes
plugins/model-providers/minimax/__init__.pyminimax:default_aux_modelM2.7→M3minimax-cn:default_aux_modelM2.7→M3minimax-oauth:default_aux_modelM2.7-highspeed→M2.7(M3 is not on the OAuth / Coding Plan tier; the highspeed variant was the 2x-cost regression from [Bug]: Minimax Default Auxiallry Model MiniMax-M2.7-highspeed is twice the price at API rates #4082 that PR fix(minimax): correct context lengths, model catalog, thinking guard, aux model, and config base_url #6082 collapsed to plain M2.7 for the direct API providers but missed OAuth)agent/auxiliary_client.pyminimax/minimax-oauth/minimax-cnentries from_API_KEY_PROVIDER_AUX_MODELS_FALLBACK. Dead code once the profile is set, and a drift hazard. Mirrors the cleanup in 773a0fa fordeepseek.tests/agent/test_minimax_provider.pyTestMinimaxAuxModelassertions fromMiniMax-M2.7toMiniMax-M3(intent — "standard, not highspeed" — is unchanged; the pin value is).tests/plugins/model_providers/test_minimax_profile.py(new file, mirrorstest_deepseek_profile.py)TestMinimaxAuxModelM3: parametrize over all three profiles, assertdefault_aux_modelmatches the expected per-provider value (M3 for direct API, M2.7 for OAuth). Assert_get_aux_model_for_provider()returns the same value the profile advertises (no drift between the consumer API and the profile layer).TestMinimaxAuxModelNotHighspeed: regression guard against the highspeed 2x-cost path coming back. This was the core of [Bug]: Minimax Default Auxiallry Model MiniMax-M2.7-highspeed is twice the price at API rates #4082.Verification
Live
POST https://api.minimax.io/anthropic/v1/messageswithmodel: "MiniMax-M3"againstMINIMAX_API_KEYreturns 200 with a thinking-block response, confirming M3 is the right model ID for the aux default.Related
deepseek)