feat(tiles): a header names a model read from the CLI's config as such

A session header's tooltip (tile and split) says where a model the CLI did
not report came from; the new `config` source reads
"DeepSeek · qwen3.8-27b (from config)", with the zh-CN pattern
"(来自配置)" (the harness and model names pass through). The header's model
text itself is unchanged. Covered in the chrome tooltip test and the i18n
harvester's exercise.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Codeman maintainer
2026-10-07 20:18:38 +02:00
parent 21ae48a5c8
commit 3104e9945b
4 changed files with 16 additions and 3 deletions
+4
View File
@@ -182,6 +182,10 @@ describe('the harness logo and the model', () => {
app._renderTileChrome();
expect(logoOf('s-b').title).toBe('Claude Code \u00B7 haiku (set at launch)');
expect(logoOf('s-c').title).toBe('Claude Code \u00B7 qwen3.8-27b (custom endpoint)');
app.sessions.get('s-a').displayModel = { model: 'qwen3.8-27b', source: 'config' };
app._renderTileChrome();
expect(logoOf('s-a').title).toBe('DeepSeek \u00B7 qwen3.8-27b (from config)');
expect(modelNameOf('s-a').textContent).toBe('qwen3.8-27b');
expect(modelNameOf('s-b').textContent).toBe('haiku');
});
+5
View File
@@ -153,6 +153,10 @@ async function exercise() {
displayModel: { model: 'qwen3.8-27b', source: 'custom-endpoint' },
});
app.sessions.get('s-6').displayModel = { model: 'Haiku 4.5', source: 'statusline' };
Object.assign(app.sessions.get('s-4'), {
mode: 'deepseek',
displayModel: { model: 'qwen3.8-27b', source: 'config' },
});
let pill = 'idle';
app._sidebarRichRow = () => ({ state: pill, pill, since: { at: 1 } });
app._mobileOverviewStampText = () => '3m';
@@ -324,6 +328,7 @@ describe('every tile grid string the code puts on screen translates to zh-CN', (
'DeepSeek \u00B7 qwen3.8-27b',
'Claude Code \u00B7 haiku (set at launch)',
'Codex \u00B7 qwen3.8-27b (custom endpoint)',
'DeepSeek \u00B7 qwen3.8-27b (from config)',
'Claude Code \u00B7 Haiku 4.5',
'Claude Code',
])