- engine/agents.all_agents() now enriches each agent row with its
currently-assigned model (model_for_agent) and provider
(provider_for_model). Same source of truth as the LLM client.
- web/app.js refreshAgentCards() shows a coloured tag next to the
agent name: a green '💻 <model>' badge for local Ollama models,
a yellow '☁ <model>' badge for OpenRouter models. The full
model name is in the title attribute (hover).
- web/style.css: .model-tag.local / .cloud colour palette.
- Short name helper strips 'org/' prefix and ':latest' suffix for
readability (e.g. 'anthropic/claude-3.5-haiku' -> 'claude-3.5-haiku').
All 100 tests still pass.
Live: Anchor + Flora show '☁ claude-3.5-haiku' / '☁ gpt-4o-mini',
Lovely + Spark show '💻 gemma4' (running on 192.168.1.245).