**P0 BUGS FIXED:**
- ✅ chat_id now sent to API (critical bug - conversations couldn't continue)
- ✅ OPENWEBUI_TOKEN env var honored (enables CI/headless workflows)
- ✅ CLIError exit codes properly applied (correct status codes 0-5)
**DUPLICATE FUNCTION FIXED:**
- ✅ Renamed duplicate delete() functions in rag.py to delete_file() and delete_collection()
**RUFF STYLE FIXES (25 → 0 issues):**
- ✅ Removed unused imports (Live, Text from chat.py)
- ✅ Fixed import sorting across all modules
- ✅ Fixed all line-too-long errors (broke long strings, extracted variables)
- ✅ All ruff checks now passing
**FUNCTIONAL IMPROVEMENTS:**
- ✅ --format flag now respected in streaming mode (was only non-streaming)
- ✅ Model parameter now optional, falls back to config.defaults.model
- ✅ Better error message when no model specified
**PYDANTIC V2 COMPATIBILITY:**
- ✅ Fixed ConfigDict → SettingsConfigDict for BaseSettings
- ✅ Added types-PyYAML to dev dependencies for mypy
**ENTRY POINT UPDATE:**
- ✅ Changed entry point from main:app to main:cli for proper error handling
**CODE QUALITY:**
- All 14 tests still passing
- All ruff style checks passing
- Mypy type coverage improved (some minor issues remain)
**IMPACT:**
- Fixes 3 critical bugs blocking production use
- Eliminates all style warnings (25 ruff issues → 0)
- Adds missing functionality (format flag, default model)
- Improves CI/automation workflows (env token support)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>