Skip to content

refactor(presets): split 'eu' into eu-eco/pro/max, drop xAI Grok#297

Merged
Destynova2 merged 1 commit intomainfrom
feat/eu-preset-split
Apr 27, 2026
Merged

refactor(presets): split 'eu' into eu-eco/pro/max, drop xAI Grok#297
Destynova2 merged 1 commit intomainfrom
feat/eu-preset-split

Conversation

@Destynova2
Copy link
Copy Markdown
Contributor

Summary

Refactors the eu preset (just merged in #296) into three sister presets with different cost/quality balances, and drops xAI Grok for sovereignty correctness.

Preset Cost (4M tok/day, 22d) Estimated SWE-V vs Opus 4.7 (87.6%) Strategy
eu-eco €15-25/month ~75-78% Mid-size only — gpt-oss-120b default, Qwen3-Next-80B think, no 405B/397B heavyweights
eu-pro €40-60/month ~82-85% Balanced — Hermes-4-405B think, Qwen3.5-397B code, Qwen3-Next-80B-Thinking default
eu-max €80-100/month ~85-87% Preemptive — Qwen3.5-397B every default, Hermes-4-405B every think

Quality estimates are extrapolated from open-weight benchmark scores; this PR ships all three so users can grob preset apply <name> and benchmark them on real workloads. The --bench follow-up is intentionally a separate concern.

Why drop xAI Grok

The original eu.toml (#296) included xAI Grok via https://eu-west-1.api.x.ai/v1. After deeper research:

  • xAI publishes a regional endpoint that fail-closes if EU cannot serve, but at-rest residency is unspecified in their public DPA (x.ai/legal/data-processing-addendum says "contact sales").
  • No announced xAI EU datacenter — eu-west-1 is most likely partner-cloud (Memphis is xAI's only confirmed datacenter region).
  • For users who genuinely need strict-EU sovereignty (the audience this preset family targets), this is a contract gap.

The unique benefit Grok provided was the 2M context window. Without it, max EU context drops to ~256k (Scaleway devstral-2-123b / Qwen3.5-397B-A17B). Sessions that exceed 256k normally trigger a Claude Code compact anyway, so the practical impact is minimal.

What changed

  • presets/eu.toml → split into presets/eu-eco.toml, presets/eu-pro.toml, presets/eu-max.toml
  • All three drop the xai_eu provider block and Grok model mappings
  • Long-context tier (min_input_tokens > 150000) re-routes to Scaleway devstral-2 / Qwen3.5-397B (256k native) and Nebius Qwen3-235B (extensible 256k)
  • presets/index.toml updated to list all three

Files

presets/eu.toml            (deleted, replaced by eu-pro.toml)
presets/eu-eco.toml        (new — cheap tier)
presets/eu-pro.toml        (renamed from eu.toml + xAI removed)
presets/eu-max.toml        (new — premium tier)
presets/index.toml         (updated)

Test plan

  • grob preset info eu-eco / eu-pro / eu-max — all parse, providers/models/router slots wired
  • No xAI/Grok references remain (grep -rE 'xai_eu|grok-' presets/eu-*.toml clean)
  • No hardcoded version strings (CI guard)
  • Docs lint passes in CI (markdownlint + lychee)

🤖 Generated with Claude Code

Three tiers of strict-EU sovereign routing for different cost/quality
balances:
- eu-eco  : €15-25/month, ~75-78% SWE-V (mid-size models, no 405B/397B)
- eu-pro  : €40-60/month, ~82-85% SWE-V (Hermes-4-405B + Qwen3.5-397B)
- eu-max  : €80-100/month, ~85-87% SWE-V (preemptive 397B in default)

Drops xAI Grok from all three EU presets. While xAI offers a regional
endpoint at eu-west-1.api.x.ai, the at-rest residency is unspecified
(xAI says "contact sales") and there is no announced xAI EU datacenter.
For strict-EU sovereignty we keep only Scaleway (FR) and Nebius
eu-north1 (Helsinki). Max context drops from 2M (Grok) to ~256k
(Scaleway devstral-2-123b / Qwen3.5-397B), which still covers 99% of
agentic Claude Code workflows — sessions exceeding 256k normally
trigger a compact.

Replaces presets/eu.toml from PR #296 (this PR was opened with one
file; the rename + split is included in this branch).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Destynova2 Destynova2 enabled auto-merge April 27, 2026 19:59
@Destynova2 Destynova2 merged commit 41d7c0e into main Apr 27, 2026
28 checks passed
@Destynova2 Destynova2 deleted the feat/eu-preset-split branch April 27, 2026 19:59
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