claude-opus-4-7 @ high · cursor
cursorhigh
- config
- claude-opus-4-7-eff-high--cli--cursor--dev
- batch
- 2026-07-19--unified
- transport
- cursor-agent-cli-isolated-home
- protocol
- cli · plan
- served model
- claude-opus-4-7-high
- captured
- Jul 18, 2026, 11:54 AM · N=2
variant
live
slot 0 · P-q · sandboxed iframe

The screenshot is the exact frozen pixels the similarity channels measured. Run live re-executes the raw output in a sandboxed iframe; its rendering depends on your browser and fonts and is not guaranteed to match the measured pixels.
similarity neighbors
nearest
claude-opus-4-7 @medium · cursor-xl0.73claude-opus-4-8-thinking @medium · cursor-xl0.73claude-opus-4-7-thinking @high · cursor0.73claude-opus-4-7-thinking @low · cursor0.73claude-opus-4-7 @high · kiro0.73farthest
north-mini-code-free · api0.51claude-sonnet-4 · cursor0.53nemotron-3-ultra-free · api0.54claude-haiku-4-5 @max · CC0.54claude-sonnet-4 · kiro0.54within session 2026-07-19--unified
similarity measures convergence within this session — not quality.
Fidelity — does the card show the right data?
- namematch
- conditionmatch
- datematch
- max tempambiguousinsufficient-distinct-temperature-nodes
- min tempambiguousinsufficient-distinct-temperature-nodes
- hourlyambiguouscoverage · 0 match · 0 mismatch · 24 not shown
- request sidematch0 violation(s)
extractor fidelity-extractor-v1+Berlin-2026-07-15
Source — raw model output, one byte unchanged
download card.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Weather</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
width: 100%;
min-height: 100vh;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, sans-serif;
color: #f5f7ff;
background: #0a0e27;
overflow-x: hidden;
}
body {
display: flex;
align-items: center;
justify-content: center;
padding: 40px 20px;
background: linear-gradient(135deg, #0a0e27 0%, #1a1f4e 40%, #2d1b69 100%);
position: relative;
}
body::before {
content: '';
position: fixed;
inset: 0;
background:
radial-gradient(circle at 20% 30%, rgba(124, 108, 235, 0.25), transparent 45%),
radial-gradient(circle at 80% 20%, rgba(255, 179, 130, 0.15), transparent 40%),
radial-gradient(circle at 60% 80%, rgba(80, 180, 255, 0.2), transparent 45%);
pointer-events: none;
z-index: 0;
}
.card {
position: relative;
z-index: 1;
width: 100%;
max-width: 1100px;
background: rgba(255, 255, 255, 0.06);
backdrop-filter: blur(30px);
-webkit-backdrop-filter: blur(30px);
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 32px;
padding: 48px 56px;
box-shadow:
0 30px 80px rgba(0, 0, 0, 0.45),
inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 40px;
}
.location-info .label {
font-size: 13px;
text-transform: uppercase;
letter-spacing: 2px;
color: rgba(255, 255, 255, 0.55);
margin-bottom: 8px;
font-weight: 500;
}
.location-info h1 {
font-size: 44px;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.1;
}
.location-info .date {
margin-top: 10px;
font-size: 16px;
color: rgba(255, 255, 255, 0.7);
font-weight: 400;
}
.coords {
text-align: right;
font-size: 12px;
color: rgba(255, 255, 255, 0.4);
font-family: "SF Mono", ui-monospace, monospace;
letter-spacing: 0.5px;
}
.main {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 48px;
align-items: center;
margin-bottom: 44px;
}
.current {
display: flex;
align-items: center;
gap: 32px;
}
.icon {
width: 140px;
height: 140px;
flex-shrink: 0;
filter: drop-shadow(0 8px 24px rgba(255, 200, 120, 0.3));
}
.temps .main-temp {
font-size: 96px;
font-weight: 200;
line-height: 1;
letter-spacing: -0.05em;
background: linear-gradient(180deg, #ffffff 0%, #b8c6ff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.temps .condition {
font-size: 22px;
font-weight: 500;
margin-top: 6px;
color: #ffffff;
}
.stats {
display: flex;
flex-direction: column;
gap: 16px;
}
.stat {
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 20px;
padding: 20px 24px;
display: flex;
justify-content: space-between;
align-items: center;
}
.stat .stat-label {
display: flex;
align-items: center;
gap: 12px;
font-size: 15px;
color: rgba(255, 255, 255, 0.75);
font-weight: 500;
}
.stat .stat-value {
font-size: 32px;
font-weight: 300;
letter-spacing: -0.02em;
}
.stat-icon {
width: 24px;
height: 24px;
opacity: 0.85;
}
.stat.high .stat-value { color: #ffb884; }
.stat.low .stat-value { color: #84c7ff; }
.hourly-section {
background: rgba(0, 0, 0, 0.15);
border-radius: 24px;
padding: 28px 32px;
border: 1px solid rgba(255, 255, 255, 0.06);
}
.hourly-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
}
.hourly-title {
font-size: 13px;
text-transform: uppercase;
letter-spacing: 2px;
color: rgba(255, 255, 255, 0.55);
font-weight: 600;
}
.hourly-range {
font-size: 12px;
color: rgba(255, 255, 255, 0.4);
font-family: "SF Mono", ui-monospace, monospace;
}
.chart {
width: 100%;
height: 180px;
display: block;
}
.chart .axis-label {
fill: rgba(255, 255, 255, 0.4);
font-size: 10px;
font-family: "SF Mono", ui-monospace, monospace;
}
.chart .hour-label {
fill: rgba(255, 255, 255, 0.55);
font-size: 11px;
font-weight: 500;
text-anchor: middle;
}
.chart .temp-label {
fill: rgba(255, 255, 255, 0.9);
font-size: 11px;
font-weight: 600;
text-anchor: middle;
}
.error, .loading {
text-align: center;
padding: 60px 20px;
font-size: 18px;
color: rgba(255, 255, 255, 0.75);
}
.error {
color: #ff9b9b;
}
.error-title {
font-size: 22px;
font-weight: 600;
margin-bottom: 8px;
color: #ffb0b0;
}
.hidden { display: none !important; }
.spinner {
width: 40px;
height: 40px;
border: 3px solid rgba(255,255,255,0.15);
border-top-color: #b8c6ff;
border-radius: 50%;
margin: 0 auto 20px;
animation: spin 0.9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
</style>
</head>
<body>
<div class="card">
<div id="loading" class="loading">
<div class="spinner"></div>
Loading weather data…
</div>
<div id="error" class="error hidden">
<div class="error-title">Unable to load weather data</div>
<div id="error-message">Please try again later.</div>
</div>
<div id="content" class="hidden">
<div class="header">
<div class="location-info">
<div class="label">Weather Forecast</div>
<h1 id="location-name">—</h1>
<div class="date" id="date-display">—</div>
</div>
<div class="coords" id="coords">—</div>
</div>
<div class="main">
<div class="current">
<div class="icon" id="weather-icon"></div>
<div class="temps">
<div class="main-temp" id="avg-temp">—°</div>
<div class="condition" id="condition">—</div>
</div>
</div>
<div class="stats">
<div class="stat high">
<div class="stat-label">
<svg class="stat-icon" viewBox="0 0 24 24" fill="none" stroke="#ffb884" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4l0 12"/><path d="M6 10l6-6 6 6"/><circle cx="12" cy="19" r="2"/></svg>
High
</div>
<div class="stat-value" id="max-temp">—°</div>
</div>
<div class="stat low">
<div class="stat-label">
<svg class="stat-icon" viewBox="0 0 24 24" fill="none" stroke="#84c7ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20l0 -12"/><path d="M6 14l6 6 6 -6"/><circle cx="12" cy="5" r="2"/></svg>
Low
</div>
<div class="stat-value" id="min-temp">—°</div>
</div>
</div>
</div>
<div class="hourly-section">
<div class="hourly-header">
<div class="hourly-title">Hourly Temperature</div>
<div class="hourly-range" id="hourly-range">—</div>
</div>
<svg class="chart" id="chart" viewBox="0 0 1000 180" preserveAspectRatio="none"></svg>
</div>
</div>
</div>
<script>
(function () {
const WMO = {
0: { label: "Clear sky", type: "sun" },
1: { label: "Mainly clear", type: "sun-cloud" },
2: { label: "Partly cloudy", type: "sun-cloud" },
3: { label: "Overcast", type: "cloud" },
45: { label: "Fog", type: "fog" },
48: { label: "Rime fog", type: "fog" },
51: { label: "Light drizzle", type: "rain" },
53: { label: "Moderate drizzle", type: "rain" },
55: { label: "Dense drizzle", type: "rain" },
56: { label: "Light freezing drizzle", type: "rain" },
57: { label: "Dense freezing drizzle", type: "rain" },
61: { label: "Light rain", type: "rain" },
63: { label: "Moderate rain", type: "rain" },
65: { label: "Heavy rain", type: "rain" },
66: { label: "Light freezing rain", type: "rain" },
67: { label: "Heavy freezing rain", type: "rain" },
71: { label: "Light snow", type: "snow" },
73: { label: "Moderate snow", type: "snow" },
75: { label: "Heavy snow", type: "snow" },
77: { label: "Snow grains", type: "snow" },
80: { label: "Rain showers", type: "rain" },
81: { label: "Heavy rain showers", type: "rain" },
82: { label: "Violent rain showers", type: "rain" },
85: { label: "Snow showers", type: "snow" },
86: { label: "Heavy snow showers", type: "snow" },
95: { label: "Thunderstorm", type: "storm" },
96: { label: "Thunderstorm w/ hail", type: "storm" },
99: { label: "Thunderstorm w/ hail", type: "storm" }
};
const ICONS = {
"sun": `<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs><radialGradient id="sunG" cx="50%" cy="50%" r="50%"><stop offset="0%" stop-color="#fff4a3"/><stop offset="60%" stop-color="#ffb84d"/><stop offset="100%" stop-color="#ff8c1a"/></radialGradient></defs>
<circle cx="50" cy="50" r="20" fill="url(#sunG)"/>
<g stroke="#ffcf6b" stroke-width="3" stroke-linecap="round">
<line x1="50" y1="12" x2="50" y2="22"/><line x1="50" y1="78" x2="50" y2="88"/>
<line x1="12" y1="50" x2="22" y2="50"/><line x1="78" y1="50" x2="88" y2="50"/>
<line x1="23" y1="23" x2="30" y2="30"/><line x1="70" y1="70" x2="77" y2="77"/>
<line x1="77" y1="23" x2="70" y2="30"/><line x1="30" y1="70" x2="23" y2="77"/>
</g></svg>`,
"sun-cloud": `<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs><radialGradient id="sc-sun" cx="50%" cy="50%" r="50%"><stop offset="0%" stop-color="#fff4a3"/><stop offset="100%" stop-color="#ffb84d"/></radialGradient>
<linearGradient id="sc-cloud" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#ffffff"/><stop offset="100%" stop-color="#c8d3f5"/></linearGradient></defs>
<circle cx="35" cy="35" r="16" fill="url(#sc-sun)"/>
<g stroke="#ffcf6b" stroke-width="2.5" stroke-linecap="round">
<line x1="35" y1="8" x2="35" y2="14"/><line x1="8" y1="35" x2="14" y2="35"/>
<line x1="15" y1="15" x2="19" y2="19"/><line x1="55" y1="15" x2="51" y2="19"/>
</g>
<path d="M35 68 Q35 55 48 55 Q55 45 65 50 Q80 48 82 62 Q92 63 90 75 Q88 82 78 82 L38 82 Q28 82 28 75 Q28 68 35 68 Z" fill="url(#sc-cloud)"/></svg>`,
"cloud": `<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs><linearGradient id="c-c" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#e8ecff"/><stop offset="100%" stop-color="#a4b0d8"/></linearGradient></defs>
<path d="M25 65 Q25 48 42 48 Q50 34 65 40 Q82 38 84 55 Q94 57 92 70 Q90 78 80 78 L30 78 Q18 78 18 70 Q18 63 25 65 Z" fill="url(#c-c)"/></svg>`,
"fog": `<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs><linearGradient id="f-c" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#e8ecff"/><stop offset="100%" stop-color="#a4b0d8"/></linearGradient></defs>
<path d="M25 50 Q25 33 42 33 Q50 19 65 25 Q82 23 84 40 Q94 42 92 55 Q90 63 80 63 L30 63 Q18 63 18 55 Q18 48 25 50 Z" fill="url(#f-c)"/>
<g stroke="#c8d3f5" stroke-width="3" stroke-linecap="round" opacity="0.8">
<line x1="20" y1="75" x2="80" y2="75"/><line x1="28" y1="85" x2="72" y2="85"/>
</g></svg>`,
"rain": `<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs><linearGradient id="r-c" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#c8d3f5"/><stop offset="100%" stop-color="#6b7ab5"/></linearGradient></defs>
<path d="M25 50 Q25 33 42 33 Q50 19 65 25 Q82 23 84 40 Q94 42 92 55 Q90 63 80 63 L30 63 Q18 63 18 55 Q18 48 25 50 Z" fill="url(#r-c)"/>
<g fill="#5aa9ff">
<path d="M35 70 Q33 78 37 82 Q41 78 39 70 Z"/>
<path d="M52 72 Q50 82 54 86 Q58 82 56 72 Z"/>
<path d="M69 70 Q67 78 71 82 Q75 78 73 70 Z"/>
</g></svg>`,
"snow": `<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs><linearGradient id="s-c" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#e8ecff"/><stop offset="100%" stop-color="#a4b0d8"/></linearGradient></defs>
<path d="M25 50 Q25 33 42 33 Q50 19 65 25 Q82 23 84 40 Q94 42 92 55 Q90 63 80 63 L30 63 Q18 63 18 55 Q18 48 25 50 Z" fill="url(#s-c)"/>
<g fill="#ffffff" stroke="#b8c6ff" stroke-width="1">
<circle cx="35" cy="78" r="3"/><circle cx="52" cy="83" r="3"/><circle cx="69" cy="78" r="3"/>
</g></svg>`,
"storm": `<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs><linearGradient id="st-c" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#8892c4"/><stop offset="100%" stop-color="#3d456b"/></linearGradient></defs>
<path d="M25 50 Q25 33 42 33 Q50 19 65 25 Q82 23 84 40 Q94 42 92 55 Q90 63 80 63 L30 63 Q18 63 18 55 Q18 48 25 50 Z" fill="url(#st-c)"/>
<path d="M52 63 L42 82 L52 82 L46 92 L62 76 L52 76 L58 63 Z" fill="#ffd94d" stroke="#ff9500" stroke-width="1"/></svg>`
};
function pad(n) { return n < 10 ? "0" + n : "" + n; }
function todayUTC() {
const d = new Date();
return d.getUTCFullYear() + "-" + pad(d.getUTCMonth() + 1) + "-" + pad(d.getUTCDate());
}
function parseParams() {
const p = new URLSearchParams(window.location.search);
let lat = parseFloat(p.get("lat"));
let lon = parseFloat(p.get("lon"));
let name = p.get("name");
let date = p.get("date");
if (isNaN(lat)) lat = 52.52;
if (isNaN(lon)) lon = 13.405;
if (!name) name = "Berlin";
if (!date || !/^\d{4}-\d{2}-\d{2}$/.test(date)) date = todayUTC();
return { lat, lon, name, date };
}
function isPast(dateStr) {
return dateStr < todayUTC();
}
function formatDate(dateStr) {
const [y, m, d] = dateStr.split("-").map(Number);
const dt = new Date(Date.UTC(y, m - 1, d));
const opts = { weekday: "long", year: "numeric", month: "long", day: "numeric", timeZone: "UTC" };
return dt.toLocaleDateString("en-US", opts);
}
async function loadWeather() {
const { lat, lon, name, date } = parseParams();
const endpoint = isPast(date) ? "/api/om/archive" : "/api/om/forecast";
const 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
});
try {
const res = await fetch(endpoint + "?" + params.toString());
if (!res.ok) throw new Error("HTTP " + res.status);
const data = await res.json();
render(data, { lat, lon, name, date });
} catch (err) {
showError(err && err.message ? err.message : "Network error");
}
}
function showError(msg) {
document.getElementById("loading").classList.add("hidden");
document.getElementById("content").classList.add("hidden");
document.getElementById("error").classList.remove("hidden");
document.getElementById("error-message").textContent = msg;
}
function render(data, ctx) {
try {
const daily = data.daily || {};
const hourly = data.hourly || {};
const maxT = daily.temperature_2m_max && daily.temperature_2m_max[0];
const minT = daily.temperature_2m_min && daily.temperature_2m_min[0];
const code = daily.weather_code && daily.weather_code[0];
const hours = hourly.time || [];
const temps = hourly.temperature_2m || [];
if (maxT == null || minT == null || !hours.length || !temps.length) {
throw new Error("Weather data unavailable for this date");
}
const info = WMO[code] || { label: "Unknown conditions", type: "cloud" };
const avgT = (maxT + minT) / 2;
document.getElementById("location-name").textContent = ctx.name;
document.getElementById("date-display").textContent = formatDate(ctx.date);
document.getElementById("coords").textContent =
ctx.lat.toFixed(3) + "°, " + ctx.lon.toFixed(3) + "°";
document.getElementById("weather-icon").innerHTML = ICONS[info.type] || ICONS["cloud"];
document.getElementById("avg-temp").textContent = Math.round(avgT) + "°";
document.getElementById("condition").textContent = info.label;
document.getElementById("max-temp").textContent = Math.round(maxT) + "°";
document.getElementById("min-temp").textContent = Math.round(minT) + "°";
drawChart(hours, temps);
document.getElementById("loading").classList.add("hidden");
document.getElementById("content").classList.remove("hidden");
} catch (e) {
showError(e.message || "Could not render weather");
}
}
function drawChart(times, temps) {
const svg = document.getElementById("chart");
const W = 1000, H = 180;
const padL = 20, padR = 20, padT = 30, padB = 32;
const iW = W - padL - padR;
const iH = H - padT - padB;
const n = Math.min(times.length, temps.length);
const values = temps.slice(0, n).map(Number);
const minV = Math.min.apply(null, values);
const maxV = Math.max.apply(null, values);
const rng = maxV - minV || 1;
document.getElementById("hourly-range").textContent =
Math.round(minV) + "° — " + Math.round(maxV) + "°";
const xs = [];
for (let i = 0; i < n; i++) xs.push(padL + (i / (n - 1)) * iW);
const ys = values.map(v => padT + iH - ((v - minV) / rng) * iH);
let pathD = "M " + xs[0] + " " + ys[0];
for (let i = 1; i < n; i++) {
const cx = (xs[i - 1] + xs[i]) / 2;
pathD += " Q " + xs[i - 1] + " " + ys[i - 1] + " " + cx + " " + ((ys[i - 1] + ys[i]) / 2);
}
pathD += " T " + xs[n - 1] + " " + ys[n - 1];
const areaD = pathD + " L " + xs[n - 1] + " " + (padT + iH) + " L " + xs[0] + " " + (padT + iH) + " Z";
let svgContent = `
<defs>
<linearGradient id="lineG" x1="0" x2="1" y1="0" y2="0">
<stop offset="0%" stop-color="#84c7ff"/>
<stop offset="50%" stop-color="#b8a6ff"/>
<stop offset="100%" stop-color="#ffb884"/>
</linearGradient>
<linearGradient id="areaG" x1="0" x2="0" y1="0" y2="1">
<stop offset="0%" stop-color="#b8a6ff" stop-opacity="0.35"/>
<stop offset="100%" stop-color="#b8a6ff" stop-opacity="0"/>
</linearGradient>
</defs>
<path d="${areaD}" fill="url(#areaG)"/>
<path d="${pathD}" fill="none" stroke="url(#lineG)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
`;
const labelStep = Math.max(1, Math.round(n / 8));
let minIdx = 0, maxIdx = 0;
for (let i = 0; i < n; i++) {
if (values[i] < values[minIdx]) minIdx = i;
if (values[i] > values[maxIdx]) maxIdx = i;
}
for (let i = 0; i < n; i++) {
if (i % labelStep === 0 || i === n - 1) {
const hr = times[i].split("T")[1] || "00:00";
svgContent += `<text class="hour-label" x="${xs[i]}" y="${H - 10}">${hr.slice(0, 5)}</text>`;
}
}
for (const idx of [minIdx, maxIdx]) {
svgContent += `<circle cx="${xs[idx]}" cy="${ys[idx]}" r="4" fill="#fff" stroke="${idx === maxIdx ? '#ffb884' : '#84c7ff'}" stroke-width="2"/>`;
const ty = ys[idx] - 10;
svgContent += `<text class="temp-label" x="${xs[idx]}" y="${ty}">${Math.round(values[idx])}°</text>`;
}
svg.innerHTML = svgContent;
}
loadWeather();
})();
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 19,953 | html / css / js | 2,325 / 5,158 / 12,470 |
|---|---|---|---|
| dom nodes | 46 | dom depth | 9 |
| css rules | 37 | js present | yes |
| brightness | 57.6 | contrast | 17.7 |
| colorfulness | 24.2 | whitespace | 76.8% |
This slot's telemetry
| prompt tokens | 6 | completion tokens | 9,488 |
|---|---|---|---|
| total tokens | 9,494 | wall | 81.2 s |
| cost | — | request id | — |
config.json580 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-opus-4-7-eff-high--cli--cursor--dev",
"effort": "high",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-opus-4-7",
"protocol": "cli",
"served_model": "claude-opus-4-7-high",
"telemetry": {
"completion_tokens": 32012,
"cost_usd": null,
"prompt_tokens": 25,
"total_tokens": 32037,
"wall_ms": 294370
},
"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-eff-high--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T21:02:05.650809+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T21:00:44.420792+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:02:52.465554+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T21:02:09.019493+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:03:44.097942+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T21:02:55.623871+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:05:48.697454+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T21:03:47.470370+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
}
}
}