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:
|
layers:
|
||||||
- context: best-practices/v1
|
- context: best-practices/v1
|
||||||
- context: minimax/v1
|
- context: minimax/v1
|
||||||
- context: minimax-m3-max/v1
|
- context: minimax-m31-flash/v1
|
||||||
- context: gitea-ssh/v1
|
- context: gitea-ssh/v1
|
||||||
- context: agent-repo/v1
|
- context: agent-repo/v1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ layers:
|
|||||||
# personal-subscription OAuth — integration runs are frequent/mechanical
|
# personal-subscription OAuth — integration runs are frequent/mechanical
|
||||||
# and were draining the interactive 5-hour window (2026-09-02).
|
# and were draining the interactive 5-hour window (2026-09-02).
|
||||||
- context: minimax/v1
|
- context: minimax/v1
|
||||||
- context: minimax-m3-max/v1
|
- context: minimax-m31-flash/v1
|
||||||
- context: gitea-ssh/v1
|
- context: gitea-ssh/v1
|
||||||
- context: agent-repo/v1
|
- context: agent-repo/v1
|
||||||
- context: direct-push/v1
|
- context: direct-push/v1
|
||||||
|
|||||||
@@ -8,6 +8,6 @@ layers:
|
|||||||
# MiniMax M3 — scaffolding is mechanical (stub files so tests import);
|
# MiniMax M3 — scaffolding is mechanical (stub files so tests import);
|
||||||
# moved off the personal Anthropic subscription 2026-09-02.
|
# moved off the personal Anthropic subscription 2026-09-02.
|
||||||
- context: minimax/v1
|
- context: minimax/v1
|
||||||
- context: minimax-m3-max/v1
|
- context: minimax-m31-flash/v1
|
||||||
- context: gitea-ssh/v1
|
- context: gitea-ssh/v1
|
||||||
- context: agent-repo/v1
|
- context: agent-repo/v1
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ layers:
|
|||||||
# 2026-09-02 (the "credential layer swappable" swap this composite was
|
# 2026-09-02 (the "credential layer swappable" swap this composite was
|
||||||
# designed for).
|
# designed for).
|
||||||
- context: minimax/v1
|
- context: minimax/v1
|
||||||
- context: minimax-m3-max/v1
|
- context: minimax-m31-flash/v1
|
||||||
- context: gitea-ssh/v1
|
- context: gitea-ssh/v1
|
||||||
- context: agent-repo/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-sonnet-5: code-sonnet-tdd-repo
|
||||||
claude-opus-5: code-opus-tdd-repo
|
claude-opus-5: code-opus-tdd-repo
|
||||||
claude-haiku-4-5: code-haiku-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
|
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
|
context_utilisation: 9
|
||||||
qualifies_today:
|
qualifies_today:
|
||||||
- deepseek-v4flash # benchmark-inflated 9s; hold to allowed_models ceiling
|
- deepseek-v4flash # benchmark-inflated 9s; hold to allowed_models ceiling
|
||||||
- minimax
|
- minimax-m31-flash-max
|
||||||
- claude-opus-5
|
- claude-opus-5
|
||||||
note: >
|
note: >
|
||||||
WF-SCH-14 allowed_models ceiling remains authoritative until M7 observed-score
|
WF-SCH-14 allowed_models ceiling remains authoritative until M7 observed-score
|
||||||
@@ -37,7 +37,8 @@ tiers:
|
|||||||
spec_adherence: 9
|
spec_adherence: 9
|
||||||
test_pass_rate: 9
|
test_pass_rate: 9
|
||||||
qualifies_today:
|
qualifies_today:
|
||||||
- minimax
|
- minimax-m31-flash-max
|
||||||
|
- minimax-m31-flash-medium
|
||||||
- claude-sonnet-5
|
- claude-sonnet-5
|
||||||
- claude-opus-5
|
- claude-opus-5
|
||||||
|
|
||||||
@@ -51,7 +52,8 @@ tiers:
|
|||||||
qualifies_today:
|
qualifies_today:
|
||||||
- airouter-qwen3
|
- airouter-qwen3
|
||||||
- airouter-deepseekv4flash
|
- airouter-deepseekv4flash
|
||||||
- minimax
|
- minimax-m31-flash-max
|
||||||
|
- minimax-m31-flash-medium
|
||||||
- claude-sonnet-5
|
- claude-sonnet-5
|
||||||
- claude-opus-5
|
- claude-opus-5
|
||||||
- claude-fable-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
|
name: minimax-code-repo
|
||||||
description: "MiniMax code agent — repo clone, agent-repo branch persistence"
|
description: "MiniMax code agent — repo clone, agent-repo branch persistence"
|
||||||
model: minimax
|
model: minimax-m31-flash-max
|
||||||
harness: code-minimax-repo/v1
|
harness: code-minimax-repo/v1
|
||||||
requires_tags: [claude-code, coding-agent, git-access, project-repo]
|
requires_tags: [claude-code, coding-agent, git-access, project-repo]
|
||||||
required_params: [repo_url, agent_repo_url]
|
required_params: [repo_url, agent_repo_url]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: minimax-code-tdd
|
name: minimax-code-tdd
|
||||||
description: "MiniMax code agent with TDD enforcement — tests are read-only and must pass before the task finishes"
|
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
|
harness: code-minimax-tdd-repo/v1
|
||||||
requires_tags: [coding-agent, git-access, project-repo, tdd-gate]
|
requires_tags: [coding-agent, git-access, project-repo, tdd-gate]
|
||||||
required_params: [repo_url, agent_repo_url]
|
required_params: [repo_url, agent_repo_url]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: minimax-planning
|
name: minimax-planning
|
||||||
description: "MiniMax planning agent — specs, reviews, architecture docs"
|
description: "MiniMax planning agent — specs, reviews, architecture docs"
|
||||||
model: minimax
|
model: minimax-m31-flash-max
|
||||||
harness: planning-minimax-repo/v1
|
harness: planning-minimax-repo/v1
|
||||||
requires_tags: [claude-code, planning-agent, git-access, project-repo]
|
requires_tags: [claude-code, planning-agent, git-access, project-repo]
|
||||||
required_params: [repo_url, agent_repo_url]
|
required_params: [repo_url, agent_repo_url]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: minimax-security-review
|
name: minimax-security-review
|
||||||
description: "MiniMax security review agent — security audit via Anthropic-compatible proxy"
|
description: "MiniMax security review agent — security audit via Anthropic-compatible proxy"
|
||||||
model: minimax
|
model: minimax-m31-flash-max
|
||||||
harness: security-review-minimax-repo/v1
|
harness: security-review-minimax-repo/v1
|
||||||
requires_tags: [claude-code, security-reviewer, best-practices, git-access, project-repo]
|
requires_tags: [claude-code, security-reviewer, best-practices, git-access, project-repo]
|
||||||
required_params: [repo_url, agent_repo_url]
|
required_params: [repo_url, agent_repo_url]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: minimax-tdd-impl
|
name: minimax-tdd-impl
|
||||||
description: "MiniMax TDD implementation agent — tests locked read-only, cannot be modified by agent"
|
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
|
harness: minimax-tdd-impl/v1
|
||||||
requires_tags: [claude-code, coding-agent, git-access, project-repo]
|
requires_tags: [claude-code, coding-agent, git-access, project-repo]
|
||||||
required_params: [repo_url, agent_repo_url]
|
required_params: [repo_url, agent_repo_url]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: minimax-test-writer
|
name: minimax-test-writer
|
||||||
description: "MiniMax test writing agent — comprehensive tests with edge cases"
|
description: "MiniMax test writing agent — comprehensive tests with edge cases"
|
||||||
model: minimax
|
model: minimax-m31-flash-max
|
||||||
harness: test-writing-minimax-repo/v1
|
harness: test-writing-minimax-repo/v1
|
||||||
requires_tags: [claude-code, test-writer, best-practices, git-access, project-repo]
|
requires_tags: [claude-code, test-writer, best-practices, git-access, project-repo]
|
||||||
required_params: [repo_url, agent_repo_url]
|
required_params: [repo_url, agent_repo_url]
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ nodes:
|
|||||||
- id: review-minimax
|
- id: review-minimax
|
||||||
kind: agent
|
kind: agent
|
||||||
role: plan-review
|
role: plan-review
|
||||||
model: minimax-m2
|
model: minimax-m31-flash-max
|
||||||
runtime_env:
|
runtime_env:
|
||||||
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
||||||
AGENT_BRANCH: "task/${item.uuid}"
|
AGENT_BRANCH: "task/${item.uuid}"
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ nodes:
|
|||||||
- id: review-minimax
|
- id: review-minimax
|
||||||
kind: agent
|
kind: agent
|
||||||
role: spec-review
|
role: spec-review
|
||||||
model: minimax-m2
|
model: minimax-m31-flash-max
|
||||||
runtime_env:
|
runtime_env:
|
||||||
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
||||||
AGENT_BRANCH: "spec/${item.uuid}"
|
AGENT_BRANCH: "spec/${item.uuid}"
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ nodes:
|
|||||||
role: test-write-review # M36 v0.6 (bug 69370eda fix): role + model replaces
|
role: test-write-review # M36 v0.6 (bug 69370eda fix): role + model replaces
|
||||||
# the ungrounded `template: minimax-test-writer`
|
# the ungrounded `template: minimax-test-writer`
|
||||||
# (a composite that never existed in the catalog).
|
# (a composite that never existed in the catalog).
|
||||||
model: minimax-m2
|
model: minimax-m31-flash-max
|
||||||
runtime_env:
|
runtime_env:
|
||||||
# WF-COMP-15: stage agents share one per-item work branch so their work
|
# WF-COMP-15: stage agents share one per-item work branch so their work
|
||||||
# accumulates across iterations.
|
# accumulates across iterations.
|
||||||
|
|||||||
Reference in New Issue
Block a user