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
- 采集于
- 2026年7月18日 11:54 · N=2
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
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.73最远
north-mini-code-free · api0.51claude-sonnet-4 · cursor0.53nemotron-3-ultra-free · api0.54claude-haiku-4-5 @max · CC0.54claude-sonnet-4 · kiro0.54限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempambiguousinsufficient-distinct-temperature-nodes
- min tempambiguousinsufficient-distinct-temperature-nodes
- 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">
<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 —— 廉价的确定性描述量
| bytes 总计 | 19,953 | html / css / js | 2,325 / 5,158 / 12,470 |
|---|---|---|---|
| dom 节点 | 46 | dom 深度 | 9 |
| css 规则 | 37 | 含 js | 是 |
| brightness | 57.6 | contrast | 17.7 |
| colorfulness | 24.2 | 留白 | 76.8% |
该 slot 的 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
}
}
}