Skip to content

fix: resolve .ai() fields with OpenRouter tier map#14

Merged
AbirAbbas merged 1 commit into
mainfrom
fix/ai-field-resolution
Mar 13, 2026
Merged

fix: resolve .ai() fields with OpenRouter tier map#14
AbirAbbas merged 1 commit into
mainfrom
fix/ai-field-resolution

Conversation

@AbirAbbas
Copy link
Copy Markdown
Contributor

Summary

  • .ai() fields (intake_gate, coverage_gate) use OpenRouter, not the harness provider
  • When provider=claude-code, tier resolution was mapping budget→haiku for ALL fields, causing .ai() calls to fail with "Invalid model spec: 'haiku'. Must include provider prefix"
  • Split ModelConfig.resolve() to use OpenRouter tier map for .ai() fields regardless of provider

Test plan

  • Set HARNESS_PROVIDER=claude-code and run a review — intake_gate should resolve to OpenRouter model ID, harness fields to haiku/sonnet/opus
  • Confirm no regression with HARNESS_PROVIDER=opencode

🤖 Generated with Claude Code

…ider

intake_gate and coverage_gate use .ai() (OpenRouter), not .harness(), so
they need OpenRouter model IDs even when provider is claude-code. Split
tier resolution so .ai() fields always use OpenRouter defaults while
.harness() fields use the provider-aware map.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@AbirAbbas AbirAbbas merged commit 9061c87 into main Mar 13, 2026
2 checks passed
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