- Add src/infrastructure/router/classifier.py with TaskComplexity enum
and classify_task() heuristic for simple/complex routing
- Add _get_model_for_complexity() to CascadeRouter for fallback chain lookup
- Extend complete() with complexity_hint parameter and auto-classification
- Add fallback_chains config to providers.yaml for qwen3:8b/14b routing
- Fix: use explicit next() comprehension instead of get_model_with_capability
to avoid silent fallback to provider default (0b28497)
- 361 unit tests passing
Fixes#1065
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>