claude-opus-4-7-thinking @ low · cursor
cursorlow
- config
- claude-opus-4-7-thinking-eff-low--cli--cursor--dev
- batch
- 2026-07-19--unified
- transport
- cursor-agent-cli-isolated-home
- protocol
- cli · plan
- served model
- claude-opus-4-7-thinking-low
- 采集于
- 2026年7月18日 11:54 · N=2
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
claude-opus-4-7 @low · kiro0.74claude-opus-4-7 @high · kiro0.74claude-opus-4-7-thinking @high · cursor-xl0.74claude-opus-4-7 @medium · kiro0.73claude-opus-4-7 @high · cursor0.73最远
north-mini-code-free · api0.51claude-sonnet-4 · cursor0.53deepseek-v4-pro @high · api0.54claude-haiku-4-5 @max · CC0.54claude-sonnet-4 · kiro0.54限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempmatch展示值:25
- min tempmatch展示值:16
- hourlymatchcoverage 1/24 · 1 命中 · 0 不符 · 23 未展示
- 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</title>
<style>
:root{
--bg-0:#0b1220;
--bg-1:#111a2e;
--ink:#eaf1ff;
--ink-dim:#a9b7d1;
--ink-mute:#7386a6;
--line:rgba(255,255,255,.08);
--line-2:rgba(255,255,255,.14);
--accent:#7cc4ff;
--warm:#ffb26b;
--cool:#8bd0ff;
--card:rgba(255,255,255,.06);
--card-2:rgba(255,255,255,.04);
--shadow:0 30px 80px rgba(0,0,0,.45), 0 2px 0 rgba(255,255,255,.04) inset;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
color:var(--ink);
background:
radial-gradient(1200px 700px at 12% -10%, #1c2f5a 0%, transparent 60%),
radial-gradient(900px 600px at 100% 0%, #2a1a4a 0%, transparent 55%),
radial-gradient(1000px 700px at 50% 120%, #0f2540 0%, transparent 60%),
linear-gradient(180deg,#070b17 0%, #0b1122 100%);
min-height:100vh;
-webkit-font-smoothing:antialiased;
letter-spacing:.01em;
}
.stage{
width:1280px; height:800px; margin:0 auto; padding:56px 64px;
display:flex; align-items:center; justify-content:center;
}
.card{
position:relative;
width:100%; height:100%;
border-radius:28px;
background:
linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
linear-gradient(135deg, rgba(124,196,255,.10), rgba(180,120,255,.06) 50%, rgba(255,178,107,.08));
border:1px solid var(--line-2);
box-shadow:var(--shadow);
overflow:hidden;
backdrop-filter:blur(20px);
}
.glow{
position:absolute; inset:auto; pointer-events:none;
width:600px; height:600px; border-radius:50%;
filter:blur(80px); opacity:.55;
}
.glow.a{ top:-160px; right:-140px; background:radial-gradient(circle, #ffb26b 0%, transparent 60%); }
.glow.b{ bottom:-200px; left:-120px; background:radial-gradient(circle, #6aa8ff 0%, transparent 60%); }
.grid{
position:relative; z-index:1;
display:grid; grid-template-columns: 1.15fr .95fr; gap:36px;
padding:44px 48px; height:100%;
}
/* Left column */
.left{ display:flex; flex-direction:column; justify-content:space-between; min-width:0; }
.head .eyebrow{
display:inline-flex; align-items:center; gap:10px;
font-size:12px; letter-spacing:.22em; text-transform:uppercase;
color:var(--ink-dim);
padding:6px 12px; border:1px solid var(--line-2); border-radius:999px;
background:rgba(255,255,255,.03);
}
.head .eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px var(--accent); }
.place{
margin:18px 0 6px;
font-size:56px; line-height:1.02; font-weight:650; letter-spacing:-.02em;
}
.date{
color:var(--ink-dim); font-size:16px; font-weight:500;
}
.hero{
display:flex; align-items:flex-end; gap:22px; margin-top:26px;
}
.icon-wrap{
width:150px; height:150px; flex:0 0 150px;
border-radius:28px;
background:linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.02));
border:1px solid var(--line-2);
display:flex; align-items:center; justify-content:center;
box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.icon-wrap svg{ width:104px; height:104px; display:block; }
.temp{
display:flex; align-items:flex-start; gap:6px; line-height:.9;
}
.temp .val{
font-size:132px; font-weight:300; letter-spacing:-.05em;
background:linear-gradient(180deg,#ffffff 0%, #b9cff0 100%);
-webkit-background-clip:text; background-clip:text; color:transparent;
}
.temp .unit{ font-size:36px; margin-top:14px; color:var(--ink-dim); font-weight:400; }
.cond{
margin-top:4px;
font-size:22px; font-weight:500; color:var(--ink);
}
.cond .sep{ color:var(--ink-mute); margin:0 10px; }
.cond .lohi span.hi{ color:var(--warm); }
.cond .lohi span.lo{ color:var(--cool); }
.foot{
display:flex; gap:12px; margin-top:8px; flex-wrap:wrap;
}
.chip{
display:inline-flex; align-items:center; gap:8px;
padding:10px 14px; border-radius:14px;
background:var(--card-2); border:1px solid var(--line);
font-size:13px; color:var(--ink-dim);
}
.chip b{ color:var(--ink); font-weight:600; }
/* Right column: hourly */
.right{
display:flex; flex-direction:column; min-width:0;
background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
border:1px solid var(--line-2); border-radius:22px; padding:22px 22px 18px;
}
.right h3{
margin:2px 4px 14px;
font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-dim); font-weight:600;
}
.chart{
position:relative; flex:1; min-height:0;
border-radius:16px;
background:
linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
padding:10px 4px 6px;
}
.chart svg{ width:100%; height:100%; display:block; overflow:visible; }
.hours{
display:grid; grid-template-columns:repeat(12,1fr); gap:0;
margin-top:10px; padding:0 4px;
}
.hours .h{
text-align:center; font-size:11px; color:var(--ink-mute); font-variant-numeric:tabular-nums;
}
.error{
display:flex; align-items:center; justify-content:center;
height:100%; flex-direction:column; gap:10px; color:var(--ink-dim); text-align:center; padding:40px;
}
.error .title{ color:var(--ink); font-size:22px; font-weight:600; }
.error .sub{ font-size:14px; max-width:520px; }
.loading{
position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
color:var(--ink-dim); font-size:14px; letter-spacing:.2em; text-transform:uppercase;
}
/* subtle grid line under chart */
.baseline{ stroke:rgba(255,255,255,.08); stroke-dasharray:2 4; }
</style>
</head>
<body>
<main class="stage">
<section class="card" id="card">
<div class="glow a"></div>
<div class="glow b"></div>
<div class="loading" id="loading">Loading weather…</div>
</section>
</main>
<script>
(() => {
const qs = new URLSearchParams(location.search);
const lat = parseFloat(qs.get('lat') ?? '52.52');
const lon = parseFloat(qs.get('lon') ?? '13.405');
const name = qs.get('name') || 'Berlin';
const today = new Date().toISOString().slice(0,10);
const date = qs.get('date') || today;
const isPast = date < today;
const endpoint = isPast ? '/api/om/archive' : '/api/om/forecast';
const url = new URL(endpoint, location.origin);
const p = url.searchParams;
p.set('latitude', lat);
p.set('longitude', lon);
p.set('daily', 'temperature_2m_max,temperature_2m_min,weather_code');
p.set('hourly', 'temperature_2m');
p.set('timezone', 'UTC');
p.set('temperature_unit', 'celsius');
p.set('start_date', date);
p.set('end_date', date);
const WMO = {
0: {label:'Clear sky', icon:'sun'},
1: {label:'Mainly clear', icon:'sun-cloud'},
2: {label:'Partly cloudy', icon:'sun-cloud'},
3: {label:'Overcast', icon:'cloud'},
45: {label:'Fog', icon:'fog'},
48: {label:'Rime fog', icon:'fog'},
51: {label:'Light drizzle', icon:'drizzle'},
53: {label:'Drizzle', icon:'drizzle'},
55: {label:'Dense drizzle', icon:'drizzle'},
56: {label:'Freezing drizzle', icon:'drizzle'},
57: {label:'Freezing drizzle', icon:'drizzle'},
61: {label:'Light rain', icon:'rain'},
63: {label:'Rain', icon:'rain'},
65: {label:'Heavy rain', icon:'rain'},
66: {label:'Freezing rain', icon:'rain'},
67: {label:'Freezing rain', icon:'rain'},
71: {label:'Light snow', icon:'snow'},
73: {label:'Snow', icon:'snow'},
75: {label:'Heavy snow', icon:'snow'},
77: {label:'Snow grains', icon:'snow'},
80: {label:'Rain showers', icon:'rain'},
81: {label:'Rain showers', icon:'rain'},
82: {label:'Violent showers', icon:'rain'},
85: {label:'Snow showers', icon:'snow'},
86: {label:'Snow showers', icon:'snow'},
95: {label:'Thunderstorm', icon:'storm'},
96: {label:'Thunderstorm w/ hail', icon:'storm'},
99: {label:'Thunderstorm w/ hail', icon:'storm'},
};
const ICONS = {
sun: `<svg viewBox="0 0 100 100" fill="none">
<defs><radialGradient id="g1" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#ffe08a"/><stop offset="1" stop-color="#ffa53a"/></radialGradient></defs>
<g stroke="#ffd479" stroke-width="3" stroke-linecap="round">
<line x1="50" y1="8" x2="50" y2="20"/><line x1="50" y1="80" x2="50" y2="92"/>
<line x1="8" y1="50" x2="20" y2="50"/><line x1="80" y1="50" x2="92" y2="50"/>
<line x1="20" y1="20" x2="28" y2="28"/><line x1="72" y1="72" x2="80" y2="80"/>
<line x1="80" y1="20" x2="72" y2="28"/><line x1="28" y1="72" x2="20" y2="80"/>
</g>
<circle cx="50" cy="50" r="20" fill="url(#g1)"/>
</svg>`,
'sun-cloud': `<svg viewBox="0 0 100 100" fill="none">
<defs><radialGradient id="g2" cx=".5" cy=".5" r=".5"><stop offset="0" stop-color="#ffe08a"/><stop offset="1" stop-color="#ffa53a"/></radialGradient>
<linearGradient id="c2" x1="0" x2="0" y1="0" y2="1"><stop offset="0" stop-color="#f4f8ff"/><stop offset="1" stop-color="#b7c5df"/></linearGradient></defs>
<circle cx="38" cy="40" r="16" fill="url(#g2)"/>
<path d="M35 70a14 14 0 0 1 3-27 18 18 0 0 1 34 4 12 12 0 0 1-3 23z" fill="url(#c2)" stroke="rgba(255,255,255,.5)"/>
</svg>`,
cloud: `<svg viewBox="0 0 100 100" fill="none">
<defs><linearGradient id="c3" x1="0" x2="0" y1="0" y2="1"><stop offset="0" stop-color="#f4f8ff"/><stop offset="1" stop-color="#a9bad6"/></linearGradient></defs>
<path d="M28 74a15 15 0 0 1 2-29 20 20 0 0 1 38 3 13 13 0 0 1-3 26z" fill="url(#c3)" stroke="rgba(255,255,255,.5)"/>
</svg>`,
fog: `<svg viewBox="0 0 100 100" fill="none">
<defs><linearGradient id="c4" x1="0" x2="0" y1="0" y2="1"><stop offset="0" stop-color="#e6ecf7"/><stop offset="1" stop-color="#9caac3"/></linearGradient></defs>
<path d="M28 60a15 15 0 0 1 2-29 20 20 0 0 1 38 3 13 13 0 0 1-3 26z" fill="url(#c4)" stroke="rgba(255,255,255,.5)"/>
<g stroke="#cfd8ea" stroke-width="4" stroke-linecap="round">
<line x1="20" y1="76" x2="80" y2="76"/><line x1="28" y1="86" x2="72" y2="86"/>
</g>
</svg>`,
drizzle: `<svg viewBox="0 0 100 100" fill="none">
<defs><linearGradient id="c5" x1="0" x2="0" y1="0" y2="1"><stop offset="0" stop-color="#f4f8ff"/><stop offset="1" stop-color="#a9bad6"/></linearGradient></defs>
<path d="M28 60a15 15 0 0 1 2-29 20 20 0 0 1 38 3 13 13 0 0 1-3 26z" fill="url(#c5)" stroke="rgba(255,255,255,.5)"/>
<g stroke="#8fc6ff" stroke-width="3" stroke-linecap="round">
<line x1="36" y1="72" x2="32" y2="82"/><line x1="52" y1="72" x2="48" y2="82"/><line x1="68" y1="72" x2="64" y2="82"/>
</g>
</svg>`,
rain: `<svg viewBox="0 0 100 100" fill="none">
<defs><linearGradient id="c6" x1="0" x2="0" y1="0" y2="1"><stop offset="0" stop-color="#e2eaf7"/><stop offset="1" stop-color="#8798b5"/></linearGradient></defs>
<path d="M28 58a15 15 0 0 1 2-29 20 20 0 0 1 38 3 13 13 0 0 1-3 26z" fill="url(#c6)" stroke="rgba(255,255,255,.5)"/>
<g fill="#6ab6ff">
<path d="M34 74c0 3-2 5-4 5s-4-2-4-5 4-9 4-9 4 6 4 9z"/>
<path d="M54 78c0 3-2 5-4 5s-4-2-4-5 4-9 4-9 4 6 4 9z"/>
<path d="M74 74c0 3-2 5-4 5s-4-2-4-5 4-9 4-9 4 6 4 9z"/>
</g>
</svg>`,
snow: `<svg viewBox="0 0 100 100" fill="none">
<defs><linearGradient id="c7" x1="0" x2="0" y1="0" y2="1"><stop offset="0" stop-color="#f4f8ff"/><stop offset="1" stop-color="#b7c5df"/></linearGradient></defs>
<path d="M28 58a15 15 0 0 1 2-29 20 20 0 0 1 38 3 13 13 0 0 1-3 26z" fill="url(#c7)" stroke="rgba(255,255,255,.5)"/>
<g stroke="#dfeaff" stroke-width="2.5" stroke-linecap="round">
<g transform="translate(34 78)"><line x1="-5" y1="0" x2="5" y2="0"/><line x1="0" y1="-5" x2="0" y2="5"/><line x1="-3.5" y1="-3.5" x2="3.5" y2="3.5"/><line x1="-3.5" y1="3.5" x2="3.5" y2="-3.5"/></g>
<g transform="translate(52 82)"><line x1="-5" y1="0" x2="5" y2="0"/><line x1="0" y1="-5" x2="0" y2="5"/><line x1="-3.5" y1="-3.5" x2="3.5" y2="3.5"/><line x1="-3.5" y1="3.5" x2="3.5" y2="-3.5"/></g>
<g transform="translate(70 78)"><line x1="-5" y1="0" x2="5" y2="0"/><line x1="0" y1="-5" x2="0" y2="5"/><line x1="-3.5" y1="-3.5" x2="3.5" y2="3.5"/><line x1="-3.5" y1="3.5" x2="3.5" y2="-3.5"/></g>
</g>
</svg>`,
storm: `<svg viewBox="0 0 100 100" fill="none">
<defs><linearGradient id="c8" x1="0" x2="0" y1="0" y2="1"><stop offset="0" stop-color="#d9e1f0"/><stop offset="1" stop-color="#6f7f9c"/></linearGradient></defs>
<path d="M28 56a15 15 0 0 1 2-29 20 20 0 0 1 38 3 13 13 0 0 1-3 26z" fill="url(#c8)" stroke="rgba(255,255,255,.5)"/>
<path d="M50 62 L40 82 L50 82 L44 94 L64 74 L54 74 L60 62 Z" fill="#ffd056" stroke="#f0a326" stroke-width="1"/>
</svg>`,
};
const fmtDate = (iso) => {
const [y,m,d] = iso.split('-').map(Number);
const dt = new Date(Date.UTC(y, m-1, d));
return dt.toLocaleDateString('en-US', {weekday:'long', month:'long', day:'numeric', year:'numeric', timeZone:'UTC'});
};
function renderError(msg){
document.getElementById('card').innerHTML = `
<div class="glow a"></div><div class="glow b"></div>
<div class="error">
<div class="title">Weather data unavailable</div>
<div class="sub">${msg}</div>
</div>`;
}
function render(data){
const daily = data.daily || {};
const hourly = data.hourly || {};
const tmax = daily.temperature_2m_max?.[0];
const tmin = daily.temperature_2m_min?.[0];
const code = daily.weather_code?.[0];
const times = hourly.time || [];
const temps = hourly.temperature_2m || [];
if (tmax == null || tmin == null || !times.length) {
renderError('The weather API returned no data for this date.');
return;
}
const wm = WMO[code] || {label:'Unknown', icon:'cloud'};
const avg = Math.round((tmax + tmin) / 2);
// Build hourly chart
const W = 560, H = 210, padL=8, padR=8, padT=18, padB=6;
const n = temps.length;
const min = Math.min(...temps), max = Math.max(...temps);
const span = Math.max(1, max - min);
const x = i => padL + (i * (W - padL - padR)) / (n - 1);
const y = v => padT + (H - padT - padB) * (1 - (v - min) / span);
let pathD = '';
for (let i = 0; i < n; i++) {
pathD += (i === 0 ? 'M' : 'L') + x(i).toFixed(1) + ' ' + y(temps[i]).toFixed(1) + ' ';
}
const areaD = pathD + `L ${x(n-1).toFixed(1)} ${H-padB} L ${x(0).toFixed(1)} ${H-padB} Z`;
// Labels every 3 hours
const labels = [];
for (let i = 0; i < n; i += Math.max(1, Math.floor(n/12))) {
const hh = times[i].slice(11,13);
labels.push(hh);
}
// Peak marker
const maxIdx = temps.indexOf(max);
document.getElementById('card').innerHTML = `
<div class="glow a"></div><div class="glow b"></div>
<div class="grid">
<div class="left">
<div class="head">
<span class="eyebrow"><span class="dot"></span> Weather · UTC</span>
<h1 class="place">${escapeHtml(name)}</h1>
<div class="date">${fmtDate(date)}</div>
</div>
<div>
<div class="hero">
<div class="icon-wrap">${ICONS[wm.icon]}</div>
<div class="temp"><div class="val">${avg}</div><div class="unit">°C</div></div>
</div>
<div class="cond">
${escapeHtml(wm.label)}
<span class="sep">·</span>
<span class="lohi"><span class="hi">${Math.round(tmax)}°</span> / <span class="lo">${Math.round(tmin)}°</span></span>
</div>
</div>
<div class="foot">
<div class="chip">Coordinates <b>${lat.toFixed(3)}, ${lon.toFixed(3)}</b></div>
<div class="chip">Peak <b>${Math.round(max)}°C at ${times[maxIdx].slice(11,16)}</b></div>
<div class="chip">Source <b>${isPast ? 'Archive' : 'Forecast'}</b></div>
</div>
</div>
<div class="right">
<h3>Hourly Temperature</h3>
<div class="chart">
<svg viewBox="0 0 ${W} ${H}" preserveAspectRatio="none">
<defs>
<linearGradient id="area" x1="0" x2="0" y1="0" y2="1">
<stop offset="0" stop-color="#7cc4ff" stop-opacity=".55"/>
<stop offset="1" stop-color="#7cc4ff" stop-opacity="0"/>
</linearGradient>
<linearGradient id="line" x1="0" x2="1" y1="0" y2="0">
<stop offset="0" stop-color="#8bd0ff"/>
<stop offset=".5" stop-color="#ffe08a"/>
<stop offset="1" stop-color="#ffb26b"/>
</linearGradient>
</defs>
<line class="baseline" x1="${padL}" y1="${H-padB}" x2="${W-padR}" y2="${H-padB}"/>
<path d="${areaD}" fill="url(#area)"/>
<path d="${pathD}" fill="none" stroke="url(#line)" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round"/>
<circle cx="${x(maxIdx).toFixed(1)}" cy="${y(max).toFixed(1)}" r="4" fill="#fff" stroke="#ffb26b" stroke-width="2"/>
<text x="${x(maxIdx).toFixed(1)}" y="${(y(max)-10).toFixed(1)}" fill="#ffe0b8" font-size="11" text-anchor="middle" font-family="inherit">${Math.round(max)}°</text>
</svg>
</div>
<div class="hours">
${Array.from({length:12}, (_,i) => {
const idx = Math.round(i * (n-1) / 11);
return `<div class="h">${times[idx].slice(11,13)}</div>`;
}).join('')}
</div>
</div>
</div>`;
}
function escapeHtml(s){
return String(s).replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
}
fetch(url.toString(), {headers:{'accept':'application/json'}})
.then(r => { if(!r.ok) throw new Error('HTTP '+r.status); return r.json(); })
.then(render)
.catch(err => renderError(String(err && err.message || err)));
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 18,297 | html / css / js | 431 / 5,728 / 12,138 |
|---|---|---|---|
| dom 节点 | 13 | dom 深度 | 5 |
| css 规则 | 39 | 含 js | 是 |
| brightness | 48.0 | contrast | 27.3 |
| colorfulness | 24.3 | 留白 | 54.3% |
该 slot 的 telemetry
| prompt tokens | 7 | completion tokens | 9,400 |
|---|---|---|---|
| total tokens | 9,407 | wall | 92.3 s |
| cost | — | request id | — |
config.json604 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-opus-4-7-thinking-eff-low--cli--cursor--dev",
"effort": "low",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-opus-4-7-thinking",
"protocol": "cli",
"served_model": "claude-opus-4-7-thinking-low",
"telemetry": {
"completion_tokens": 24622,
"cost_usd": null,
"prompt_tokens": 28,
"total_tokens": 24650,
"wall_ms": 275997
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-s0",
"config_id": "claude-opus-4-7-thinking-eff-low--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T21:07:27.773502+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T21:05:55.438949+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-08-12T21:08:28.901441+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T21:07:32.084316+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-08-12T21:09:10.673976+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T21:08:32.037676+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-08-12T21:10:42.269912+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T21:09:14.052848+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
}
}
}