minimax: move to MiniMax-M3.1-Flash-Preview; drop bare minimax/minimax-m2 slugs
- new context minimax-m31-flash/v1 (model pin; no thinking-budget init, Flash
ignores it); four composites switch from minimax-m3-max/v1 (kept for rollback)
- models + registry for minimax-m31-flash-{max,medium}; removes the dangling
model-registry/minimax.yaml (endpoint "minimax" never existed)
- tiers, harness-roles, minimax-* task templates and the *-review-loop@1
workflows use the Flash slugs (MiniMax silently maps unknown names to M3, so
the provider-id translation lands in agent-runtimes)
This commit is contained in:
@@ -6,6 +6,6 @@ description: "Best practices review agent on MiniMax M3 (max effort) + repo clon
|
||||
layers:
|
||||
- context: best-practices/v1
|
||||
- context: minimax/v1
|
||||
- context: minimax-m3-max/v1
|
||||
- context: minimax-m31-flash/v1
|
||||
- context: gitea-ssh/v1
|
||||
- context: agent-repo/v1
|
||||
|
||||
@@ -9,7 +9,7 @@ layers:
|
||||
# personal-subscription OAuth — integration runs are frequent/mechanical
|
||||
# and were draining the interactive 5-hour window (2026-09-02).
|
||||
- context: minimax/v1
|
||||
- context: minimax-m3-max/v1
|
||||
- context: minimax-m31-flash/v1
|
||||
- context: gitea-ssh/v1
|
||||
- context: agent-repo/v1
|
||||
- context: direct-push/v1
|
||||
|
||||
@@ -8,6 +8,6 @@ layers:
|
||||
# MiniMax M3 — scaffolding is mechanical (stub files so tests import);
|
||||
# moved off the personal Anthropic subscription 2026-09-02.
|
||||
- context: minimax/v1
|
||||
- context: minimax-m3-max/v1
|
||||
- context: minimax-m31-flash/v1
|
||||
- context: gitea-ssh/v1
|
||||
- context: agent-repo/v1
|
||||
|
||||
@@ -9,6 +9,6 @@ layers:
|
||||
# 2026-09-02 (the "credential layer swappable" swap this composite was
|
||||
# designed for).
|
||||
- context: minimax/v1
|
||||
- context: minimax-m3-max/v1
|
||||
- context: minimax-m31-flash/v1
|
||||
- context: gitea-ssh/v1
|
||||
- context: agent-repo/v1
|
||||
|
||||
17
harnesses/contexts/minimax-m31-flash/v1/harness.yaml
Normal file
17
harnesses/contexts/minimax-m31-flash/v1/harness.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
kind: context
|
||||
name: minimax-m31-flash
|
||||
version: 1
|
||||
description: "Pin MiniMax-M3.1-Flash-Preview (1M context) — layer AFTER minimax/v1 (auth + base URL come from there). Thinking depth is set per dispatch via --effort (models/*.yaml default_flags.reasoning_effort), not here."
|
||||
requires: []
|
||||
provides: []
|
||||
|
||||
# Replaces minimax-m3-max/v1 (kept for rollback). Differences:
|
||||
# - Flash always thinks and ignores MAX_THINKING_TOKENS/budget_tokens (effort is
|
||||
# the only depth control, server default max), so there is no init.sh.
|
||||
# - No [1m] suffix: Flash is 1M natively (verified 2026-10-13, modelUsage.contextWindow).
|
||||
# - CLAUDE_CODE_AUTO_COMPACT_WINDOW stays: an unknown model id otherwise gets
|
||||
# Claude Code's 200K default and compacts early.
|
||||
env:
|
||||
ANTHROPIC_MODEL: "MiniMax-M3.1-Flash-Preview"
|
||||
ANTHROPIC_SMALL_FAST_MODEL: "MiniMax-M3.1-Flash-Preview"
|
||||
CLAUDE_CODE_AUTO_COMPACT_WINDOW: "1000000"
|
||||
@@ -5,5 +5,6 @@ roles:
|
||||
claude-sonnet-5: code-sonnet-tdd-repo
|
||||
claude-opus-5: code-opus-tdd-repo
|
||||
claude-haiku-4-5: code-haiku-tdd-repo
|
||||
minimax: code-minimax-tdd-repo
|
||||
minimax-m31-flash-max: code-minimax-tdd-repo
|
||||
minimax-m31-flash-medium: code-minimax-tdd-repo
|
||||
claude-fable-5: code-fable-tdd-repo
|
||||
|
||||
21
model-registry/minimax-m31-flash-max.yaml
Normal file
21
model-registry/minimax-m31-flash-max.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
# agent-runtime-framework — model-registry/ (CRS tag: model-registry)
|
||||
# Max-effort Flash; replaces minimax-m3-max in planning/draft-heavy and explicit-model nodes.
|
||||
# PLACEHOLDER scores/costs: scores are copied from the M3 entry this replaces and
|
||||
# costs are set just below it so cheapest-wins (tiers.yaml) selects Flash over
|
||||
# the retained M3 entries. Revisit with observed scores and published pricing.
|
||||
name: minimax-m31-flash-max
|
||||
endpoint: minimax-m31-flash-max
|
||||
provider: minimax
|
||||
family: minimax
|
||||
scores:
|
||||
complexity: 10
|
||||
test_pass_rate: 9
|
||||
creativity: 10
|
||||
spec_adherence: 9
|
||||
cost_efficiency: 5
|
||||
context_utilisation: 10
|
||||
cost_per_1k_tokens:
|
||||
input: 0.0025
|
||||
output: 0.0125
|
||||
source: benchmark
|
||||
harness_version: null
|
||||
21
model-registry/minimax-m31-flash-medium.yaml
Normal file
21
model-registry/minimax-m31-flash-medium.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
# agent-runtime-framework — model-registry/ (CRS tag: model-registry)
|
||||
# Medium-effort Flash; replaces minimax-m3 in the build/integrate/spec-test/coding tiers.
|
||||
# PLACEHOLDER scores/costs: scores are copied from the M3 entry this replaces and
|
||||
# costs are set just below it so cheapest-wins (tiers.yaml) selects Flash over
|
||||
# the retained M3 entries. Revisit with observed scores and published pricing.
|
||||
name: minimax-m31-flash-medium
|
||||
endpoint: minimax-m31-flash-medium
|
||||
provider: minimax
|
||||
family: minimax
|
||||
scores:
|
||||
complexity: 8
|
||||
test_pass_rate: 9
|
||||
creativity: 8
|
||||
spec_adherence: 9
|
||||
cost_efficiency: 6
|
||||
context_utilisation: 9
|
||||
cost_per_1k_tokens:
|
||||
input: 0.00125
|
||||
output: 0.00625
|
||||
source: benchmark
|
||||
harness_version: null
|
||||
@@ -1,15 +0,0 @@
|
||||
name: minimax
|
||||
endpoint: minimax
|
||||
provider: minimax
|
||||
scores:
|
||||
complexity: 10
|
||||
test_pass_rate: 9
|
||||
creativity: 10
|
||||
spec_adherence: 9
|
||||
cost_efficiency: 3
|
||||
context_utilisation: 10
|
||||
cost_per_1k_tokens:
|
||||
input: 0.0
|
||||
output: 0.0
|
||||
source: benchmark
|
||||
harness_version: null
|
||||
@@ -22,7 +22,7 @@ tiers:
|
||||
context_utilisation: 9
|
||||
qualifies_today:
|
||||
- deepseek-v4flash # benchmark-inflated 9s; hold to allowed_models ceiling
|
||||
- minimax
|
||||
- minimax-m31-flash-max
|
||||
- claude-opus-5
|
||||
note: >
|
||||
WF-SCH-14 allowed_models ceiling remains authoritative until M7 observed-score
|
||||
@@ -37,7 +37,8 @@ tiers:
|
||||
spec_adherence: 9
|
||||
test_pass_rate: 9
|
||||
qualifies_today:
|
||||
- minimax
|
||||
- minimax-m31-flash-max
|
||||
- minimax-m31-flash-medium
|
||||
- claude-sonnet-5
|
||||
- claude-opus-5
|
||||
|
||||
@@ -51,7 +52,8 @@ tiers:
|
||||
qualifies_today:
|
||||
- airouter-qwen3
|
||||
- airouter-deepseekv4flash
|
||||
- minimax
|
||||
- minimax-m31-flash-max
|
||||
- minimax-m31-flash-medium
|
||||
- claude-sonnet-5
|
||||
- claude-opus-5
|
||||
- claude-fable-5
|
||||
|
||||
21
models/minimax-m31-flash-max.yaml
Normal file
21
models/minimax-m31-flash-max.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
# agent-runtime-framework — models/ (CRS tag: models)
|
||||
# MiniMax-M3.1-Flash-Preview at reasoning_effort max. Always thinks (thinking
|
||||
# cannot be disabled; effort is the only depth control). The claude runner maps
|
||||
# default_flags.reasoning_effort to `--effort` (agent-runtimes ME-6a). Verified
|
||||
# 2026-10-13: the container MiniMax key reaches this model on both
|
||||
# api.minimax.io and api.minimaxi.chat; 1M context window.
|
||||
# Endpoint name MUST equal the registry name (MR-12).
|
||||
name: minimax-m31-flash-max
|
||||
provider: minimax
|
||||
family: minimax
|
||||
endpoint:
|
||||
type: cloud_api
|
||||
base_url: "https://api.minimax.io/anthropic"
|
||||
api_key_env: MINIMAX_API_KEY
|
||||
runner: claude
|
||||
default_flags:
|
||||
model: "MiniMax-M3.1-Flash-Preview"
|
||||
reasoning_effort: max
|
||||
provider_context_ref: "minimax/v1"
|
||||
provider_secret_ref: "MINIMAX_API_KEY"
|
||||
session_capable: false
|
||||
21
models/minimax-m31-flash-medium.yaml
Normal file
21
models/minimax-m31-flash-medium.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
# agent-runtime-framework — models/ (CRS tag: models)
|
||||
# MiniMax-M3.1-Flash-Preview at reasoning_effort medium. Always thinks (thinking
|
||||
# cannot be disabled; effort is the only depth control). The claude runner maps
|
||||
# default_flags.reasoning_effort to `--effort` (agent-runtimes ME-6a). Verified
|
||||
# 2026-10-13: the container MiniMax key reaches this model on both
|
||||
# api.minimax.io and api.minimaxi.chat; 1M context window.
|
||||
# Endpoint name MUST equal the registry name (MR-12).
|
||||
name: minimax-m31-flash-medium
|
||||
provider: minimax
|
||||
family: minimax
|
||||
endpoint:
|
||||
type: cloud_api
|
||||
base_url: "https://api.minimax.io/anthropic"
|
||||
api_key_env: MINIMAX_API_KEY
|
||||
runner: claude
|
||||
default_flags:
|
||||
model: "MiniMax-M3.1-Flash-Preview"
|
||||
reasoning_effort: medium
|
||||
provider_context_ref: "minimax/v1"
|
||||
provider_secret_ref: "MINIMAX_API_KEY"
|
||||
session_capable: false
|
||||
@@ -1,6 +1,6 @@
|
||||
name: minimax-code-repo
|
||||
description: "MiniMax code agent — repo clone, agent-repo branch persistence"
|
||||
model: minimax
|
||||
model: minimax-m31-flash-max
|
||||
harness: code-minimax-repo/v1
|
||||
requires_tags: [claude-code, coding-agent, git-access, project-repo]
|
||||
required_params: [repo_url, agent_repo_url]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: minimax-code-tdd
|
||||
description: "MiniMax code agent with TDD enforcement — tests are read-only and must pass before the task finishes"
|
||||
model: minimax
|
||||
model: minimax-m31-flash-max
|
||||
harness: code-minimax-tdd-repo/v1
|
||||
requires_tags: [coding-agent, git-access, project-repo, tdd-gate]
|
||||
required_params: [repo_url, agent_repo_url]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: minimax-planning
|
||||
description: "MiniMax planning agent — specs, reviews, architecture docs"
|
||||
model: minimax
|
||||
model: minimax-m31-flash-max
|
||||
harness: planning-minimax-repo/v1
|
||||
requires_tags: [claude-code, planning-agent, git-access, project-repo]
|
||||
required_params: [repo_url, agent_repo_url]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: minimax-security-review
|
||||
description: "MiniMax security review agent — security audit via Anthropic-compatible proxy"
|
||||
model: minimax
|
||||
model: minimax-m31-flash-max
|
||||
harness: security-review-minimax-repo/v1
|
||||
requires_tags: [claude-code, security-reviewer, best-practices, git-access, project-repo]
|
||||
required_params: [repo_url, agent_repo_url]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: minimax-tdd-impl
|
||||
description: "MiniMax TDD implementation agent — tests locked read-only, cannot be modified by agent"
|
||||
model: minimax
|
||||
model: minimax-m31-flash-max
|
||||
harness: minimax-tdd-impl/v1
|
||||
requires_tags: [claude-code, coding-agent, git-access, project-repo]
|
||||
required_params: [repo_url, agent_repo_url]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: minimax-test-writer
|
||||
description: "MiniMax test writing agent — comprehensive tests with edge cases"
|
||||
model: minimax
|
||||
model: minimax-m31-flash-max
|
||||
harness: test-writing-minimax-repo/v1
|
||||
requires_tags: [claude-code, test-writer, best-practices, git-access, project-repo]
|
||||
required_params: [repo_url, agent_repo_url]
|
||||
|
||||
@@ -46,7 +46,7 @@ nodes:
|
||||
- id: review-minimax
|
||||
kind: agent
|
||||
role: plan-review
|
||||
model: minimax-m2
|
||||
model: minimax-m31-flash-max
|
||||
runtime_env:
|
||||
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
||||
AGENT_BRANCH: "task/${item.uuid}"
|
||||
|
||||
@@ -54,7 +54,7 @@ nodes:
|
||||
- id: review-minimax
|
||||
kind: agent
|
||||
role: spec-review
|
||||
model: minimax-m2
|
||||
model: minimax-m31-flash-max
|
||||
runtime_env:
|
||||
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
||||
AGENT_BRANCH: "spec/${item.uuid}"
|
||||
|
||||
@@ -21,7 +21,7 @@ nodes:
|
||||
role: test-write-review # M36 v0.6 (bug 69370eda fix): role + model replaces
|
||||
# the ungrounded `template: minimax-test-writer`
|
||||
# (a composite that never existed in the catalog).
|
||||
model: minimax-m2
|
||||
model: minimax-m31-flash-max
|
||||
runtime_env:
|
||||
# WF-COMP-15: stage agents share one per-item work branch so their work
|
||||
# accumulates across iterations.
|
||||
|
||||
Reference in New Issue
Block a user