* The code compiles successfully. Let me provide a summary of what was done:
## Summary
I've implemented the fix for the session executor storage format issue:
### Changes Made
1. **`crates/services/src/services/container.rs` (line 912)**
- Changed `executor_profile_id.to_string()` to `executor_profile_id.executor.to_string()`
- This now stores only the base executor name (e.g., `"CLAUDE_CODE"`) instead of the full format with variant (e.g., `"CLAUDE_CODE:ROUTER"`)
2. **`crates/db/migrations/20251220134608_fix_session_executor_format.sql`**
- Added migration to fix existing erroneous entries
- Strips the variant suffix from any executor values containing a colon
- Excludes valid hyphenated values like `dev-server`, `setup-script`, etc.
The fix compiles successfully. This will restore the expected behavior for:
- Capability lookups in `UserMessage.tsx`
- Default profile selection in `CreateAttemptDialog.tsx`
* Simplified. The `LIKE '%:%'` condition is sufficient - it only matches values containing a colon, which are exactly the erroneous `"EXECUTOR:VARIANT"` format entries we need to fix.