The Problem
Building a document generation tool with OpenRouter API. Three models in rotation. One (aurora-alpha) threw errors but produced excellent output anyway. Documentation: zero.
Constraint: Can’t contact support. Can’t waste time testing blind. Need to know what’s actually running to make cost and reliability decisions.
What Actually Happened
Error log showed:
{"role":"assistant","content":"","refusal":null,"reasoning":null}
Two things didn’t fit:
- Error occurred, job succeeded - no repair loop triggered, output was first-pass quality
refusalandreasoningfields - not in OpenAI’s spec
Pattern match from unrelated project (OpenSwarm): those fields are Anthropic’s format.
The Discovery
openrouter/aurora-alpha isn’t a budget model. It’s Claude Opus (or Sonnet) with vendor aliasing.
Proof:
-
Message structure = Anthropic’s extended format
-
Output quality = Claude’s known performance ceiling
-
Empty intermediate message = Claude’s reasoning-step behavior
Why it matters:
-
Pricing assumptions were wrong (Claude Opus ≠ budget tier)
-
Rate limits are Anthropic’s, not generic OpenRouter
-
Quality expectations recalibrated (can skip aggressive repair loops)
The Method
Don’t fix errors immediately. Read them first.
- Log full response objects (not just content)
- Cross-reference format against known vendor specs
- Correlate message structure with output quality
- Test hypothesis: does behavior match the identified model?
Result: 30 seconds of observation saved hours of blind optimization.
Why This Works
Vendor abstractions leak. Response formats are fingerprints. Most developers smooth over errors too fast to notice.
The error wasn’t noise. It was a tell.
When OpenRouter routes aurora-alpha to Claude, they forward Anthropic’s message format unchanged. The refusal and reasoning fields aren’t bugs — they’re signatures.
Takeaway
Stop treating errors as obstacles. They’re artifacts. If something fails but still works, you’ve found a signal worth investigating.
In this case: the “bug” taught me more about vendor routing than documentation ever would.