claude-opus-5 @ medium · CC
CCmedium
- config
- claude-opus-5-eff-medium--cli--claude-code--dev
- batch
- 2026-07-19--unified
- transport
- claude-code-cli-headless
- protocol
- cli · plan
- served model
- claude-opus-5
- 采集于
- 2026年7月18日 11:54 · N=2
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
claude-opus-5 @low · CC0.70claude-fable-5 @low · CC0.69claude-opus-5 @xhigh · CC0.69claude-opus-4-8 @low · CC0.67claude-opus-4-8 @high · kiro0.67最远
qwen3.6-plus · go0.51claude-opus-4-5 · kiro0.55gpt-5.6-luna @max · codex-oauth0.55gemini-3.1-pro-preview @low · api0.55claude-sonnet-4 · kiro0.56限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempmatch展示值:25.3
- min tempmatch展示值:16
- hourlyambiguouscoverage · 0 命中 · 0 不符 · 24 未展示
- request sidematch0 处违规
extractor fidelity-extractor-v1+Berlin-2026-07-15
源码 —— 原始模型输出,一字节未改
下载 card.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=1280, initial-scale=1" />
<title>Weather Card</title>
<style>
:root{
--bg-0:#0b1020;
--bg-1:#141c34;
--card:rgba(255,255,255,.055);
--card-line:rgba(255,255,255,.11);
--ink:#f2f5fb;
--ink-2:#aeb9d4;
--ink-3:#7d88a6;
--accent:#7cc4ff;
--accent-2:#ffd08a;
--shadow:0 30px 80px -30px rgba(0,0,0,.75);
--r:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
background:
radial-gradient(1100px 700px at 15% -10%, rgba(124,196,255,.20), transparent 60%),
radial-gradient(900px 600px at 95% 110%, rgba(255,168,120,.16), transparent 60%),
linear-gradient(160deg,var(--bg-0) 0%, var(--bg-1) 60%, #0a0f1e 100%);
color:var(--ink);
min-height:100vh;
display:flex;align-items:center;justify-content:center;
padding:40px;
-webkit-font-smoothing:antialiased;
}
.card{
width:1120px;
background:linear-gradient(155deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
border:1px solid var(--card-line);
border-radius:calc(var(--r) + 8px);
box-shadow:var(--shadow);
backdrop-filter:blur(18px);
overflow:hidden;
opacity:0;transform:translateY(10px);
animation:rise .6s cubic-bezier(.2,.7,.3,1) forwards;
}
@keyframes rise{to{opacity:1;transform:none}}
.top{
display:grid;grid-template-columns:1.05fr 1fr;
gap:0;
}
.left{padding:44px 40px 38px 46px;border-right:1px solid var(--card-line)}
.right{padding:44px 46px 38px 40px;display:flex;flex-direction:column;gap:26px}
.eyebrow{
display:flex;align-items:center;gap:10px;
font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);
}
.dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
h1{font-size:40px;font-weight:600;letter-spacing:-.02em;margin-top:12px;line-height:1.1}
.date{margin-top:8px;color:var(--ink-2);font-size:15px}
.coords{margin-top:4px;color:var(--ink-3);font-size:12.5px;font-variant-numeric:tabular-nums}
.now{display:flex;align-items:center;gap:28px;margin-top:38px}
.temp{
font-size:104px;font-weight:250;letter-spacing:-.045em;line-height:.9;
font-variant-numeric:tabular-nums;
background:linear-gradient(180deg,#fff,#b9c7e6);
-webkit-background-clip:text;background-clip:text;color:transparent;
}
.temp sup{font-size:34px;font-weight:300;vertical-align:top;position:relative;top:12px;left:2px}
.icon{width:112px;height:112px;flex:0 0 auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.4))}
.cond{margin-top:22px;font-size:21px;font-weight:500;color:#e7ecf8}
.cond-sub{margin-top:6px;color:var(--ink-3);font-size:13.5px}
.hilo{display:flex;gap:12px;margin-top:30px}
.pill{
flex:1;background:var(--card);border:1px solid var(--card-line);
border-radius:16px;padding:16px 18px;
}
.pill .lab{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:7px}
.pill .val{font-size:30px;font-weight:350;margin-top:8px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.arrow{width:11px;height:11px}
.hi .val{color:#ffd08a}
.lo .val{color:#93d5ff}
.sect-title{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.chartwrap{
background:var(--card);border:1px solid var(--card-line);border-radius:20px;
padding:20px 18px 12px;position:relative;
}
svg.chart{display:block;width:100%;height:236px;overflow:visible}
.gl{stroke:rgba(255,255,255,.07);stroke-width:1}
.glab{fill:var(--ink-3);font-size:10.5px;font-variant-numeric:tabular-nums}
.xlab{fill:var(--ink-3);font-size:10.5px;text-anchor:middle}
.line{fill:none;stroke:url(#stroke);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.pt{fill:#0f1730;stroke:#cfe4ff;stroke-width:2}
.hot{fill:#ffd08a}
.cold{fill:#93d5ff}
.tag{font-size:11px;font-variant-numeric:tabular-nums;text-anchor:middle;font-weight:600}
.hours{
display:grid;grid-template-columns:repeat(12,1fr);gap:6px;
}
.hcell{
background:var(--card);border:1px solid var(--card-line);border-radius:11px;
padding:9px 4px 8px;text-align:center;
}
.hcell .h{font-size:10px;color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:.03em}
.hcell .t{font-size:14px;margin-top:4px;font-variant-numeric:tabular-nums;color:#e9eefb}
.foot{
border-top:1px solid var(--card-line);
padding:14px 46px;display:flex;justify-content:space-between;align-items:center;
color:var(--ink-3);font-size:11.5px;letter-spacing:.04em;
}
.state{padding:90px 46px;text-align:center}
.state h2{font-size:24px;font-weight:600;margin-bottom:10px}
.state p{color:var(--ink-2);font-size:14.5px;line-height:1.6;max-width:560px;margin:0 auto}
.state .code{margin-top:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ink-3);word-break:break-all}
.err-badge{
width:56px;height:56px;border-radius:50%;margin:0 auto 22px;
background:rgba(255,110,110,.14);border:1px solid rgba(255,110,110,.35);
display:flex;align-items:center;justify-content:center;color:#ff9a9a;font-size:26px;font-weight:300;
}
.skel{background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.14),rgba(255,255,255,.06));
background-size:200% 100%;animation:sh 1.3s linear infinite;border-radius:10px}
@keyframes sh{to{background-position:-200% 0}}
</style>
</head>
<body>
<div class="card" id="card">
<div class="state">
<div class="skel" style="width:200px;height:14px;margin:0 auto 18px"></div>
<div class="skel" style="width:360px;height:34px;margin:0 auto 14px"></div>
<div class="skel" style="width:620px;height:180px;margin:26px auto 0"></div>
</div>
</div>
<script>
(function(){
var qs = new URLSearchParams(location.search);
function num(v, d){ var n = parseFloat(v); return isFinite(n) ? n : d; }
var lat = num(qs.get('lat'), 52.52);
var lon = num(qs.get('lon'), 13.405);
var name = (qs.get('name') || '').trim() || 'Berlin';
function todayUTC(){
var n = new Date();
return n.getUTCFullYear() + '-' + pad(n.getUTCMonth()+1) + '-' + pad(n.getUTCDate());
}
function pad(n){ return (n < 10 ? '0' : '') + n; }
var dateRaw = (qs.get('date') || '').trim();
var date = /^\d{4}-\d{2}-\d{2}$/.test(dateRaw) ? dateRaw : todayUTC();
var isPast = date < todayUTC();
var base = isPast ? '/api/om/archive' : '/api/om/forecast';
var params = new URLSearchParams({
latitude: String(lat),
longitude: String(lon),
daily: 'temperature_2m_max,temperature_2m_min,weather_code',
hourly: 'temperature_2m',
timezone: 'UTC',
temperature_unit: 'celsius',
start_date: date,
end_date: date
});
var url = base + '?' + params.toString();
var WMO = {
0:['Clear sky','clear'],
1:['Mainly clear','partly'],2:['Partly cloudy','partly'],3:['Overcast','cloud'],
45:['Fog','fog'],48:['Depositing rime fog','fog'],
51:['Light drizzle','drizzle'],53:['Moderate drizzle','drizzle'],55:['Dense drizzle','drizzle'],
56:['Light freezing drizzle','drizzle'],57:['Dense freezing drizzle','drizzle'],
61:['Slight rain','rain'],63:['Moderate rain','rain'],65:['Heavy rain','rain'],
66:['Light freezing rain','rain'],67:['Heavy freezing rain','rain'],
71:['Slight snow fall','snow'],73:['Moderate snow fall','snow'],75:['Heavy snow fall','snow'],
77:['Snow grains','snow'],
80:['Slight rain showers','rain'],81:['Moderate rain showers','rain'],82:['Violent rain showers','rain'],
85:['Slight snow showers','snow'],86:['Heavy snow showers','snow'],
95:['Thunderstorm','storm'],96:['Thunderstorm with slight hail','storm'],99:['Thunderstorm with heavy hail','storm']
};
function icon(kind){
var sun = '<circle cx="34" cy="34" r="13" fill="url(#gsun)"/>' +
'<g stroke="#ffcf7a" stroke-width="3.4" stroke-linecap="round" opacity=".95">' +
'<line x1="34" y1="8" x2="34" y2="15"/><line x1="34" y1="53" x2="34" y2="60"/>' +
'<line x1="8" y1="34" x2="15" y2="34"/><line x1="53" y1="34" x2="60" y2="34"/>' +
'<line x1="16" y1="16" x2="21" y2="21"/><line x1="47" y1="47" x2="52" y2="52"/>' +
'<line x1="16" y1="52" x2="21" y2="47"/><line x1="47" y1="21" x2="52" y2="16"/></g>';
var cloud = '<path d="M34 74a17 17 0 0 1-1.6-33.9A24 24 0 0 1 78 45.5 15 15 0 0 1 76 74z" fill="url(#gcloud)"/>';
var smallSun = '<circle cx="38" cy="30" r="12" fill="url(#gsun)"/>' +
'<g stroke="#ffcf7a" stroke-width="3" stroke-linecap="round" opacity=".9">' +
'<line x1="38" y1="8" x2="38" y2="13"/><line x1="16" y1="30" x2="21" y2="30"/>' +
'<line x1="22" y1="14" x2="26" y2="18"/><line x1="54" y1="14" x2="50" y2="18"/></g>';
var drops = function(n, col){
var s = '', xs = [40, 56, 72];
for (var i=0;i<n;i++){
s += '<line x1="'+xs[i]+'" y1="80" x2="'+(xs[i]-5)+'" y2="94" stroke="'+col+'" stroke-width="4" stroke-linecap="round" opacity=".9"/>';
}
return s;
};
var flakes = '';
[40,56,72].forEach(function(x){
flakes += '<g stroke="#cdeaff" stroke-width="3" stroke-linecap="round" opacity=".95">' +
'<line x1="'+x+'" y1="82" x2="'+x+'" y2="92"/>' +
'<line x1="'+(x-4.5)+'" y1="84.5" x2="'+(x+4.5)+'" y2="89.5"/>' +
'<line x1="'+(x+4.5)+'" y1="84.5" x2="'+(x-4.5)+'" y2="89.5"/></g>';
});
var body;
if (kind === 'clear') body = sun;
else if (kind === 'partly') body = smallSun + '<path d="M38 78a16 16 0 0 1-1.5-31.9A22 22 0 0 1 79 51 14 14 0 0 1 77 78z" fill="url(#gcloud)"/>';
else if (kind === 'cloud') body = cloud;
else if (kind === 'fog') body = cloud + '<g stroke="#b9c7e6" stroke-width="4" stroke-linecap="round" opacity=".75">' +
'<line x1="30" y1="84" x2="82" y2="84"/><line x1="38" y1="94" x2="74" y2="94"/></g>';
else if (kind === 'drizzle') body = cloud + drops(2, '#8fd0ff');
else if (kind === 'rain') body = cloud + drops(3, '#7cc4ff');
else if (kind === 'snow') body = cloud + flakes;
else if (kind === 'storm') body = cloud + '<path d="M56 78 L44 96 L54 96 L48 112 L68 90 L57 90 L64 78 Z" fill="#ffd08a"/>';
else body = cloud;
return '<svg class="icon" viewBox="0 0 112 112" aria-hidden="true">' +
'<defs>' +
'<linearGradient id="gsun" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#ffe6ab"/><stop offset="1" stop-color="#ffb15c"/></linearGradient>' +
'<linearGradient id="gcloud" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#f4f8ff"/><stop offset="1" stop-color="#b3c3e0"/></linearGradient>' +
'</defs>' + body + '</svg>';
}
function esc(s){
return String(s).replace(/[&<>"']/g, function(c){
return {'&':'&','<':'<','>':'>','"':'"',"'":'''}[c];
});
}
function fmtDate(d){
var p = d.split('-');
var dt = new Date(Date.UTC(+p[0], +p[1]-1, +p[2]));
var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
var mon = ['January','February','March','April','May','June','July','August','September','October','November','December'];
return days[dt.getUTCDay()] + ', ' + mon[dt.getUTCMonth()] + ' ' + dt.getUTCDate() + ', ' + dt.getUTCFullYear();
}
function t(v){ return (v === null || v === undefined || !isFinite(v)) ? '–' : (Math.round(v * 10) / 10).toFixed(1); }
function t0(v){ return (v === null || v === undefined || !isFinite(v)) ? '–' : String(Math.round(v)); }
function fail(msg, detail){
document.getElementById('card').innerHTML =
'<div class="state">' +
'<div class="err-badge">!</div>' +
'<h2>Weather data could not be loaded</h2>' +
'<p>' + esc(msg) + '</p>' +
'<div class="code">' + esc(detail || url) + '</div>' +
'</div>';
}
function chart(times, temps){
var W = 640, H = 236, padL = 34, padR = 14, padT = 18, padB = 26;
var iw = W - padL - padR, ih = H - padT - padB;
var vals = temps.filter(function(v){ return isFinite(v); });
if (!vals.length) return '';
var mn = Math.min.apply(null, vals), mx = Math.max.apply(null, vals);
if (mx - mn < 1) { mx += 0.5; mn -= 0.5; }
var padv = (mx - mn) * 0.18;
var lo = Math.floor((mn - padv) * 2) / 2, hi = Math.ceil((mx + padv) * 2) / 2;
var n = temps.length;
function X(i){ return padL + (n === 1 ? iw / 2 : iw * i / (n - 1)); }
function Y(v){ return padT + ih * (1 - (v - lo) / (hi - lo)); }
var s = '<svg class="chart" viewBox="0 0 ' + W + ' ' + H + '" preserveAspectRatio="none">';
s += '<defs>' +
'<linearGradient id="stroke" x1="0" y1="0" x2="0" y2="1">' +
'<stop offset="0" stop-color="#ffcf8f"/><stop offset="1" stop-color="#7cc4ff"/></linearGradient>' +
'<linearGradient id="fill" x1="0" y1="0" x2="0" y2="1">' +
'<stop offset="0" stop-color="#ffcf8f" stop-opacity=".28"/>' +
'<stop offset="1" stop-color="#7cc4ff" stop-opacity=".02"/></linearGradient>' +
'</defs>';
var ticks = 4;
for (var g = 0; g <= ticks; g++){
var v = lo + (hi - lo) * g / ticks, y = Y(v);
s += '<line class="gl" x1="' + padL + '" y1="' + y.toFixed(1) + '" x2="' + (W - padR) + '" y2="' + y.toFixed(1) + '"/>';
s += '<text class="glab" x="' + (padL - 8) + '" y="' + (y + 3.5).toFixed(1) + '" text-anchor="end">' + t0(v) + '°</text>';
}
var segs = [], cur = [];
temps.forEach(function(v, i){
if (isFinite(v)) cur.push([X(i), Y(v)]);
else { if (cur.length) segs.push(cur); cur = []; }
});
if (cur.length) segs.push(cur);
segs.forEach(function(seg){
var d = seg.map(function(p, i){ return (i ? 'L' : 'M') + p[0].toFixed(1) + ' ' + p[1].toFixed(1); }).join(' ');
if (seg.length > 1){
s += '<path d="' + d + ' L' + seg[seg.length-1][0].toFixed(1) + ' ' + (padT + ih) +
' L' + seg[0][0].toFixed(1) + ' ' + (padT + ih) + ' Z" fill="url(#fill)"/>';
}
s += '<path class="line" d="' + d + '"/>';
});
var iMax = -1, iMin = -1;
temps.forEach(function(v, i){
if (!isFinite(v)) return;
if (iMax < 0 || v > temps[iMax]) iMax = i;
if (iMin < 0 || v < temps[iMin]) iMin = i;
});
temps.forEach(function(v, i){
if (!isFinite(v)) return;
if (i % 3 === 0 || i === iMax || i === iMin){
s += '<circle class="pt" cx="' + X(i).toFixed(1) + '" cy="' + Y(v).toFixed(1) + '" r="3"/>';
}
});
[[iMax,'hot',-12],[iMin,'cold',18]].forEach(function(p){
var i = p[0]; if (i < 0) return;
var x = Math.min(Math.max(X(i), padL + 14), W - padR - 14);
s += '<text class="tag ' + p[1] + '" x="' + x.toFixed(1) + '" y="' + (Y(temps[i]) + p[2]).toFixed(1) + '">' + t(temps[i]) + '°</text>';
});
for (var i = 0; i < n; i += 3){
s += '<text class="xlab" x="' + X(i).toFixed(1) + '" y="' + (H - 6) + '">' + (times[i] || '') + '</text>';
}
s += '</svg>';
return s;
}
function render(data){
var daily = data.daily || {};
var tmax = (daily.temperature_2m_max || [])[0];
var tmin = (daily.temperature_2m_min || [])[0];
var code = (daily.weather_code || [])[0];
var h = data.hourly || {};
var htimes = h.time || [];
var htemps = h.temperature_2m || [];
var labels = [], vals = [];
for (var i = 0; i < htimes.length; i++){
var ts = String(htimes[i]);
if (ts.slice(0, 10) !== date) continue;
labels.push(ts.slice(11, 16));
var v = htemps[i];
vals.push(typeof v === 'number' && isFinite(v) ? v : NaN);
}
var hasDaily = typeof tmax === 'number' || typeof tmin === 'number';
var hasHourly = vals.some(function(v){ return isFinite(v); });
if (!hasDaily && !hasHourly){
fail('The API responded, but it contained no temperature data for ' + date + ' at this location.');
return;
}
var info = WMO[code] || ['Unknown conditions', 'cloud'];
var current = isFinite(vals[12]) ? vals[12] : (vals.filter(isFinite)[0]);
if (!isFinite(current) && typeof tmax === 'number') current = tmax;
var swing = (typeof tmax === 'number' && typeof tmin === 'number') ? (tmax - tmin) : null;
var hoursGrid = '';
for (var k = 0; k < labels.length; k++){
hoursGrid += '<div class="hcell"><div class="h">' + esc(labels[k]) + '</div>' +
'<div class="t">' + t0(vals[k]) + '°</div></div>';
}
var upArrow = '<svg class="arrow" viewBox="0 0 12 12"><path d="M6 1.5 L10 8 L2 8 Z" fill="#ffd08a"/></svg>';
var dnArrow = '<svg class="arrow" viewBox="0 0 12 12"><path d="M6 10.5 L2 4 L10 4 Z" fill="#93d5ff"/></svg>';
document.getElementById('card').innerHTML =
'<div class="top">' +
'<div class="left">' +
'<div class="eyebrow"><span class="dot"></span>' + (isPast ? 'Historical record' : 'Forecast') + ' · UTC</div>' +
'<h1>' + esc(name) + '</h1>' +
'<div class="date">' + esc(fmtDate(date)) + '</div>' +
'<div class="coords">' + lat.toFixed(3) + '°, ' + lon.toFixed(3) + '°</div>' +
'<div class="now">' + icon(info[1]) +
'<div><div class="temp">' + t0(current) + '<sup>°C</sup></div></div>' +
'</div>' +
'<div class="cond">' + esc(info[0]) + '</div>' +
'<div class="cond-sub">WMO weather code ' + (code === undefined || code === null ? '—' : esc(code)) +
(swing !== null ? ' · ' + t(Math.abs(swing)) + '°C daily swing' : '') + '</div>' +
'<div class="hilo">' +
'<div class="pill hi"><div class="lab">' + upArrow + 'High</div><div class="val">' + t(tmax) + '°C</div></div>' +
'<div class="pill lo"><div class="lab">' + dnArrow + 'Low</div><div class="val">' + t(tmin) + '°C</div></div>' +
'</div>' +
'</div>' +
'<div class="right">' +
'<div class="sect-title">Hourly temperature · °C</div>' +
'<div class="chartwrap">' + (hasHourly ? chart(labels, vals) : '<div style="padding:60px 0;text-align:center;color:var(--ink-3);font-size:13px">No hourly data available for this date.</div>') + '</div>' +
(hasHourly ? '<div class="hours">' + hoursGrid + '</div>' : '') +
'</div>' +
'</div>' +
'<div class="foot"><span>Open-Meteo · ' + (isPast ? 'archive' : 'forecast') + ' endpoint</span>' +
'<span>All times and temperatures in UTC / Celsius</span></div>';
}
fetch(url, { headers: { 'Accept': 'application/json' } })
.then(function(res){
if (!res.ok) throw new Error('Request failed with HTTP ' + res.status + ' ' + res.statusText);
return res.json();
})
.then(function(data){
if (!data || typeof data !== 'object') throw new Error('The response was not valid weather data.');
if (data.error) throw new Error(data.reason || 'The weather API reported an error.');
render(data);
})
.catch(function(err){
fail('Could not reach the weather service or the response was invalid. ' + (err && err.message ? err.message : ''), url);
});
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 19,309 | html / css / js | 529 / 5,481 / 13,299 |
|---|---|---|---|
| dom 节点 | 13 | dom 深度 | 5 |
| css 规则 | 52 | 含 js | 是 |
| brightness | 40.6 | contrast | 18.2 |
| colorfulness | 12.9 | 留白 | 65.8% |
该 slot 的 telemetry
| prompt tokens | 2 | completion tokens | 9,908 |
|---|---|---|---|
| total tokens | 9,910 | wall | 101.3 s |
| cost | — | request id | — |
config.json572 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-opus-5-eff-medium--cli--claude-code--dev",
"effort": "medium",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-opus-5",
"protocol": "cli",
"served_model": "claude-opus-5",
"telemetry": {
"completion_tokens": 34235,
"cost_usd": null,
"prompt_tokens": 10,
"total_tokens": 34245,
"wall_ms": 344256
},
"transport": "claude-code-cli-headless",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-07-25--cc-opus5-medium",
"config_id": "claude-opus-5-eff-medium--cli--claude-code--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-24T17:52:17.744010+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-24T17:50:36.479576+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-24T17:53:37.234532+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-24T17:52:23.427023+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-24T17:54:47.931271+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-24T17:53:40.982762+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-24T17:56:33.828377+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-24T17:54:51.580064+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-q"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}