Skip to content

RIG-399 feat: implementation#238

Merged
ArLeyar merged 3 commits intomainfrom
feat/RIG-399-pipeline-engineer-stage
Apr 7, 2026
Merged

RIG-399 feat: implementation#238
ArLeyar merged 3 commits intomainfrom
feat/RIG-399-pipeline-engineer-stage

Conversation

@ArLeyar
Copy link
Copy Markdown
Contributor

@ArLeyar ArLeyar commented Apr 7, 2026

Summary

Pipeline engineer task 20260407-041.

Linear: RIG-399

- display_model_name(): ClaudeCode=shorthand, Qwen=qwen, Gemini=strip gemini- prefix, Codex=explicit ID or nothing
- Qwen completed tasks show duration instead of turns (qwen doesn't report turns)
- Compact view now shows model for running tasks too
- Updated tests: RIG-387 runtime-prefix tests replaced with RIG-399 per-runtime model tests
@ArLeyar ArLeyar added the ai-generated Created by AI agent label Apr 7, 2026
@ArLeyar
Copy link
Copy Markdown
Contributor Author

ArLeyar commented Apr 7, 2026

Code review

Found 2 issues:

  1. Qwen duration displayed twice in compact view — completed Qwen tasks show elapsed time from the row's dur field, then format_cost_turns calls render_field(Turns) which returns the same duration again via the new QwenCode branch, producing output like ✓ task-id code 3m (qwen/3m).

werma/engine/src/notify.rs

Lines 155 to 165 in c51142b

// "gemini-2.5-flash" → rest="2.5-flash" → rsplit last → "flash"
// "gemini-2.5-pro" → rest="2.5-pro" → rsplit last → "pro"
// "gemini-flash" → rest="flash" → no '-' → "flash"
let name = rest.rsplit_once('-').map(|(_, last)| last).unwrap_or(rest);
Some(name.to_string())
} else {
Some(task.model.clone())
}
}
AgentRuntime::Codex => {
// Claude shorthands indicate "use Codex default" — don't show a specific name

  1. Gemini model name mangled for preview/versioned modelsrsplit_once('-') splits at the last hyphen, so gemini-2.5-flash-preview-04-17"17" instead of a meaningful name. The existing test in runner.rs uses gemini-3-flash-preview which would yield "preview". The tests only cover gemini-2.5-flash and gemini-2.5-pro (no hyphens after the version segment).

werma/engine/src/notify.rs

Lines 140 to 152 in c51142b

use crate::models::AgentRuntime;
match task.runtime {
AgentRuntime::ClaudeCode => {
if task.model.is_empty() {
None
} else {
Some(task.model.clone())
}
}
AgentRuntime::QwenCode => Some("qwen".to_string()),
AgentRuntime::GeminiCli => {
// Claude shorthands + empty signal "use Gemini's default" (flash)
if task.model.is_empty() || matches!(task.model.as_str(), "opus" | "sonnet" | "haiku") {

🤖 Generated with Claude Code

- If this code review was useful, please react with 👍. Otherwise, react with 👎.

ArLeyar added 2 commits April 7, 2026 18:00
Fix two review issues:
- Qwen: remove duration from Turns field — it duplicated the time
  column, producing output like "3m  (qwen/3m)"
- Gemini: replace rsplit_once('-') with version-aware parsing that
  skips numeric segments, so "gemini-2.5-flash-preview-04-17" yields
  "flash" instead of "17"
@ArLeyar ArLeyar enabled auto-merge (squash) April 7, 2026 11:05
@ArLeyar ArLeyar merged commit 496902a into main Apr 7, 2026
2 checks passed
@ArLeyar ArLeyar deleted the feat/RIG-399-pipeline-engineer-stage branch April 7, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-generated Created by AI agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant