Ava: simplify slash commands + provider login flow + static model policy

t-769·WorkTask·
·
·
Created1 week ago·Updated1 week ago·pipeline runs →

Description

Edit

Implement Ava Telegram changes: 1) Replace all slash commands with a single /login command. 2) /login should mirror Omni/Agent login workflow: prompt for provider, then execute provider-specific login over Telegram messages. 3) Set static LLM policy: Ben uses Claude Opus 4.6; all other users use Claude Sonnet 4.6; both default to claude-code provider with fallback providers (e.g. openrouter) retained. 4) Heartbeat generation for Ben should use Sonnet 4.6.

Need code changes in Ava Telegram bot and any shared auth/model selection paths, with verification builds/tests.

Timeline (4)

🔄[human]Open → InProgress1 week ago
💬[human]1 week ago

Implemented and committed ead416d. Ava Telegram now exposes only /login in setMyCommands and command handling. Added provider-selection OAuth flow for /login mirroring agent login (claude-code or openai-codex) over Telegram messages, including pending state tracking and code/redirect exchange. Added non-interactive OpenAI Codex OAuth helpers in Omni/Agent/Auth.hs. Enforced static model policy: owner(ben)=anthropic/claude-opus-4.6, others=anthropic/claude-sonnet-4.6, heartbeat=anthropic/claude-sonnet-4.6. Runtime provider selection now always uses Provider.mkStandardChain (claude-code first, OpenRouter fallback) and reloads OAuth token each turn so /login takes effect immediately.

🔄[human]InProgress → Review1 week ago