AntFleet

Disagreement · 8ff8c1af-anthropic-10

AnthropicProvider passes output_config.effort that has no validation against actual model support

solo Opus
repo 56f59a0d·PR #2·reviewed 4 days ago

Opus finding

AnthropicProvider passes output_config.effort that has no validation against actual model support

lowapi-contractmedium
  • src/providers/anthropic.ts:81-90
  • src/providers/anthropic.ts:156-165
options.effort is typed as `string` in StreamOptions/SendOptions (types.ts line 64). The provider blindly casts it to a tri-state literal and passes through, allowing arbitrary strings to reach the Anthropic API and causing 400 errors for unknown values. Additionally, the default differs between streaming ('high') and non-streaming ('low'), which is a surprising inconsistency — the same call with the same options will request different effort tiers depending on whether streaming is used.

Recommendation

Validate effort against allowed set; align defaults across stream/send; reconsider whether `output_config.effort` is a real Anthropic field (it is not in the public API — possible bug).

Other reviewer

The other reviewer flagged nothing in this file/line range.

Why this didn't post

This finding didn't meet AntFleet's unanimous agreement threshold. Both frontier models review every PR independently; only findings they both flag with the same severity and category are posted to the PR. This one fell through.

read the methodology →

From the same review

These findings passed the unanimous gate on the same PR review. The disagreement above was filtered out; the findings below were posted.