Skip to content

feat: register MiniMax M3.1 Flash text model - #117

Open
octo-patch wants to merge 6 commits into
ZhiYi-R:mainfrom
octo-patch:octo/20261021-minimax-m31-flash-default
Open

octo-patch wants to merge 6 commits into
ZhiYi-R:mainfrom
octo-patch:octo/20261021-minimax-m31-flash-default

Conversation

@octo-patch

@octo-patch octo-patch commented Oct 21, 2026 •

Copy link
Copy Markdown

Reason: Route the MiniMax text alias to M3.1 Flash, preserve unknown billing throughout the console, and serialize compatible MiniMax reasoning controls.

Behavior

  • Add the opt-in minimax alias targeting Flash through global Chat, with priorities global Chat, China Chat, global Anthropic, China Anthropic. Global defaults and saved/custom routes remain unchanged. Requests must still name a model/alias.
  • Put Flash before M3 in the Codex catalog and make provider first-model selection deterministic. M3 is the second catalog choice, not automatic cross-model retry.
  • Flash uses adaptive thinking plus Chat reasoning_effort / Anthropic output_config.effort. M3 uses adaptive/disabled thinking and ignores ordinary string effort values, including high, without forwarding effort. Previously advertised adaptive/disabled mode presets remain compatible. Invalid Flash effort/thinking and malformed controls return 400 before inference; ordinary M3 effort is not an error.
  • Remove USD list prices from the CNY-per-million example contract without inventing FX or M3 tiers. Missing prices preserve tokens but expose null cost plus unknown flags in session and persisted usage APIs. New unknown metric rows use an internal -1 sentinel excluded from known sums.
  • Show unknown for incomplete cost totals, table values, chart legends and ARIA. Unknown chart segments are not rendered as zero bars; known amounts remain visible and their bars use the known subtotal. An incomplete chart total is explicitly unknown. Historical persisted zero rows cannot be retrospectively classified.

Validation and current audit state

Independent audit of prior head da58965097e9ee5400dfd292550ad94ae185ccd9 remains FAIL: chart null coercion and M3 ordinary effort rejection. This follow-up fixes those two findings; it does not claim independent acceptance.

Before the fix, a focused Go test reproduced M3 low effort rejection, and Node reproduced the chart expressions coercing null to numeric/display zero. After the fix:

  • Passed env -i HOME="$HOME" PATH="$PATH" GOPROXY=off GOTOOLCHAIN=local CGO_ENABLED=0 go test -vet=off -p 1 ./internal/protocol/minimax -count=1, including ordinary effort ignored via both Responses extensions and native Core output.
  • Passed a dependency-free Node check of actual source expressions for unknown-only, mixed known/unknown, and explicit zero scenarios. This is not a React render or TypeScript check.
  • Passed git diff --check and git diff --cached --check.
  • Added React unknown/mixed chart and ARIA assertions. Updated server HTTP/SSE cases to require M3 effort success on Chat and Anthropic. These suites were not rerun: only about 38 MB free and no cached UI dependencies; no download/install/build was performed.

Previous head's Go package and 34-case HTTP/SSE checks remain historical evidence only. New head requires independent review and broader validation when resources permit. No paid inference or real provider credentials were used in tests.

Unresolved blockers

  • Verified M3 tiers and USD/CNY conversion are unconfigured, so example MiniMax cost remains unknown.
  • Open PRs Add MiniMax provider and model registry entries #95/Expose MiniMax reasoning modes in model metadata #99 overlap provider keys, the original registry test path and M3 metadata; maintainer reconciliation required.
  • PR targets main while CONTRIBUTING.md requires dev; target reconciliation remains unresolved.
  • Latest audit task was supplied by parent briefing but is inaccessible from this child; exact original artifact path is still needed for full evidence trace. Independent review of this new head is pending.

@octo-patch

Copy link
Copy Markdown
Author

Follow-up commit 239fe62 addresses the independent audit findings. It adds explicit minimax Flash routing and provider priorities, deterministic Flash-before-M3 catalog/provider fallback, distinct MiniMax thinking wire mapping for Chat and Anthropic, and production-config-to-service HTTP/SSE tests. M3 tiered pricing remains intentionally unconfigured because the current flat pricing schema cannot represent the 512k threshold; it is recorded as a known blocker rather than a zero/free estimate. Historical PRs #95 and #99 remain open and unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant