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

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
grok-4.5 @low · grok-cli0.75gemini-3.8-flash @low · agy0.73grok-4.5 · go0.73grok-4.5 @high · grok-cli0.72grok-4.5 @high · api0.72最远
north-mini-code-free · api0.48grok-4.6 @medium · grok-cli0.52grok-4.6 @high · grok-cli0.52claude-haiku-4-5 · kiro0.53claude-haiku-4-5 @high · CC0.53限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempmatch展示值:25
- min tempmatch展示值:16
- hourlymatchcoverage 13/24 · 13 命中 · 0 不符 · 11 未展示
- 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, height=800">
<title>Weather Card</title>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--bg-deep: #0c1222;
--bg-mid: #141e33;
--card-bg: rgba(255, 255, 255, 0.07);
--card-border: rgba(255, 255, 255, 0.12);
--text-primary: #f4f7fb;
--text-secondary: rgba(244, 247, 251, 0.65);
--text-muted: rgba(244, 247, 251, 0.4);
--accent: #5eb8ff;
--accent-warm: #ffb86b;
--shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
--radius-lg: 28px;
--radius-md: 16px;
--radius-sm: 10px;
--font: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
html, body {
width: 1280px;
height: 800px;
overflow: hidden;
font-family: var(--font);
color: var(--text-primary);
background: var(--bg-deep);
}
body {
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
body::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 80% 60% at 20% 10%, rgba(94, 184, 255, 0.18) 0%, transparent 60%),
radial-gradient(ellipse 70% 50% at 85% 80%, rgba(255, 140, 90, 0.12) 0%, transparent 55%),
linear-gradient(160deg, var(--bg-deep) 0%, var(--bg-mid) 50%, #0a1020 100%);
z-index: 0;
}
body.theme-clear::before {
background:
radial-gradient(ellipse 90% 70% at 30% 0%, rgba(255, 210, 100, 0.22) 0%, transparent 55%),
radial-gradient(ellipse 60% 50% at 80% 90%, rgba(94, 184, 255, 0.15) 0%, transparent 50%),
linear-gradient(160deg, #0d1a2e 0%, #142240 50%, #0c1222 100%);
}
body.theme-cloudy::before {
background:
radial-gradient(ellipse 80% 60% at 50% 20%, rgba(180, 195, 220, 0.14) 0%, transparent 60%),
linear-gradient(160deg, #111827 0%, #1a2540 50%, #0c1222 100%);
}
body.theme-rain::before {
background:
radial-gradient(ellipse 70% 50% at 40% 30%, rgba(70, 130, 200, 0.2) 0%, transparent 55%),
linear-gradient(160deg, #0a1428 0%, #121e38 50%, #080e1a 100%);
}
body.theme-snow::before {
background:
radial-gradient(ellipse 80% 60% at 50% 10%, rgba(200, 220, 255, 0.16) 0%, transparent 55%),
linear-gradient(160deg, #101828 0%, #1a2840 50%, #0c1222 100%);
}
body.theme-storm::before {
background:
radial-gradient(ellipse 60% 50% at 60% 30%, rgba(100, 80, 180, 0.2) 0%, transparent 55%),
linear-gradient(160deg, #080c18 0%, #141030 50%, #060a14 100%);
}
body.theme-fog::before {
background:
radial-gradient(ellipse 90% 70% at 50% 50%, rgba(160, 170, 185, 0.12) 0%, transparent 60%),
linear-gradient(160deg, #141820 0%, #1c2430 50%, #0e1218 100%);
}
.card {
position: relative;
z-index: 1;
width: 1080px;
height: 680px;
background: var(--card-bg);
border: 1px solid var(--card-border);
border-radius: var(--radius-lg);
backdrop-filter: blur(40px);
-webkit-backdrop-filter: blur(40px);
box-shadow: var(--shadow);
display: grid;
grid-template-rows: auto 1fr auto;
padding: 48px 56px;
gap: 0;
overflow: hidden;
}
.card::after {
content: "";
position: absolute;
top: -120px;
right: -80px;
width: 360px;
height: 360px;
border-radius: 50%;
background: radial-gradient(circle, rgba(255, 255, 255, 0.04) 0%, transparent 70%);
pointer-events: none;
}
.header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 32px;
}
.location-block { flex: 1; }
.location-name {
font-size: 42px;
font-weight: 600;
letter-spacing: -0.02em;
line-height: 1.15;
margin-bottom: 8px;
}
.date-label {
font-size: 17px;
font-weight: 500;
color: var(--text-secondary);
letter-spacing: 0.04em;
text-transform: uppercase;
}
.weather-icon-wrap {
width: 120px;
height: 120px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.weather-icon {
width: 100px;
height: 100px;
}
.main {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
margin-bottom: 40px;
}
.temp-block { display: flex; flex-direction: column; gap: 12px; }
.temp-range {
display: flex;
align-items: baseline;
gap: 16px;
}
.temp-max {
font-size: 96px;
font-weight: 200;
letter-spacing: -0.04em;
line-height: 1;
background: linear-gradient(180deg, #ffffff 30%, rgba(255, 255, 255, 0.75));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.temp-min {
font-size: 36px;
font-weight: 300;
color: var(--text-secondary);
letter-spacing: -0.02em;
}
.temp-unit {
font-size: 28px;
font-weight: 300;
color: var(--text-muted);
vertical-align: super;
}
.condition-label {
font-size: 26px;
font-weight: 500;
color: var(--text-secondary);
letter-spacing: -0.01em;
}
.stats-row {
display: flex;
gap: 24px;
margin-top: 8px;
}
.stat-pill {
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: var(--radius-sm);
padding: 12px 20px;
display: flex;
flex-direction: column;
gap: 4px;
}
.stat-pill-label {
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--text-muted);
}
.stat-pill-value {
font-size: 20px;
font-weight: 500;
color: var(--text-primary);
}
.hourly-section {
display: flex;
flex-direction: column;
gap: 16px;
}
.hourly-title {
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--text-muted);
}
.hourly-chart {
position: relative;
height: 200px;
background: rgba(0, 0, 0, 0.15);
border-radius: var(--radius-md);
border: 1px solid rgba(255, 255, 255, 0.06);
padding: 20px 16px 12px;
overflow: hidden;
}
.hourly-chart svg {
width: 100%;
height: 100%;
display: block;
}
.chart-line {
fill: none;
stroke: var(--accent);
stroke-width: 2.5;
stroke-linecap: round;
stroke-linejoin: round;
}
.chart-area {
fill: url(#areaGradient);
opacity: 0.35;
}
.chart-dot {
fill: var(--accent);
stroke: var(--bg-deep);
stroke-width: 2;
}
.chart-label {
font-size: 11px;
fill: var(--text-muted);
font-family: var(--font);
text-anchor: middle;
}
.chart-temp-label {
font-size: 12px;
fill: var(--text-secondary);
font-family: var(--font);
font-weight: 500;
text-anchor: middle;
}
.hourly-scroll {
display: none;
}
.footer-bar {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.coords {
font-size: 13px;
color: var(--text-muted);
font-variant-numeric: tabular-nums;
}
.source-tag {
font-size: 12px;
font-weight: 500;
color: var(--text-muted);
background: rgba(255, 255, 255, 0.05);
border-radius: 6px;
padding: 6px 12px;
letter-spacing: 0.03em;
}
.loading, .error {
position: relative;
z-index: 1;
width: 1080px;
height: 680px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 20px;
background: var(--card-bg);
border: 1px solid var(--card-border);
border-radius: var(--radius-lg);
backdrop-filter: blur(40px);
box-shadow: var(--shadow);
}
.loading-spinner {
width: 48px;
height: 48px;
border: 3px solid rgba(255, 255, 255, 0.1);
border-top-color: var(--accent);
border-radius: 50%;
animation: spin 0.9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.loading-text, .error-text {
font-size: 18px;
color: var(--text-secondary);
font-weight: 400;
}
.error-icon {
width: 56px;
height: 56px;
opacity: 0.5;
}
.error-text {
font-size: 20px;
color: var(--text-primary);
text-align: center;
max-width: 480px;
line-height: 1.5;
}
.hidden { display: none !important; }
</style>
</head>
<body>
<div id="loading" class="loading">
<div class="loading-spinner"></div>
<p class="loading-text">Loading weather data…</p>
</div>
<div id="error" class="error hidden">
<svg class="error-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
<circle cx="12" cy="12" r="10"/>
<line x1="12" y1="8" x2="12" y2="12"/>
<line x1="12" y1="16" x2="12.01" y2="16"/>
</svg>
<p class="error-text" id="error-message">Weather data could not be loaded.</p>
</div>
<div id="card" class="card hidden">
<header class="header">
<div class="location-block">
<h1 class="location-name" id="location-name">—</h1>
<p class="date-label" id="date-label">—</p>
</div>
<div class="weather-icon-wrap">
<svg class="weather-icon" id="weather-icon" viewBox="0 0 100 100" fill="none"></svg>
</div>
</header>
<main class="main">
<div class="temp-block">
<div class="temp-range">
<span class="temp-max" id="temp-max">—</span>
<span class="temp-unit">°C</span>
</div>
<div class="temp-range">
<span class="temp-min" id="temp-min">—</span>
<span class="temp-unit" style="font-size:18px">°C low</span>
</div>
<p class="condition-label" id="condition">—</p>
<div class="stats-row">
<div class="stat-pill">
<span class="stat-pill-label">High</span>
<span class="stat-pill-value" id="stat-high">—</span>
</div>
<div class="stat-pill">
<span class="stat-pill-label">Low</span>
<span class="stat-pill-value" id="stat-low">—</span>
</div>
<div class="stat-pill">
<span class="stat-pill-label">Range</span>
<span class="stat-pill-value" id="stat-range">—</span>
</div>
</div>
</div>
<div class="hourly-section">
<h2 class="hourly-title">Hourly Temperature</h2>
<div class="hourly-chart" id="hourly-chart">
<svg id="chart-svg" viewBox="0 0 960 160" preserveAspectRatio="none"></svg>
</div>
</div>
</main>
<footer class="footer-bar">
<span class="coords" id="coords">—</span>
<span class="source-tag">Open-Meteo · UTC</span>
</footer>
</div>
<script>
(function () {
const WMO = {
0: { label: "Clear sky", theme: "clear" },
1: { label: "Mainly clear", theme: "clear" },
2: { label: "Partly cloudy", theme: "cloudy" },
3: { label: "Overcast", theme: "cloudy" },
45: { label: "Fog", theme: "fog" },
48: { label: "Depositing rime fog", theme: "fog" },
51: { label: "Light drizzle", theme: "rain" },
53: { label: "Moderate drizzle", theme: "rain" },
55: { label: "Dense drizzle", theme: "rain" },
56: { label: "Freezing drizzle", theme: "rain" },
57: { label: "Dense freezing drizzle", theme: "rain" },
61: { label: "Slight rain", theme: "rain" },
63: { label: "Moderate rain", theme: "rain" },
65: { label: "Heavy rain", theme: "rain" },
66: { label: "Freezing rain", theme: "rain" },
67: { label: "Heavy freezing rain", theme: "rain" },
71: { label: "Slight snow", theme: "snow" },
73: { label: "Moderate snow", theme: "snow" },
75: { label: "Heavy snow", theme: "snow" },
77: { label: "Snow grains", theme: "snow" },
80: { label: "Slight rain showers", theme: "rain" },
81: { label: "Moderate rain showers", theme: "rain" },
82: { label: "Violent rain showers", theme: "rain" },
85: { label: "Slight snow showers", theme: "snow" },
86: { label: "Heavy snow showers", theme: "snow" },
95: { label: "Thunderstorm", theme: "storm" },
96: { label: "Thunderstorm with hail", theme: "storm" },
99: { label: "Thunderstorm with heavy hail", theme: "storm" }
};
function todayUTC() {
return new Date().toISOString().slice(0, 10);
}
function parseParams() {
const p = new URLSearchParams(window.location.search);
return {
lat: parseFloat(p.get("lat") || "52.52"),
lon: parseFloat(p.get("lon") || "13.405"),
name: p.get("name") || "Berlin",
date: p.get("date") || todayUTC()
};
}
function formatDate(dateStr) {
const [y, m, d] = dateStr.split("-").map(Number);
const dt = new Date(Date.UTC(y, m - 1, d));
return dt.toLocaleDateString("en-US", {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
timeZone: "UTC"
});
}
function wmoInfo(code) {
return WMO[code] || { label: "Unknown", theme: "cloudy" };
}
function weatherIconSVG(code) {
const sun = `<circle cx="50" cy="50" r="18" fill="#FFD166" opacity="0.95"/>
<g stroke="#FFD166" stroke-width="3" stroke-linecap="round" opacity="0.85">
<line x1="50" y1="18" x2="50" y2="26"/><line x1="50" y1="74" x2="50" y2="82"/>
<line x1="18" y1="50" x2="26" y2="50"/><line x1="74" y1="50" x2="82" y2="50"/>
<line x1="27" y1="27" x2="33" y2="33"/><line x1="67" y1="67" x2="73" y2="73"/>
<line x1="73" y1="27" x2="67" y2="33"/><line x1="33" y1="67" x2="27" y2="73"/>
</g>`;
const cloud = `<ellipse cx="42" cy="58" rx="28" ry="18" fill="rgba(200,210,230,0.85)"/>
<ellipse cx="62" cy="52" rx="22" ry="16" fill="rgba(220,228,240,0.9)"/>`;
const rain = `<g stroke="#5EB8FF" stroke-width="2.5" stroke-linecap="round" opacity="0.8">
<line x1="38" y1="72" x2="34" y2="84"/><line x1="50" y1="74" x2="46" y2="86"/>
<line x1="62" y1="72" x2="58" y2="84"/></g>`;
const snow = `<g fill="#C8E0FF" opacity="0.85">
<circle cx="38" cy="78" r="3"/><circle cx="50" cy="82" r="3"/><circle cx="62" cy="78" r="3"/></g>`;
const bolt = `<polygon points="52,62 44,78 50,78 46,92 58,72 52,72" fill="#FFD166"/>`;
const fog = `<g stroke="rgba(180,190,205,0.6)" stroke-width="3" stroke-linecap="round">
<line x1="20" y1="55" x2="80" y2="55"/><line x1="25" y1="65" x2="75" y2="65"/>
<line x1="30" y1="75" x2="70" y2="75"/></g>`;
if (code === 0 || code === 1) return sun;
if (code === 2) return sun.replace('opacity="0.95"', 'opacity="0.7"') + cloud.replace('cy="58"', 'cy="62"').replace('cy="52"', 'cy="56"');
if (code === 3) return cloud;
if (code === 45 || code === 48) return fog;
if (code >= 51 && code <= 67) return cloud + rain;
if (code >= 71 && code <= 77) return cloud + snow;
if (code >= 80 && code <= 82) return cloud + rain;
if (code >= 85 && code <= 86) return cloud + snow;
if (code >= 95) return cloud + bolt;
return cloud;
}
function buildURL(params) {
const today = todayUTC();
const base = params.date < today ? "/api/om/archive" : "/api/om/forecast";
const q = new URLSearchParams({
latitude: params.lat,
longitude: params.lon,
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: params.date,
end_date: params.date
});
return base + "?" + q.toString();
}
function show(id) {
["loading", "error", "card"].forEach(function (el) {
document.getElementById(el).classList.add("hidden");
});
document.getElementById(id).classList.remove("hidden");
}
function showError(msg) {
document.getElementById("error-message").textContent = msg || "Weather data could not be loaded.";
show("error");
}
function roundTemp(v) {
return Math.round(v);
}
function renderChart(hours, temps) {
const svg = document.getElementById("chart-svg");
const W = 960, H = 160;
const padL = 30, padR = 30, padT = 28, padB = 36;
const chartW = W - padL - padR;
const chartH = H - padT - padB;
const minT = Math.min(...temps);
const maxT = Math.max(...temps);
const range = maxT - minT || 1;
const points = temps.map(function (t, i) {
const x = padL + (i / (temps.length - 1 || 1)) * chartW;
const y = padT + chartH - ((t - minT) / range) * chartH;
return { x: x, y: y, t: t, h: hours[i] };
});
let lineD = points.map(function (p, i) {
return (i === 0 ? "M" : "L") + p.x.toFixed(1) + "," + p.y.toFixed(1);
}).join(" ");
let areaD = lineD + " L" + points[points.length - 1].x.toFixed(1) + "," + (padT + chartH) +
" L" + points[0].x.toFixed(1) + "," + (padT + chartH) + " Z";
let dots = "";
let labels = "";
let tempLabels = "";
const step = Math.max(1, Math.floor(points.length / 12));
points.forEach(function (p, i) {
dots += '<circle class="chart-dot" cx="' + p.x.toFixed(1) + '" cy="' + p.y.toFixed(1) + '" r="3.5"/>';
if (i % step === 0 || i === points.length - 1) {
labels += '<text class="chart-label" x="' + p.x.toFixed(1) + '" y="' + (H - 6) + '">' + p.h + '</text>';
tempLabels += '<text class="chart-temp-label" x="' + p.x.toFixed(1) + '" y="' + (p.y - 10).toFixed(1) + '">' + roundTemp(p.t) + '°</text>';
}
});
svg.innerHTML =
'<defs><linearGradient id="areaGradient" x1="0" y1="0" x2="0" y2="1">' +
'<stop offset="0%" stop-color="#5EB8FF"/>' +
'<stop offset="100%" stop-color="#5EB8FF" stop-opacity="0"/>' +
'</linearGradient></defs>' +
'<path class="chart-area" d="' + areaD + '"/>' +
'<path class="chart-line" d="' + lineD + '"/>' +
dots + labels + tempLabels;
}
async function load() {
const params = parseParams();
if (isNaN(params.lat) || isNaN(params.lon)) {
showError("Weather data could not be loaded.");
return;
}
try {
const res = await fetch(buildURL(params));
if (!res.ok) throw new Error("HTTP " + res.status);
const data = await res.json();
if (!data.daily || !data.hourly) throw new Error("Invalid response");
const tMax = data.daily.temperature_2m_max[0];
const tMin = data.daily.temperature_2m_min[0];
const wCode = data.daily.weather_code[0];
if (tMax == null || tMin == null || wCode == null) throw new Error("Missing daily data");
const hourlyTimes = data.hourly.time || [];
const hourlyTemps = data.hourly.temperature_2m || [];
const hours = [];
const temps = [];
hourlyTimes.forEach(function (iso, i) {
if (iso.startsWith(params.date)) {
hours.push(iso.slice(11, 13) + ":00");
temps.push(hourlyTemps[i]);
}
});
if (hours.length === 0) throw new Error("No hourly data");
const info = wmoInfo(wCode);
document.body.className = "theme-" + info.theme;
document.getElementById("location-name").textContent = params.name;
document.getElementById("date-label").textContent = formatDate(params.date);
document.getElementById("temp-max").textContent = roundTemp(tMax);
document.getElementById("temp-min").textContent = roundTemp(tMin);
document.getElementById("condition").textContent = info.label;
document.getElementById("stat-high").textContent = roundTemp(tMax) + " °C";
document.getElementById("stat-low").textContent = roundTemp(tMin) + " °C";
document.getElementById("stat-range").textContent = roundTemp(tMax - tMin) + " °C";
document.getElementById("coords").textContent =
params.lat.toFixed(4) + "° N, " + params.lon.toFixed(4) + "° E";
document.getElementById("weather-icon").innerHTML = weatherIconSVG(wCode);
renderChart(hours, temps);
show("card");
} catch (e) {
showError("Weather data could not be loaded.");
}
}
load();
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 21,787 | html / css / js | 2,588 / 8,974 / 10,225 |
|---|---|---|---|
| dom 节点 | 50 | dom 深度 | 8 |
| css 规则 | 51 | 含 js | 是 |
| brightness | 40.1 | contrast | 17.7 |
| colorfulness | 15.2 | 留白 | 51.0% |
该 slot 的 telemetry
| prompt tokens | 18,766 | completion tokens | 14,335 |
|---|---|---|---|
| total tokens | 33,101 | wall | 102.2 s |
| cost | — | request id | — |
config.json559 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "composer-2.5--cli--cursor--dev",
"effort": null,
"family": "cursor",
"m": {
"min": 2,
"q": 2
},
"model_id": "composer-2.5",
"protocol": "cli",
"served_model": "composer-2.5",
"telemetry": {
"completion_tokens": 40563,
"cost_usd": null,
"prompt_tokens": 76919,
"total_tokens": 117482,
"wall_ms": 306359
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-s2",
"config_id": "composer-2.5--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T16:58:59.382937+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T16:58:02.252518+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-12T17:00:45.197132+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T16:59:03.015947+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-12T17:02:36.350336+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T17:00:48.526826+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T17:03:19.232109+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T17:02:39.998568+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-min"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}