oh-my-knowledge 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -63
- package/README.zh.md +64 -62
- package/dist/src/analysis/report-diagnostics.d.ts +28 -3
- package/dist/src/analysis/report-diagnostics.d.ts.map +1 -1
- package/dist/src/analysis/report-diagnostics.js +201 -81
- package/dist/src/analysis/report-diagnostics.js.map +1 -1
- package/dist/src/analysis/sample-diagnostics.d.ts +9 -2
- package/dist/src/analysis/sample-diagnostics.d.ts.map +1 -1
- package/dist/src/analysis/sample-diagnostics.js +224 -25
- package/dist/src/analysis/sample-diagnostics.js.map +1 -1
- package/dist/src/authoring/evolver.d.ts +7 -2
- package/dist/src/authoring/evolver.d.ts.map +1 -1
- package/dist/src/authoring/evolver.js +43 -9
- package/dist/src/authoring/evolver.js.map +1 -1
- package/dist/src/authoring/generator.d.ts +24 -0
- package/dist/src/authoring/generator.d.ts.map +1 -1
- package/dist/src/authoring/generator.js +67 -5
- package/dist/src/authoring/generator.js.map +1 -1
- package/dist/src/cli/coverage-renderer.d.ts +15 -0
- package/dist/src/cli/coverage-renderer.d.ts.map +1 -0
- package/dist/src/cli/coverage-renderer.js +74 -0
- package/dist/src/cli/coverage-renderer.js.map +1 -0
- package/dist/src/cli/i18n-dict.d.ts +1 -1
- package/dist/src/cli/i18n-dict.d.ts.map +1 -1
- package/dist/src/cli/i18n-dict.js +62 -40
- package/dist/src/cli/i18n-dict.js.map +1 -1
- package/dist/src/cli/index.d.ts +3 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/{cli.js → cli/index.js} +123 -384
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/parse-run-config.d.ts +56 -0
- package/dist/src/cli/parse-run-config.d.ts.map +1 -0
- package/dist/src/cli/parse-run-config.js +195 -0
- package/dist/src/cli/parse-run-config.js.map +1 -0
- package/dist/src/cli/progress.d.ts +25 -0
- package/dist/src/cli/progress.d.ts.map +1 -0
- package/dist/src/cli/progress.js +62 -0
- package/dist/src/cli/progress.js.map +1 -0
- package/dist/src/cli/update-check.d.ts +3 -0
- package/dist/src/cli/update-check.d.ts.map +1 -0
- package/dist/src/cli/update-check.js +37 -0
- package/dist/src/cli/update-check.js.map +1 -0
- package/dist/src/eval-core/cache.d.ts +7 -5
- package/dist/src/eval-core/cache.d.ts.map +1 -1
- package/dist/src/eval-core/cache.js +11 -7
- package/dist/src/eval-core/cache.js.map +1 -1
- package/dist/src/eval-core/comparability.d.ts +11 -0
- package/dist/src/eval-core/comparability.d.ts.map +1 -0
- package/dist/src/eval-core/comparability.js +271 -0
- package/dist/src/eval-core/comparability.js.map +1 -0
- package/dist/src/eval-core/dependency-checker.d.ts +1 -1
- package/dist/src/eval-core/dependency-checker.js +1 -1
- package/dist/src/eval-core/evaluation-execution.d.ts +5 -2
- package/dist/src/eval-core/evaluation-execution.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-execution.js +29 -21
- package/dist/src/eval-core/evaluation-execution.js.map +1 -1
- package/dist/src/eval-core/evaluation-job.d.ts +2 -2
- package/dist/src/eval-core/evaluation-job.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-job.js +2 -2
- package/dist/src/eval-core/evaluation-job.js.map +1 -1
- package/dist/src/eval-core/evaluation-reporting.d.ts +3 -1
- package/dist/src/eval-core/evaluation-reporting.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-reporting.js +65 -5
- package/dist/src/eval-core/evaluation-reporting.js.map +1 -1
- package/dist/src/eval-core/execution-strategy.js +6 -6
- package/dist/src/eval-core/execution-strategy.js.map +1 -1
- package/dist/src/eval-core/schema.d.ts.map +1 -1
- package/dist/src/eval-core/schema.js +14 -1
- package/dist/src/eval-core/schema.js.map +1 -1
- package/dist/src/eval-core/verdict.d.ts +3 -3
- package/dist/src/eval-core/verdict.js +3 -3
- package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts +111 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts.map +1 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.js +215 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.js.map +1 -0
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts +7 -5
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js +13 -8
- package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
- package/dist/src/eval-workflows/evaluation-preparation.d.ts +10 -8
- package/dist/src/eval-workflows/evaluation-preparation.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-preparation.js +8 -4
- package/dist/src/eval-workflows/evaluation-preparation.js.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.d.ts +23 -20
- package/dist/src/eval-workflows/run-evaluation.d.ts.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.js +34 -25
- package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
- package/dist/src/executors/claude-cli.d.ts.map +1 -1
- package/dist/src/executors/claude-cli.js +12 -7
- package/dist/src/executors/claude-cli.js.map +1 -1
- package/dist/src/executors/claude-sdk.d.ts +1 -1
- package/dist/src/executors/claude-sdk.js +1 -1
- package/dist/src/executors/codex-cli-trace.d.ts +10 -0
- package/dist/src/executors/codex-cli-trace.d.ts.map +1 -0
- package/dist/src/executors/codex-cli-trace.js +123 -0
- package/dist/src/executors/codex-cli-trace.js.map +1 -0
- package/dist/src/executors/codex-cli.d.ts +18 -0
- package/dist/src/executors/codex-cli.d.ts.map +1 -0
- package/dist/src/executors/codex-cli.js +254 -0
- package/dist/src/executors/codex-cli.js.map +1 -0
- package/dist/src/executors/codex-sdk.d.ts +18 -0
- package/dist/src/executors/codex-sdk.d.ts.map +1 -0
- package/dist/src/executors/codex-sdk.js +214 -0
- package/dist/src/executors/codex-sdk.js.map +1 -0
- package/dist/src/executors/gemini.d.ts.map +1 -1
- package/dist/src/executors/gemini.js +28 -24
- package/dist/src/executors/gemini.js.map +1 -1
- package/dist/src/executors/index.d.ts.map +1 -1
- package/dist/src/executors/index.js +7 -2
- package/dist/src/executors/index.js.map +1 -1
- package/dist/src/executors/runtime-fingerprint.d.ts +7 -0
- package/dist/src/executors/runtime-fingerprint.d.ts.map +1 -0
- package/dist/src/executors/runtime-fingerprint.js +277 -0
- package/dist/src/executors/runtime-fingerprint.js.map +1 -0
- package/dist/src/executors/script.d.ts.map +1 -1
- package/dist/src/executors/script.js +48 -56
- package/dist/src/executors/script.js.map +1 -1
- package/dist/src/executors/shared.d.ts +78 -1
- package/dist/src/executors/shared.d.ts.map +1 -1
- package/dist/src/executors/shared.js +203 -1
- package/dist/src/executors/shared.js.map +1 -1
- package/dist/src/grading/assertions.d.ts.map +1 -1
- package/dist/src/grading/assertions.js +21 -6
- package/dist/src/grading/assertions.js.map +1 -1
- package/dist/src/grading/gold-dataset.d.ts +1 -1
- package/dist/src/grading/gold-dataset.js +1 -1
- package/dist/src/grading/index.d.ts.map +1 -1
- package/dist/src/grading/index.js +11 -0
- package/dist/src/grading/index.js.map +1 -1
- package/dist/src/grading/judge.d.ts.map +1 -1
- package/dist/src/grading/judge.js +75 -6
- package/dist/src/grading/judge.js.map +1 -1
- package/dist/src/inputs/eval-config.js +2 -2
- package/dist/src/inputs/eval-config.js.map +1 -1
- package/dist/src/inputs/load-samples.d.ts.map +1 -1
- package/dist/src/inputs/load-samples.js +30 -4
- package/dist/src/inputs/load-samples.js.map +1 -1
- package/dist/src/inputs/skill-loader.d.ts +2 -2
- package/dist/src/inputs/skill-loader.d.ts.map +1 -1
- package/dist/src/inputs/skill-loader.js +2 -2
- package/dist/src/inputs/skill-loader.js.map +1 -1
- package/dist/src/renderer/html-renderer.d.ts +5 -4
- package/dist/src/renderer/html-renderer.d.ts.map +1 -1
- package/dist/src/renderer/html-renderer.js +217 -93
- package/dist/src/renderer/html-renderer.js.map +1 -1
- package/dist/src/renderer/layout.d.ts +2 -1
- package/dist/src/renderer/layout.d.ts.map +1 -1
- package/dist/src/renderer/layout.js +30 -42
- package/dist/src/renderer/layout.js.map +1 -1
- package/dist/src/renderer/summary.d.ts +3 -3
- package/dist/src/renderer/summary.d.ts.map +1 -1
- package/dist/src/renderer/summary.js +232 -55
- package/dist/src/renderer/summary.js.map +1 -1
- package/dist/src/renderer/trends.d.ts.map +1 -1
- package/dist/src/renderer/trends.js +5 -3
- package/dist/src/renderer/trends.js.map +1 -1
- package/dist/src/server/report-server.js +4 -4
- package/dist/src/server/report-server.js.map +1 -1
- package/dist/src/server/report-store.d.ts +7 -5
- package/dist/src/server/report-store.d.ts.map +1 -1
- package/dist/src/server/report-store.js +39 -11
- package/dist/src/server/report-store.js.map +1 -1
- package/dist/src/types/eval.d.ts +27 -5
- package/dist/src/types/eval.d.ts.map +1 -1
- package/dist/src/types/executor.d.ts +5 -0
- package/dist/src/types/executor.d.ts.map +1 -1
- package/dist/src/types/judge.d.ts +10 -0
- package/dist/src/types/judge.d.ts.map +1 -1
- package/dist/src/types/report.d.ts +151 -29
- package/dist/src/types/report.d.ts.map +1 -1
- package/dist/src/types/storage.d.ts +7 -7
- package/dist/src/types/storage.d.ts.map +1 -1
- package/package.json +14 -5
- package/dist/src/cli.d.ts +0 -3
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js.map +0 -1
- package/dist/src/eval-workflows/each-evaluation-workflow.d.ts +0 -153
- package/dist/src/eval-workflows/each-evaluation-workflow.d.ts.map +0 -1
- package/dist/src/eval-workflows/each-evaluation-workflow.js +0 -178
- package/dist/src/eval-workflows/each-evaluation-workflow.js.map +0 -1
- package/dist/src/executors/openai-cli.d.ts +0 -3
- package/dist/src/executors/openai-cli.d.ts.map +0 -1
- package/dist/src/executors/openai-cli.js +0 -60
- package/dist/src/executors/openai-cli.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HTML report renderer — orchestrates sub-modules.
|
|
3
3
|
*/
|
|
4
|
-
import { e, fmtCost, fmtDuration, COLORS, DEFAULT_LANG, t, layout } from './layout.js';
|
|
4
|
+
import { e, fmtCost, fmtDuration, fmtKnownCost, COLORS, DEFAULT_LANG, t, layout } from './layout.js';
|
|
5
5
|
import { renderAgentOverview, renderAnalysis, renderHumanAgreement, renderKnowledgeInteractionSection, renderPairwiseDiff, renderSaturationCurve, renderSummaryCards, renderVarianceComparisons, renderVerdictPill, levelLabel, levelTooltip, } from './summary.js';
|
|
6
6
|
import { renderSampleTable } from './table.js';
|
|
7
7
|
import { renderTrendsBody } from './trends.js';
|
|
@@ -19,6 +19,89 @@ function levelDot(level) {
|
|
|
19
19
|
case 'SOLO': return '○';
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
+
function isEvaluationReport(document) {
|
|
23
|
+
return document.kind === 'evaluation';
|
|
24
|
+
}
|
|
25
|
+
function scoreOf(summary) {
|
|
26
|
+
return summary?.avgCompositeScore ?? summary?.avgLlmScore ?? null;
|
|
27
|
+
}
|
|
28
|
+
function improvementOf(baselineScore, skillScore) {
|
|
29
|
+
if (typeof baselineScore !== 'number' || typeof skillScore !== 'number' || baselineScore <= 0)
|
|
30
|
+
return '-';
|
|
31
|
+
const delta = ((skillScore - baselineScore) / baselineScore * 100).toFixed(0);
|
|
32
|
+
return skillScore >= baselineScore ? `+${delta}%` : `${delta}%`;
|
|
33
|
+
}
|
|
34
|
+
function renderRuntimeTag(runtime, label, lang) {
|
|
35
|
+
if (!runtime)
|
|
36
|
+
return '';
|
|
37
|
+
const versions = [];
|
|
38
|
+
if (runtime.binary?.version)
|
|
39
|
+
versions.push(`${lang === 'zh' ? '二进制' : 'binary'} ${runtime.binary.version}`);
|
|
40
|
+
if (runtime.sdk?.version)
|
|
41
|
+
versions.push(`sdk ${runtime.sdk.version}`);
|
|
42
|
+
const versionText = versions.length > 0 ? ` · ${versions.map(e).join(' · ')}` : '';
|
|
43
|
+
const title = lang === 'zh'
|
|
44
|
+
? [
|
|
45
|
+
`executor=${runtime.executor}`,
|
|
46
|
+
`model=${runtime.model}`,
|
|
47
|
+
`kind=${runtime.kind}`,
|
|
48
|
+
`system=${runtime.capabilities.systemPrompt}`,
|
|
49
|
+
`cost=${runtime.capabilities.costUSD}`,
|
|
50
|
+
`trace=${runtime.capabilities.trace}`,
|
|
51
|
+
`skillIsolation=${runtime.capabilities.skillIsolation}`,
|
|
52
|
+
].join('; ')
|
|
53
|
+
: [
|
|
54
|
+
`executor=${runtime.executor}`,
|
|
55
|
+
`model=${runtime.model}`,
|
|
56
|
+
`kind=${runtime.kind}`,
|
|
57
|
+
`system=${runtime.capabilities.systemPrompt}`,
|
|
58
|
+
`cost=${runtime.capabilities.costUSD}`,
|
|
59
|
+
`trace=${runtime.capabilities.trace}`,
|
|
60
|
+
`skillIsolation=${runtime.capabilities.skillIsolation}`,
|
|
61
|
+
].join('; ');
|
|
62
|
+
return `<span class="meta-tag" title="${e(title)}">${e(label)}: <code>${e(runtime.fingerprint)}</code>${versionText}</span>`;
|
|
63
|
+
}
|
|
64
|
+
function costCompletenessTooltip(lang) {
|
|
65
|
+
return lang === 'zh'
|
|
66
|
+
? '部分 executor 或评委不回传 USD 成本。这里显示的是已上报成本下界,真实花费可能更高。'
|
|
67
|
+
: 'Some executors or judges do not report USD cost. This is a lower bound from reported costs; actual spend may be higher.';
|
|
68
|
+
}
|
|
69
|
+
function renderDebiasModeTag(modes, lang) {
|
|
70
|
+
if (!modes || modes.length === 0)
|
|
71
|
+
return '';
|
|
72
|
+
const labels = modes.map((mode) => {
|
|
73
|
+
if (mode === 'length')
|
|
74
|
+
return lang === 'zh' ? '长度偏差' : 'length bias';
|
|
75
|
+
if (mode === 'position')
|
|
76
|
+
return lang === 'zh' ? '位置偏差' : 'position bias';
|
|
77
|
+
return mode;
|
|
78
|
+
});
|
|
79
|
+
const title = lang === 'zh'
|
|
80
|
+
? '评委评分偏差控制:长度偏差=提醒评委不要因为答案更长就给更高分;位置偏差=随机化多评委顺序'
|
|
81
|
+
: 'Judge scoring bias controls: length bias = do not reward longer answers; position bias = randomize ensemble order';
|
|
82
|
+
return `<span class="meta-tag" title="${e(title)}">${lang === 'zh' ? '评分偏差控制' : 'Judge bias control'}: ${labels.map(e).join(' · ')}</span>`;
|
|
83
|
+
}
|
|
84
|
+
function pluralizeEn(count, singular, plural = `${singular}s`) {
|
|
85
|
+
return `${count} ${count === 1 ? singular : plural}`;
|
|
86
|
+
}
|
|
87
|
+
function renderJudgeRuntimeTags(meta, lang) {
|
|
88
|
+
if (meta.judgeRuntimes && Object.keys(meta.judgeRuntimes).length > 0) {
|
|
89
|
+
return Object.entries(meta.judgeRuntimes)
|
|
90
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
91
|
+
.map(([key, runtime]) => renderRuntimeTag(runtime, lang === 'zh' ? `评委指纹 ${key}` : `Judge runtime ${key}`, lang))
|
|
92
|
+
.join('');
|
|
93
|
+
}
|
|
94
|
+
return renderRuntimeTag(meta.judgeRuntime, lang === 'zh' ? '评委指纹' : 'Judge runtime', lang);
|
|
95
|
+
}
|
|
96
|
+
function renderExecutorRuntimeTags(meta, lang) {
|
|
97
|
+
if (meta.executorRuntimes && Object.keys(meta.executorRuntimes).length > 0) {
|
|
98
|
+
return Object.entries(meta.executorRuntimes)
|
|
99
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
100
|
+
.map(([key, runtime]) => renderRuntimeTag(runtime, lang === 'zh' ? `执行器指纹 ${key}` : `Executor runtime ${key}`, lang))
|
|
101
|
+
.join('');
|
|
102
|
+
}
|
|
103
|
+
return renderRuntimeTag(meta.executorRuntime, lang === 'zh' ? '执行器指纹' : 'Executor runtime', lang);
|
|
104
|
+
}
|
|
22
105
|
export function renderRunList(runs, lang = DEFAULT_LANG) {
|
|
23
106
|
const langQ = lang === DEFAULT_LANG ? '' : `?lang=${lang}`;
|
|
24
107
|
const skillHealthLink = `<a href="/analyses${langQ}" style="color:var(--text-muted);font-size:12px;text-decoration:none;border:1px solid var(--border);padding:4px 10px;border-radius:var(--radius);display:inline-block">📊 <span data-i18n="skillHealthTitle">${t('skillHealthTitle', lang)}</span> →</a>`;
|
|
@@ -33,6 +116,38 @@ export function renderRunList(runs, lang = DEFAULT_LANG) {
|
|
|
33
116
|
`, lang);
|
|
34
117
|
}
|
|
35
118
|
const rows = runs.map((run) => {
|
|
119
|
+
if (run.kind === 'batch-evaluation') {
|
|
120
|
+
const m = run.meta;
|
|
121
|
+
const scoreCol = run.items.length > 0
|
|
122
|
+
? run.items.map((item) => {
|
|
123
|
+
const baselineScore = scoreOf(item.summary.baseline);
|
|
124
|
+
const skillScore = scoreOf(item.summary[item.name]);
|
|
125
|
+
const score = skillScore ?? baselineScore;
|
|
126
|
+
if (score == null)
|
|
127
|
+
return `<span style="color:var(--text-muted)">${e(item.name)}: -</span>`;
|
|
128
|
+
const color = score >= 4 ? 'var(--green)' : score >= 3 ? 'var(--yellow)' : 'var(--red)';
|
|
129
|
+
const barW = Math.round((score / 5) * 100);
|
|
130
|
+
return `<div style="display:flex;align-items:center;gap:6px;margin:2px 0">` +
|
|
131
|
+
`<span title="${e(item.name)}" style="font-size:11px;color:var(--text-muted);width:56px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0">${e(item.name)}</span>` +
|
|
132
|
+
`<div style="width:64px;height:6px;background:var(--bg-surface);border-radius:3px;flex-shrink:0">` +
|
|
133
|
+
`<div style="width:${barW}%;height:100%;background:${color};border-radius:3px"></div></div>` +
|
|
134
|
+
`<span style="font-size:12px;font-weight:600;color:${color};min-width:24px">${score.toFixed(2)}</span></div>`;
|
|
135
|
+
}).join('')
|
|
136
|
+
: '<div style="color:var(--text-faint);font-size:0.6875rem;text-align:center">no score</div>';
|
|
137
|
+
const allCostReported = run.items.every((item) => Object.values(item.summary || {}).every((v) => v.execCostReported !== false && v.judgeCostReported !== false));
|
|
138
|
+
const totalCostReported = m.totalCostReported !== false && allCostReported;
|
|
139
|
+
const totalDurationMs = run.items.reduce((sum, item) => (sum + Object.values(item.summary || {}).reduce((inner, v) => inner + (v.avgDurationMs || 0) * (v.successCount || 0), 0)), 0);
|
|
140
|
+
const statusPill = `<span class="run-status" title="${lang === 'zh' ? '批量评测' : 'batch evaluation'}"><span class="run-status-dot" aria-hidden="true">◇</span>${lang === 'zh' ? '批量' : 'Batch'}</span>`;
|
|
141
|
+
return `<tr>
|
|
142
|
+
<td>${statusPill}<a href="/reports/${e(run.id)}${langQ}"><span style="color:var(--text-primary)">${e(run.id)}</span><br><span style="font-size:0.6875rem;color:var(--text-muted)">${m.timestamp ? new Date(m.timestamp).toLocaleString('zh-CN', { month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' }) : e(run.id)}</span></a></td>
|
|
143
|
+
<td>${e(m.model || '-')}</td>
|
|
144
|
+
<td>${m.sampleCount || 0}</td>
|
|
145
|
+
<td>${scoreCol}</td>
|
|
146
|
+
<td title="${totalCostReported ? '' : e(costCompletenessTooltip(lang))}">${fmtKnownCost(m.totalCostUSD || 0, totalCostReported)}</td>
|
|
147
|
+
<td>${fmtDuration(totalDurationMs)}</td>
|
|
148
|
+
<td style="white-space:nowrap"><button onclick="deleteRun('${e(run.id)}',this)" class="btn-danger" data-i18n="deleteBtnText">${t('deleteBtnText', lang)}</button></td>
|
|
149
|
+
</tr>`;
|
|
150
|
+
}
|
|
36
151
|
const m = run.meta;
|
|
37
152
|
const hasScores = Object.values(run.summary || {}).some((s) => typeof s.avgCompositeScore === 'number' || typeof s.avgLlmScore === 'number');
|
|
38
153
|
const scoreCol = hasScores
|
|
@@ -52,9 +167,8 @@ export function renderRunList(runs, lang = DEFAULT_LANG) {
|
|
|
52
167
|
const badges = ''; // TODO: artifact kind 体系完善后,按 kind 显示评测类型标签
|
|
53
168
|
// v0.21 B.4 — 列表页 verdict pill: 一眼分辨 progress / regress / noise.
|
|
54
169
|
// computeVerdict 是同步纯函数(report -> level),per row 跑成本 O(samples).
|
|
55
|
-
//
|
|
56
|
-
// try/catch
|
|
57
|
-
// 撤掉). verdict.ts 的 defensive 修复另立 task.
|
|
170
|
+
// 脏报告可能让 layer-gates 访问 undefined.avgFactScore 抛 NPE。
|
|
171
|
+
// try/catch 兜底,失败的 row 不显示 pill,避免一个坏 report 撤掉整页。
|
|
58
172
|
let statusPill = '';
|
|
59
173
|
try {
|
|
60
174
|
const verdict = computeVerdict(run);
|
|
@@ -63,7 +177,7 @@ export function renderRunList(runs, lang = DEFAULT_LANG) {
|
|
|
63
177
|
}
|
|
64
178
|
catch { /* skip pill on this row */ }
|
|
65
179
|
return `<tr>
|
|
66
|
-
<td>${statusPill}<a href="/reports/${e(run.id)}"><span style="color:var(--text-primary)">${e(run.id)}${badges}</span><br><span style="font-size:0.6875rem;color:var(--text-muted)">${(() => {
|
|
180
|
+
<td>${statusPill}<a href="/reports/${e(run.id)}${langQ}"><span style="color:var(--text-primary)">${e(run.id)}${badges}</span><br><span style="font-size:0.6875rem;color:var(--text-muted)">${(() => {
|
|
67
181
|
// Extract date/time from report ID: ...-YYYYMMDD-HHmm
|
|
68
182
|
const idMatch = run.id.match(/(\d{4})(\d{2})(\d{2})-(\d{2})(\d{2})$/);
|
|
69
183
|
if (idMatch)
|
|
@@ -73,17 +187,43 @@ export function renderRunList(runs, lang = DEFAULT_LANG) {
|
|
|
73
187
|
<td>${e(m.model || '-')}</td>
|
|
74
188
|
<td>${m.sampleCount || 0}</td>
|
|
75
189
|
<td>${scoreCol}</td>
|
|
76
|
-
<td>${
|
|
190
|
+
<td>${(() => {
|
|
191
|
+
const cost = Object.values(run.summary || {}).reduce((s, v) => s + (v.totalExecCostUSD || 0), 0);
|
|
192
|
+
const reported = Object.values(run.summary || {}).every((v) => v.execCostReported !== false);
|
|
193
|
+
return fmtCost(cost, reported);
|
|
194
|
+
})()}</td>
|
|
77
195
|
<td>${fmtDuration(Object.values(run.summary || {}).reduce((s, v) => s + (v.avgDurationMs || 0) * (v.successCount || 0), 0))}</td>
|
|
78
196
|
<td style="white-space:nowrap"><button onclick="deleteRun('${e(run.id)}',this)" class="btn-danger" data-i18n="deleteBtnText">${t('deleteBtnText', lang)}</button></td>
|
|
79
197
|
</tr>`;
|
|
80
198
|
}).join('');
|
|
81
199
|
const runCount = lang === 'zh' ? `${runs.length} 次评测` : `${runs.length} runs`;
|
|
82
|
-
|
|
83
|
-
|
|
200
|
+
// 列表累计:只 sum 那些"全 variant 都报告了 cost"的 run,跳过任一 variant not reported 的。
|
|
201
|
+
// 排除 not reported(而不是把整体压成「—」)是因为列表常含数十个 run 仅 1-2 个是 codex,
|
|
202
|
+
// 把全部 sum 抹成「—」会丢掉绝大多数有效成本信息。
|
|
203
|
+
const evaluationRuns = runs.filter(isEvaluationReport);
|
|
204
|
+
const reportableRuns = evaluationRuns.filter((r) => Object.values(r.summary || {}).every((v) => v.execCostReported !== false));
|
|
205
|
+
const unmeasuredRunsCount = evaluationRuns.length - reportableRuns.length;
|
|
206
|
+
const totalCost = reportableRuns.reduce((s, r) => s + Object.values(r.summary || {}).reduce((sv, v) => sv + (v.totalExecCostUSD || 0), 0), 0);
|
|
207
|
+
// partial:有 reported 就显示数字 + tooltip;全部 not reported 才显示「—」;
|
|
208
|
+
// 全 reported(unmeasuredRunsCount=0)走老格式不包 span,保持 HTML snapshot 向后兼容。
|
|
209
|
+
// X/N 限定信息只放 tooltip,不挂在显眼位置 — 累计行视觉应该是单纯的数字。
|
|
210
|
+
const allUnmeasured = reportableRuns.length === 0 && runs.length > 0;
|
|
211
|
+
const baseLabel = lang === 'zh' ? '累计' : 'Total';
|
|
212
|
+
const costNumber = fmtCost(totalCost, !allUnmeasured);
|
|
213
|
+
let costLabel;
|
|
214
|
+
if (unmeasuredRunsCount === 0) {
|
|
215
|
+
// 全 reported → 跟旧版字节级一致,不破 snapshot
|
|
216
|
+
costLabel = `${baseLabel} ${costNumber}`;
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
const tip = lang === 'zh'
|
|
220
|
+
? `${reportableRuns.length}/${evaluationRuns.length} 次单次报告了 USD 成本;${unmeasuredRunsCount} 次 executor 不报(如 codex CLI),batch index 不计入累计以避免重复`
|
|
221
|
+
: `${reportableRuns.length}/${evaluationRuns.length} evaluation reports reported USD cost; ${unmeasuredRunsCount} excluded (executor doesn't report, e.g. codex CLI); batch indexes are excluded to avoid double counting`;
|
|
222
|
+
costLabel = `<span title="${e(tip)}">${baseLabel} ${costNumber}</span>`;
|
|
223
|
+
}
|
|
84
224
|
// Collect variants with ≥2 reports for trend links
|
|
85
225
|
const variantCounts = {};
|
|
86
|
-
for (const run of
|
|
226
|
+
for (const run of evaluationRuns) {
|
|
87
227
|
for (const v of (run.meta?.variants || [])) {
|
|
88
228
|
if (v === 'baseline')
|
|
89
229
|
continue;
|
|
@@ -92,28 +232,13 @@ export function renderRunList(runs, lang = DEFAULT_LANG) {
|
|
|
92
232
|
}
|
|
93
233
|
const trendLinks = Object.entries(variantCounts)
|
|
94
234
|
.filter(([, count]) => count >= 2)
|
|
95
|
-
.map(([v]) => `<a href="/trends/${encodeURIComponent(v)}" style="display:inline-block;margin:4px 6px 4px 0;padding:3px 10px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);color:var(--accent);text-decoration:none">${e(v)} (${variantCounts[v]})</a>`)
|
|
235
|
+
.map(([v]) => `<a href="/trends/${encodeURIComponent(v)}${langQ}" style="display:inline-block;margin:4px 6px 4px 0;padding:3px 10px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);color:var(--accent);text-decoration:none">${e(v)} (${variantCounts[v]})</a>`)
|
|
96
236
|
.join('');
|
|
97
237
|
const trendsSection = trendLinks ? `<div style="margin:12px 0"><span style="font-size:12px;color:var(--text-muted);margin-right:8px">${lang === 'zh' ? '📈 趋势:' : '📈 Trends:'}</span>${trendLinks}</div>` : '';
|
|
98
|
-
// v0.21 B.4 — verdict 图例条. 默认展示, × 关闭后 localStorage 记忆.
|
|
99
|
-
// 按 verdict.ts 的 worst-case roll-up 顺序排列 (REGRESS / CAUTIOUS /
|
|
100
|
-
// UNDERPOWERED / NOISE / PROGRESS), 让用户从最严重的状态开始扫.
|
|
101
|
-
const legendLevels = ['PROGRESS', 'CAUTIOUS', 'NOISE', 'REGRESS', 'UNDERPOWERED', 'SOLO'];
|
|
102
|
-
const legendItems = legendLevels.map((lvl) => `<span class="verdict-legend-item verdict-${lvl}" title="${e(levelTooltip(lvl, lang))}"><span class="verdict-legend-dot" aria-hidden="true">${levelDot(lvl)}</span>${e(levelLabel(lvl, lang))}</span>`).join('');
|
|
103
|
-
const legendHtml = `<div id="verdict-legend" class="verdict-legend" role="region" aria-label="${e(t('verdictLegendLabel', lang))}">
|
|
104
|
-
<span class="verdict-legend-prefix">${e(t('verdictLegendLabel', lang))}</span>
|
|
105
|
-
${legendItems}
|
|
106
|
-
<button class="verdict-legend-close" onclick="dismissVerdictLegend()" aria-label="${e(t('verdictLegendClose', lang))}">×</button>
|
|
107
|
-
</div>
|
|
108
|
-
<script>
|
|
109
|
-
(function(){var el=document.getElementById('verdict-legend');if(el&&localStorage.getItem('omk-verdict-legend-dismissed')==='1')el.hidden=true;})();
|
|
110
|
-
window.dismissVerdictLegend=function(){var el=document.getElementById('verdict-legend');if(el)el.hidden=true;try{localStorage.setItem('omk-verdict-legend-dismissed','1');}catch(e){}};
|
|
111
|
-
</script>`;
|
|
112
238
|
return layout(t('title', lang), `
|
|
113
239
|
<main>
|
|
114
240
|
<h1>${t('title', lang)}</h1>
|
|
115
241
|
<p class="subtitle" data-i18n="subtitle">${t('subtitle', lang)} · ${runCount} · ${costLabel}</p>
|
|
116
|
-
${legendHtml}
|
|
117
242
|
${trendsSection}
|
|
118
243
|
<div style="margin:12px 0">${skillHealthLink}</div>
|
|
119
244
|
<div style="margin:12px 0;display:flex;gap:8px;align-items:center">
|
|
@@ -164,10 +289,11 @@ export function renderRunList(runs, lang = DEFAULT_LANG) {
|
|
|
164
289
|
`, lang);
|
|
165
290
|
}
|
|
166
291
|
export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
292
|
+
const langQ = lang === DEFAULT_LANG ? '' : `?lang=${lang}`;
|
|
167
293
|
if (!report) {
|
|
168
294
|
return layout(t('title', lang), `
|
|
169
295
|
<main>
|
|
170
|
-
<nav class="nav"><a href="
|
|
296
|
+
<nav class="nav"><a href="/${langQ}">${t('backToList', lang)}</a></nav>
|
|
171
297
|
<h1>Run not found</h1>
|
|
172
298
|
</main>
|
|
173
299
|
`, lang);
|
|
@@ -183,6 +309,10 @@ export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
|
183
309
|
const verdictPill = renderVerdictPill(report, lang);
|
|
184
310
|
const sampleTable = renderSampleTable(variants, results, lang);
|
|
185
311
|
const totalExecCost = Object.values(summary).reduce((s, v) => s + (v.totalExecCostUSD || 0), 0);
|
|
312
|
+
// 任一 variant exec cost 未报告 → 总 cost 不可靠,renderer 显示「—」+ tooltip。
|
|
313
|
+
// 全部 reported(undefined / true)才正常显示 USD 数字。
|
|
314
|
+
const execCostReported = Object.values(summary).every((v) => v.execCostReported !== false);
|
|
315
|
+
const totalCostReported = m.totalCostReported !== false && Object.values(summary).every((v) => v.execCostReported !== false && v.judgeCostReported !== false);
|
|
186
316
|
const totalDurationMs = Object.values(summary).reduce((s, v) => s + (v.avgDurationMs || 0) * (v.successCount || 0), 0);
|
|
187
317
|
const sourceLabels = {
|
|
188
318
|
zh: { 'variant-name': '本地文件', 'file-path': '本地文件', git: 'Git 版本', inline: '内联', baseline: '无', custom: '自定义' },
|
|
@@ -196,6 +326,10 @@ export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
|
196
326
|
zh: { baseline: '无注入', 'system-prompt': '系统提示词', 'user-prompt': '用户提示词', 'agent-session': 'Agent 会话', 'workflow-session': '工作流会话' },
|
|
197
327
|
en: { baseline: 'None', 'system-prompt': 'System prompt', 'user-prompt': 'User prompt', 'agent-session': 'Agent session', 'workflow-session': 'Workflow session' },
|
|
198
328
|
};
|
|
329
|
+
const artifactKindLabels = {
|
|
330
|
+
zh: { baseline: '基线', skill: 'Skill', prompt: 'Prompt', agent: 'Agent', workflow: 'Workflow' },
|
|
331
|
+
en: { baseline: 'Baseline', skill: 'Skill', prompt: 'Prompt', agent: 'Agent', workflow: 'Workflow' },
|
|
332
|
+
};
|
|
199
333
|
const variantConfigRows = (m.variantConfigs || []).map((config, i) => {
|
|
200
334
|
const expTypeRaw = config.experimentType || '-';
|
|
201
335
|
const expType = (typeLabels[lang] || typeLabels.en)[String(expTypeRaw)] || expTypeRaw;
|
|
@@ -211,7 +345,7 @@ export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
|
211
345
|
return `<tr>
|
|
212
346
|
<td style="border-left:3px solid ${color};padding-left:12px"><strong>${e(config.variant)}</strong></td>
|
|
213
347
|
<td>${e(expType)}</td>
|
|
214
|
-
<td>${e(config.artifactKind)}</td>
|
|
348
|
+
<td>${e((artifactKindLabels[lang] || artifactKindLabels.en)[config.artifactKind] || config.artifactKind)}</td>
|
|
215
349
|
<td>${e(source)}</td>
|
|
216
350
|
<td>${e(strategy)}</td>
|
|
217
351
|
<td title="${e(cwdRaw)}">${e(runtimeContext)}</td>
|
|
@@ -223,7 +357,7 @@ export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
|
223
357
|
: '';
|
|
224
358
|
const experimentSummary = lang === 'zh'
|
|
225
359
|
? `${m.sampleCount} 个测评用例 × ${variants.length} 组实验${repeatSuffix}`
|
|
226
|
-
: `${m.sampleCount}
|
|
360
|
+
: `${pluralizeEn(m.sampleCount, 'sample')} × ${pluralizeEn(variants.length, 'variant')}${repeatSuffix}`;
|
|
227
361
|
const variantConfigSection = variantConfigRows ? `
|
|
228
362
|
<section style="margin:20px 0">
|
|
229
363
|
<h2 style="display:flex;align-items:center;gap:4px">${t('variantConfig', lang)} <button type="button" class="hint-btn" onclick="openModal('${configModalId}')" aria-label="${e(t('variantConfigDesc', lang))}" aria-haspopup="dialog">?</button></h2>
|
|
@@ -271,7 +405,7 @@ export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
|
271
405
|
` : '';
|
|
272
406
|
return layout(`${report.id}`, `
|
|
273
407
|
<main>
|
|
274
|
-
<nav class="nav"><a href="
|
|
408
|
+
<nav class="nav"><a href="/${langQ}" data-i18n="backToList">${t('backToList', lang)}</a></nav>
|
|
275
409
|
<h1>${e(report.id)}</h1>
|
|
276
410
|
${verdictPill}
|
|
277
411
|
<div class="meta-tags">
|
|
@@ -281,13 +415,14 @@ export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
|
281
415
|
: `<span class="meta-tag">${t('judge', lang)}: ${e(m.judgeModel || 'none')}</span>`}
|
|
282
416
|
${m.judgeRepeat && m.judgeRepeat > 1 ? `<span class="meta-tag" title="${t('judgeStddevDesc', lang)}">${t('judgeRepeatLabel', lang)}: ${m.judgeRepeat}</span>` : ''}
|
|
283
417
|
<span class="meta-tag">${t('executor', lang)}: ${e(m.executor || 'claude')}</span>
|
|
284
|
-
<span class="meta-tag">${t('cost', lang)}: ${fmtCost(totalExecCost)}</span>
|
|
285
|
-
<span class="meta-tag"
|
|
286
|
-
|
|
287
|
-
${m.
|
|
418
|
+
<span class="meta-tag"${execCostReported ? '' : ` title="${e(lang === 'zh' ? 'executor 不报 USD 成本(如 codex CLI),无法估算' : 'executor does not report USD cost (e.g. codex CLI); not measurable')}"`}>${t('cost', lang)}: ${fmtCost(totalExecCost, execCostReported)}</span>
|
|
419
|
+
<span class="meta-tag"${totalCostReported ? '' : ` title="${e(costCompletenessTooltip(lang))}"`}>${t('totalCost', lang)}: ${fmtKnownCost(m.totalCostUSD, totalCostReported)}</span>
|
|
420
|
+
<span class="meta-tag">${lang === 'zh' ? '耗时' : 'Duration'}: ${fmtDuration(totalDurationMs)}</span>
|
|
421
|
+
${m.gitInfo ? `<span class="meta-tag">${lang === 'zh' ? '提交' : 'commit'}: ${e(m.gitInfo.commitShort)}${m.gitInfo.dirty ? '*' : ''} (${e(m.gitInfo.branch)})</span>` : ''}
|
|
422
|
+
${m.judgePromptHash ? `<span class="meta-tag" title="${t('judgePromptHashDesc', lang)}">${t('judgePromptHashLabel', lang)}: <code>${e(m.judgePromptHash)}</code></span>` : ''}${renderExecutorRuntimeTags(m, lang)}${renderJudgeRuntimeTags(m, lang)}
|
|
288
423
|
${m.sampleHashes ? `<span class="meta-tag" style="color:var(--text-muted)" title="${t('sampleHashCountDesc', lang)}">${t('sampleHashCount', lang)}: ${Object.keys(m.sampleHashes).length}/${m.sampleCount}</span>` : ''}
|
|
289
424
|
${m.evaluationFramework ? `<span class="meta-tag" title="${t('evalFrameworkDesc', lang)}">${t('evalFrameworkLabel', lang)}: ${m.evaluationFramework === 'bootstrap' ? t('evalFrameworkBootstrap', lang) : m.evaluationFramework === 'both' ? t('evalFrameworkBoth', lang) : t('evalFrameworkTTest', lang)}</span>` : ''}
|
|
290
|
-
${m.debiasMode
|
|
425
|
+
${renderDebiasModeTag(m.debiasMode, lang)}
|
|
291
426
|
${m.blind ? `<span class="meta-tag" style="color:var(--green)" data-i18n="blindLabel">${t('blindLabel', lang)}</span>` : ''}
|
|
292
427
|
</div>
|
|
293
428
|
${m.blind ? `
|
|
@@ -302,9 +437,9 @@ export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
|
302
437
|
|
|
303
438
|
<section>${cards}${pairwiseDiff}${humanAgreement}${saturationCurve}</section>
|
|
304
439
|
|
|
305
|
-
${renderVarianceComparisons(report.variance, lang, Boolean(report.meta.layeredStats))}
|
|
440
|
+
${renderVarianceComparisons(report.variance, lang, Boolean(report.meta.layeredStats), summary)}
|
|
306
441
|
|
|
307
|
-
${renderAnalysis(report
|
|
442
|
+
${renderAnalysis(report, lang)}
|
|
308
443
|
|
|
309
444
|
${renderAgentOverview(variants, summary, lang)}
|
|
310
445
|
|
|
@@ -315,97 +450,86 @@ export function renderRunDetail(report, lang = DEFAULT_LANG) {
|
|
|
315
450
|
</main>
|
|
316
451
|
`, lang);
|
|
317
452
|
}
|
|
318
|
-
export function
|
|
453
|
+
export function renderBatchEvaluationDetail(report, lang = DEFAULT_LANG) {
|
|
454
|
+
const langQ = lang === DEFAULT_LANG ? '' : `?lang=${lang}`;
|
|
319
455
|
if (!report) {
|
|
320
456
|
return layout(t('title', lang), `
|
|
321
457
|
<main>
|
|
322
|
-
<nav class="nav"><a href="
|
|
458
|
+
<nav class="nav"><a href="/${langQ}">${t('backToList', lang)}</a></nav>
|
|
323
459
|
<h1>Run not found</h1>
|
|
324
460
|
</main>
|
|
325
461
|
`, lang);
|
|
326
462
|
}
|
|
327
463
|
const m = report.meta;
|
|
328
|
-
const
|
|
329
|
-
const
|
|
330
|
-
// Overview table
|
|
331
|
-
const overviewRows = (overview?.artifacts || []).map((sk) => {
|
|
332
|
-
const bs = typeof sk.baselineScore === 'number' ? sk.baselineScore.toFixed(2) : '-';
|
|
333
|
-
const ss = typeof sk.artifactScore === 'number' ? sk.artifactScore.toFixed(2) : '-';
|
|
334
|
-
const imp = sk.improvement || '-';
|
|
335
|
-
const impColor = imp.startsWith('+') ? 'var(--green)' : imp.startsWith('-') ? 'var(--red)' : 'var(--text-muted)';
|
|
336
|
-
return `<tr>
|
|
337
|
-
<td><a href="#skill-${e(sk.name)}">${e(sk.name)}</a></td>
|
|
338
|
-
<td>${bs}</td>
|
|
339
|
-
<td>${ss}</td>
|
|
340
|
-
<td style="color:${impColor};font-weight:600">${imp}</td>
|
|
341
|
-
</tr>`;
|
|
342
|
-
}).join('');
|
|
343
|
-
// Per-artifact detail sections
|
|
344
|
-
const skillSections = eachArtifacts.map((sk) => {
|
|
345
|
-
const variants = ['baseline', 'skill'];
|
|
346
|
-
const summary = sk.summary || {};
|
|
347
|
-
// 传 sk.variance 给 summaryCards, 稳定性 CV 列才有数据 (非 each 模式是传 report.variance)
|
|
348
|
-
const cards = renderSummaryCards(variants, summary, lang, sk.variance);
|
|
349
|
-
const sampleTable = renderSampleTable(variants, sk.results, lang);
|
|
350
|
-
// --each --repeat N 时每个 skill 有自己的 variance; 复用 bench 的 renderVarianceComparisons
|
|
351
|
-
const varianceBlock = sk.variance
|
|
352
|
-
? renderVarianceComparisons(sk.variance, lang, Boolean(report.meta.layeredStats))
|
|
353
|
-
: '';
|
|
354
|
-
const hashShort = sk.artifactHash ? e(sk.artifactHash).slice(0, 12) : '-';
|
|
355
|
-
const hashBlock = sk.artifactHash
|
|
356
|
-
? `<span title="${t('artifactHashTooltip', lang)}"><span data-i18n="artifactHashLabel">${t('artifactHashLabel', lang)}</span>: <code style="font-family:ui-monospace,SFMono-Regular,Menlo,monospace">${hashShort}</code></span>`
|
|
357
|
-
: '';
|
|
358
|
-
return `
|
|
359
|
-
<section id="skill-${e(sk.name)}" style="margin-top:36px;padding-top:20px;border-top:1px solid var(--border)">
|
|
360
|
-
<h2>${e(sk.name)}</h2>
|
|
361
|
-
<p style="font-size:12px;color:var(--text-muted)">${t('samples', lang)}: ${sk.sampleCount}${hashBlock ? ' · ' + hashBlock : ''}</p>
|
|
362
|
-
${cards}
|
|
363
|
-
${varianceBlock}
|
|
364
|
-
${sampleTable}
|
|
365
|
-
</section>
|
|
366
|
-
`;
|
|
367
|
-
}).join('');
|
|
368
|
-
// 轮次信息放总览。统一用 · 分隔(each 下 skills×samples 不是严格乘法,避免 × 的误导)
|
|
464
|
+
const allCostReported = report.items.every((item) => Object.values(item.summary || {}).every((v) => v.execCostReported !== false && v.judgeCostReported !== false));
|
|
465
|
+
const totalCostReported = m.totalCostReported !== false && allCostReported;
|
|
369
466
|
const repeatN = report.meta.request?.repeat;
|
|
370
467
|
const repeatSegment = repeatN && repeatN > 1
|
|
371
468
|
? (lang === 'zh' ? ` · ${repeatN} 轮重复` : ` · ${repeatN} runs`)
|
|
372
469
|
: '';
|
|
373
470
|
const overviewSubtitle = lang === 'zh'
|
|
374
|
-
? `${
|
|
375
|
-
: `${
|
|
471
|
+
? `${m.totalArtifacts || report.items.length} 个 Skill · ${m.sampleCount || 0} 个评测用例${repeatSegment} · ${fmtKnownCost(m.totalCostUSD || 0, totalCostReported)}`
|
|
472
|
+
: `${pluralizeEn(m.totalArtifacts || report.items.length, 'skill')} · ${pluralizeEn(m.sampleCount || 0, 'sample')}${repeatSegment} · ${fmtKnownCost(m.totalCostUSD || 0, totalCostReported)}`;
|
|
473
|
+
const rows = report.items.map((item) => {
|
|
474
|
+
const baselineScore = scoreOf(item.summary.baseline);
|
|
475
|
+
const skillScore = scoreOf(item.summary[item.name]);
|
|
476
|
+
const improvement = improvementOf(baselineScore, skillScore);
|
|
477
|
+
const impColor = improvement.startsWith('+') ? 'var(--green)' : improvement.startsWith('-') ? 'var(--red)' : 'var(--text-muted)';
|
|
478
|
+
const hashShort = item.artifactHash ? e(item.artifactHash).slice(0, 12) : '-';
|
|
479
|
+
return `<tr>
|
|
480
|
+
<td><a href="/reports/${encodeURIComponent(item.reportId)}${langQ}">${e(item.name)}</a></td>
|
|
481
|
+
<td>${typeof baselineScore === 'number' ? baselineScore.toFixed(2) : '-'}</td>
|
|
482
|
+
<td>${typeof skillScore === 'number' ? skillScore.toFixed(2) : '-'}</td>
|
|
483
|
+
<td style="color:${impColor};font-weight:600">${improvement}</td>
|
|
484
|
+
<td>${item.sampleCount}</td>
|
|
485
|
+
<td>${fmtCost(item.totalCostUSD, allCostReported)}</td>
|
|
486
|
+
<td><code style="font-family:ui-monospace,SFMono-Regular,Menlo,monospace">${hashShort}</code></td>
|
|
487
|
+
</tr>`;
|
|
488
|
+
}).join('');
|
|
376
489
|
return layout(`${t('reportTitle', lang)} - ${report.id}`, `
|
|
377
490
|
<main>
|
|
378
|
-
<nav class="nav"><a href="
|
|
491
|
+
<nav class="nav"><a href="/${langQ}" data-i18n="backToList">${t('backToList', lang)}</a></nav>
|
|
379
492
|
<h1>${e(report.id)}</h1>
|
|
380
493
|
<div class="meta-tags">
|
|
494
|
+
<span class="meta-tag">${lang === 'zh' ? '类型' : 'type'}: batch evaluation</span>
|
|
381
495
|
<span class="meta-tag">${t('model', lang)}: ${e(m.model)}</span>
|
|
382
|
-
|
|
496
|
+
${m.judgeModels && m.judgeModels.length >= 2
|
|
497
|
+
? `<span class="meta-tag" title="${t('ensembleDesc', lang)}">${t('judgeModelsLabel', lang)}: ${m.judgeModels.map((j) => e(j)).join(' · ')}</span>`
|
|
498
|
+
: `<span class="meta-tag">${t('judge', lang)}: ${e(m.judgeModel || 'none')}</span>`}
|
|
383
499
|
<span class="meta-tag">${t('executor', lang)}: ${e(m.executor || 'claude')}</span>
|
|
384
|
-
|
|
500
|
+
${renderExecutorRuntimeTags(m, lang)}${renderJudgeRuntimeTags(m, lang)}
|
|
501
|
+
<span class="meta-tag"${totalCostReported ? '' : ` title="${e(costCompletenessTooltip(lang))}"`}>${t('totalCost', lang)}: ${fmtKnownCost(m.totalCostUSD, totalCostReported)}</span>
|
|
385
502
|
</div>
|
|
386
503
|
|
|
387
504
|
<section>
|
|
388
|
-
<h2>${t('
|
|
389
|
-
|
|
505
|
+
<h2>${t('batchOverview', lang)}</h2>
|
|
390
506
|
<p style="font-size:13px;color:var(--text-muted)">${overviewSubtitle}</p>
|
|
391
507
|
<div class="table-wrap">
|
|
392
508
|
<table>
|
|
393
509
|
<thead><tr>
|
|
394
|
-
<th>${t('
|
|
395
|
-
<th>${t('
|
|
396
|
-
<th>${t('
|
|
397
|
-
<th>${t('
|
|
510
|
+
<th>${t('batchSkill', lang)}</th>
|
|
511
|
+
<th>${t('batchBaseline', lang)}</th>
|
|
512
|
+
<th>${t('batchWithSkill', lang)}</th>
|
|
513
|
+
<th>${t('batchImprovement', lang)}</th>
|
|
514
|
+
<th>${t('samples', lang)}</th>
|
|
515
|
+
<th>${t('cost', lang)}</th>
|
|
516
|
+
<th>${t('artifactHashLabel', lang)}</th>
|
|
398
517
|
</tr></thead>
|
|
399
|
-
<tbody>${
|
|
518
|
+
<tbody>${rows}</tbody>
|
|
400
519
|
</table>
|
|
401
520
|
</div>
|
|
402
521
|
</section>
|
|
403
522
|
|
|
404
|
-
${skillSections}
|
|
405
|
-
|
|
406
523
|
</main>
|
|
407
524
|
`, lang);
|
|
408
525
|
}
|
|
526
|
+
export function renderReportDocumentDetail(report, lang = DEFAULT_LANG) {
|
|
527
|
+
if (!report)
|
|
528
|
+
return renderRunDetail(null, lang);
|
|
529
|
+
return report.kind === 'batch-evaluation'
|
|
530
|
+
? renderBatchEvaluationDetail(report, lang)
|
|
531
|
+
: renderRunDetail(report, lang);
|
|
532
|
+
}
|
|
409
533
|
export function renderTrendsPage(variantName, runs, lang = DEFAULT_LANG) {
|
|
410
534
|
const body = renderTrendsBody(variantName, runs, lang);
|
|
411
535
|
return layout(`${variantName} — ${lang === 'zh' ? '趋势' : 'Trends'}`, `<main>${body}</main>`, lang);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-renderer.js","sourceRoot":"","sources":["../../../src/renderer/html-renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"html-renderer.js","sourceRoot":"","sources":["../../../src/renderer/html-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import type { Lang } from '../types/index.js';
|
|
|
2
2
|
export declare function e(text: unknown): string;
|
|
3
3
|
export declare function fmtNum(n: number | undefined | null, digits?: number): string;
|
|
4
4
|
export declare function fmtDuration(ms: number | undefined | null): string;
|
|
5
|
-
export declare function fmtCost(usd: number | undefined | null): string;
|
|
5
|
+
export declare function fmtCost(usd: number | undefined | null, reported?: boolean): string;
|
|
6
|
+
export declare function fmtKnownCost(usd: number | undefined | null, fullyReported?: boolean): string;
|
|
6
7
|
export declare function fmtLocalTime(isoStr: string): string;
|
|
7
8
|
export declare function delta(a: number | undefined | null, b: number | undefined | null, lowerIsBetter?: boolean): string;
|
|
8
9
|
export declare const COLORS: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/renderer/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,wBAAgB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOvC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAE/E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAOjE;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/renderer/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,wBAAgB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOvC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAE/E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAOjE;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,QAAQ,GAAE,OAAc,GAAG,MAAM,CAMxF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,aAAa,GAAE,OAAc,GAAG,MAAM,CAIlG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,aAAa,GAAE,OAAe,GAAG,MAAM,CAOxH;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,EAAiH,CAAC;AAE7I,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiOrD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,IAAW,CAAC;AAEvC,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,IAAmB,GAAG,MAAM,CAEhE;AA6ED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAmB,GAAG,MAAM,CAgVrF"}
|