pipeline model routing: mechanical stages to MiniMax M3, spec stages to Fable low effort

- scaffolding-repo + test-writing-repo: anthropic-cloud-paul-oauth -> minimax + minimax-m3-max
- merge@1: new best-practices-minimax-repo composite (impl-review stays Sonnet)
- spec-draft-opus@1: Opus -> Fable 5 low effort via new fable-low-effort/v1
  env context (ANTHROPIC_MODEL=claude-fable-5, MAX_THINKING_TOKENS=1024) +
  spec-writing-fable-low-repo composite
- review-spec-arch-opus@1: Qwen3.6/airouter -> Fable 5 low effort via
  best-practices-fable-low-repo (arch review was on the cheapest model)

Template names kept (trigger rules reference them). Node model: fields
removed where env pins the model — a --model flag overrides ANTHROPIC_MODEL.

Claude-Session: https://claude.ai/code/session_019tJk7P8tZzJ24PvtgoGhLN
This commit is contained in:
Paul O'Reilly
2026-09-02 21:43:23 +12:00
parent 4201b1ac3a
commit 2fa4dc92c2
9 changed files with 72 additions and 13 deletions

View File

@@ -0,0 +1,11 @@
kind: composite
name: best-practices-fable-low-repo
version: 1
description: "Best practices / spec review agent on Fable 5 (low effort) + repo clone via SSH"
layers:
- context: best-practices/v1
- context: anthropic-cloud-paul-oauth/v1
- context: fable-low-effort/v1
- context: gitea-ssh/v1
- context: agent-repo/v1

View File

@@ -0,0 +1,11 @@
kind: composite
name: best-practices-minimax-repo
version: 1
description: "Best practices review agent on MiniMax M3 (max effort) + repo clone via SSH — mechanical review/merge stages"
layers:
- context: best-practices/v1
- context: minimax/v1
- context: minimax-m3-max/v1
- context: gitea-ssh/v1
- context: agent-repo/v1

View File

@@ -5,6 +5,9 @@ description: "Model-agnostic scaffolding harness — writes stubs for coding age
layers:
- context: scaffolding/v1
- context: anthropic-cloud-paul-oauth/v1
# 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: gitea-ssh/v1
- context: agent-repo/v1

View File

@@ -0,0 +1,11 @@
kind: composite
name: spec-writing-fable-low-repo
version: 1
description: "Spec writing agent on Fable 5 (low effort) + repo clone via SSH"
layers:
- context: spec-writing/v1
- context: anthropic-cloud-paul-oauth/v1
- context: fable-low-effort/v1
- context: gitea-ssh/v1
- context: agent-repo/v1

View File

@@ -5,6 +5,10 @@ description: "Model-agnostic test writing harness — credential layer swappable
layers:
- context: test-writing/v1
- context: anthropic-cloud-paul-oauth/v1
# MiniMax M3 max effort — moved off the personal Anthropic subscription
# 2026-09-02 (the "credential layer swappable" swap this composite was
# designed for).
- context: minimax/v1
- context: minimax-m3-max/v1
- context: gitea-ssh/v1
- context: agent-repo/v1

View File

@@ -0,0 +1,16 @@
kind: context
name: fable-low-effort
version: 1
description: "Pin Claude Fable 5 at low reasoning effort — layer AFTER anthropic-cloud-paul-oauth/v1 (auth comes from there)"
requires: [claude-code]
provides: []
# Model pin + effort dial for Claude Code against the Anthropic cloud.
# - ANTHROPIC_MODEL forces Fable 5; workflow nodes using this layer must
# NOT set a node-level model: (the --model flag would override this env).
# - MAX_THINKING_TOKENS keeps the extended-thinking budget small ("low
# effort") — Fable's raw capability at minimal thinking is the point:
# frontier judgment without frontier token burn.
env:
ANTHROPIC_MODEL: "claude-fable-5"
MAX_THINKING_TOKENS: "1024"

View File

@@ -1,7 +1,9 @@
name: merge
version: 1
description: Prepare a reviewed implementation for merge — runs pre-merge checks and marks item merge-ready
runtime: best-practices-opus-repo
# MiniMax M3 (2026-09-02): merge prep is mechanical (checklist + verdict);
# moved off the Anthropic subscription. impl-review stays on Sonnet.
runtime: best-practices-minimax-repo
input:
state: impl-reviewed
tags_forbidden: []
@@ -15,8 +17,7 @@ scope_budget:
nodes:
- id: agent
kind: agent
template: best-practices-opus-repo
model: sonnet
template: best-practices-minimax-repo
runtime_env:
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
AGENT_BRANCH: "task/${item.uuid}"

View File

@@ -1,7 +1,10 @@
name: review-spec-arch-opus
version: 1
description: Architecture review of a spec draft
runtime: best-practices-airouter-repo
# Fable 5 low effort (2026-09-02) — was Qwen3.6 via airouter, the cheapest
# model reviewing architecture while Claude did scaffolding. Template name
# kept for trigger compat; model comes from the fable-low-effort/v1 env layer.
runtime: best-practices-fable-low-repo
input:
state: spec-draft
tags_forbidden: [security-sensitive]
@@ -15,10 +18,7 @@ scope_budget:
nodes:
- id: agent
kind: agent
template: best-practices-airouter-repo
cli: agentic
model: Qwen3.6
labels: [airouter]
template: best-practices-fable-low-repo
runtime_env:
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
AGENT_BRANCH: "spec/${item.uuid}"

View File

@@ -1,7 +1,10 @@
name: spec-draft-opus
version: 1
description: Draft a spec from an idea using spec-writer agent
runtime: spec-writing-opus-repo
# Fable 5 low effort (2026-09-02) — template name kept for trigger compat.
# Model comes from the fable-low-effort/v1 env layer; no node model: here
# (a --model flag would override ANTHROPIC_MODEL).
runtime: spec-writing-fable-low-repo
input:
state: idea
tags_required: []
@@ -16,8 +19,7 @@ scope_budget:
nodes:
- id: agent
kind: agent
template: spec-writing-opus-repo
model: opus
template: spec-writing-fable-low-repo
runtime_env:
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
AGENT_BRANCH: "spec/${item.uuid}"