Phase 5 t5_4 (UI adaptations for 11 v2 fields): the simplest
honest adaptation — render small colored badges for the 11
v2 fields where the active vendor+model supports them. Each
badge has a tooltip showing the field name.
The 11 fields:
reasoning, structured_output, code_execution, web_search,
x_search, file_search, mcp_support, audio, video,
grounding, computer_use
A new module-level function _render_v2_capability_badges(caps)
is added to src/gui_2.py (per the HARD RULE on no new
src/<thing>.py files). It's called from render_provider_panel
right after the existing '[Local]' badge (which uses the
runtime override for caps.local).
What this is NOT: a full UI for the 11 fields (per-field
toggles, panels, attachment buttons). Those are design-heavy
work and need their own track. This change gives the user
visibility into which capabilities the active vendor+model
supports, so they can make informed decisions about which
prompts/features to use.
For example, when the user selects qwen-audio, they'll see:
Provider: qwen [Local] Capabilities [Audio]
Which makes it obvious they can attach audio files.
Tests:
- 2 new tests in tests/test_vendor_capabilities.py:
* All 11 v2 fields are present in the helper (drift guard)
* Helper is a no-op on empty caps (no fields True)
- 118/118 vendor+tool+provider+import-isolation tests pass
(no regressions; +2 new tests this commit)
- 3 audit scripts pass