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

内容未就绪 — 抓拍时这张卡还停在占位/加载态,真实内容从未填入。截图记录的就是页面当时的样子;下方「原始输出」里可以看到它自己的代码。
截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
gpt-5.4-mini @low · cursor0.75grok-4.5 · opencode0.75gpt-5.4-mini @medium · cursor0.75grok-4.5 @high · api0.75grok-4.5 @medium · api0.75最远
north-mini-code-free · api0.50claude-haiku-4-5 @max · CC0.52claude-sonnet-4 · cursor0.52claude-sonnet-4 · kiro0.52claude-haiku-4-5 @high · CC0.52限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempnot-foundno-temperature-candidate
- min tempnot-foundno-temperature-candidate
- hourlynot-foundcoverage · 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=device-width, initial-scale=1">
<title>Weather Card</title>
<style>
:root {
--bg0: #07111f;
--bg1: #0b1730;
--bg2: #13274a;
--card: rgba(10, 18, 34, 0.78);
--card-2: rgba(18, 29, 54, 0.82);
--text: #edf4ff;
--muted: rgba(237, 244, 255, 0.72);
--soft: rgba(237, 244, 255, 0.12);
--soft-2: rgba(237, 244, 255, 0.08);
--accent: #7dd3fc;
--accent-2: #c084fc;
--good: #86efac;
--warn: #fde68a;
--shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
}
* { box-sizing: border-box; }
html, body {
width: 100%;
height: 100%;
margin: 0;
overflow: hidden;
background:
radial-gradient(1200px 700px at 20% 12%, rgba(125, 211, 252, 0.22), transparent 55%),
radial-gradient(900px 580px at 82% 18%, rgba(192, 132, 252, 0.18), transparent 58%),
radial-gradient(700px 500px at 50% 82%, rgba(59, 130, 246, 0.12), transparent 60%),
linear-gradient(160deg, var(--bg0) 0%, var(--bg1) 44%, var(--bg2) 100%);
color: var(--text);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background-image:
linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
background-size: 72px 72px;
mask-image: radial-gradient(circle at center, black 42%, transparent 88%);
opacity: 0.22;
}
.frame {
width: 1280px;
height: 800px;
margin: 0 auto;
display: grid;
place-items: center;
position: relative;
}
.card {
width: 1120px;
height: 620px;
border-radius: 34px;
background:
linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04)),
linear-gradient(160deg, rgba(10, 18, 34, 0.86), rgba(11, 23, 48, 0.72));
border: 1px solid rgba(255,255,255,0.10);
box-shadow: var(--shadow);
overflow: hidden;
position: relative;
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
}
.card::after {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(900px 360px at 10% 0%, rgba(125, 211, 252, 0.18), transparent 58%),
radial-gradient(700px 320px at 100% 100%, rgba(192, 132, 252, 0.14), transparent 58%);
pointer-events: none;
}
.layout {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: 0;
width: 100%;
height: 100%;
}
.hero {
padding: 42px 42px 36px;
display: flex;
flex-direction: column;
justify-content: space-between;
min-width: 0;
}
.topline {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 24px;
}
.location {
min-width: 0;
}
.label {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 8px 14px;
border-radius: 999px;
background: rgba(125, 211, 252, 0.14);
border: 1px solid rgba(125, 211, 252, 0.16);
color: #d9f4ff;
font-size: 13px;
letter-spacing: 0.06em;
text-transform: uppercase;
font-weight: 700;
}
.title {
margin: 18px 0 6px;
font-size: 56px;
line-height: 0.98;
letter-spacing: -0.04em;
font-weight: 800;
text-wrap: balance;
overflow-wrap: anywhere;
}
.subtitle {
font-size: 18px;
color: var(--muted);
line-height: 1.45;
margin: 0;
}
.meta-row {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 22px;
}
.chip {
padding: 10px 14px;
border-radius: 999px;
background: rgba(255,255,255,0.08);
border: 1px solid rgba(255,255,255,0.08);
color: rgba(237,244,255,0.88);
font-size: 14px;
line-height: 1;
}
.weather-hero {
display: grid;
grid-template-columns: 148px 1fr;
align-items: center;
gap: 24px;
margin-top: 22px;
padding: 24px;
border-radius: 28px;
background: linear-gradient(145deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
border: 1px solid rgba(255,255,255,0.10);
}
.icon-wrap {
width: 148px;
height: 148px;
border-radius: 34px;
display: grid;
place-items: center;
background:
radial-gradient(circle at 30% 25%, rgba(255,255,255,0.25), transparent 38%),
linear-gradient(160deg, rgba(125, 211, 252, 0.26), rgba(192, 132, 252, 0.18));
border: 1px solid rgba(255,255,255,0.10);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
position: relative;
overflow: hidden;
}
.icon-wrap::after {
content: "";
position: absolute;
inset: auto -20px -20px auto;
width: 82px;
height: 82px;
border-radius: 50%;
background: rgba(255,255,255,0.10);
filter: blur(10px);
}
.weather-icon {
position: relative;
z-index: 1;
font-size: 64px;
line-height: 1;
filter: drop-shadow(0 10px 20px rgba(0,0,0,0.2));
}
.condition {
display: flex;
flex-direction: column;
gap: 10px;
min-width: 0;
}
.condition-name {
font-size: 38px;
line-height: 1.03;
letter-spacing: -0.03em;
font-weight: 800;
margin: 0;
}
.condition-desc {
margin: 0;
font-size: 17px;
color: var(--muted);
line-height: 1.55;
}
.stats {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
margin-top: 22px;
}
.stat {
padding: 18px 20px;
border-radius: 22px;
background: rgba(8, 13, 26, 0.32);
border: 1px solid rgba(255,255,255,0.08);
}
.stat .k {
display: block;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.08em;
color: rgba(237,244,255,0.60);
margin-bottom: 8px;
}
.stat .v {
display: flex;
align-items: baseline;
gap: 8px;
font-size: 42px;
line-height: 1;
font-weight: 800;
letter-spacing: -0.04em;
}
.stat .unit {
font-size: 16px;
font-weight: 700;
color: rgba(237,244,255,0.66);
letter-spacing: 0;
}
.right {
padding: 34px 34px 34px 0;
display: flex;
align-items: stretch;
}
.panel {
width: 100%;
border-radius: 28px 0 0 28px;
background: linear-gradient(180deg, rgba(6, 11, 23, 0.50), rgba(16, 24, 44, 0.70));
border-left: 1px solid rgba(255,255,255,0.08);
padding: 26px 24px 24px 24px;
display: grid;
grid-template-rows: auto auto 1fr;
gap: 18px;
min-width: 0;
}
.panel-head {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 16px;
}
.panel-title {
margin: 0;
font-size: 20px;
letter-spacing: -0.02em;
font-weight: 800;
}
.panel-subtitle {
margin: 8px 0 0;
color: var(--muted);
font-size: 14px;
line-height: 1.45;
}
.legend {
display: flex;
align-items: center;
gap: 10px;
color: rgba(237,244,255,0.68);
font-size: 13px;
white-space: nowrap;
}
.legend-swatch {
width: 10px;
height: 10px;
border-radius: 999px;
background: linear-gradient(135deg, var(--accent), var(--accent-2));
box-shadow: 0 0 0 4px rgba(125, 211, 252, 0.12);
}
.hourly {
min-width: 0;
display: flex;
flex-direction: column;
gap: 14px;
}
.hourly-grid {
flex: 1;
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: 12px;
align-content: start;
min-width: 0;
}
.hour {
height: 98px;
padding: 12px 10px 10px;
border-radius: 18px;
background:
linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
rgba(255,255,255,0.02);
border: 1px solid rgba(255,255,255,0.07);
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 6px;
min-width: 0;
overflow: hidden;
}
.hour .t {
font-size: 13px;
color: rgba(237,244,255,0.72);
font-weight: 700;
}
.hour .temp {
font-size: 26px;
line-height: 1;
font-weight: 800;
letter-spacing: -0.04em;
margin-top: auto;
}
.bar {
height: 7px;
border-radius: 999px;
background: rgba(255,255,255,0.08);
overflow: hidden;
position: relative;
}
.bar > span {
display: block;
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, rgba(125, 211, 252, 0.85), rgba(192, 132, 252, 0.95));
box-shadow: 0 0 18px rgba(125, 211, 252, 0.28);
}
.footer-note {
align-self: end;
color: rgba(237,244,255,0.58);
font-size: 13px;
line-height: 1.45;
padding-top: 4px;
}
.loading, .error {
width: 100%;
height: 100%;
display: grid;
place-items: center;
color: var(--text);
text-align: center;
padding: 30px;
}
.status-card {
max-width: 560px;
padding: 36px 32px;
border-radius: 28px;
background: rgba(9, 15, 28, 0.54);
border: 1px solid rgba(255,255,255,0.10);
box-shadow: var(--shadow);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
}
.status-title {
margin: 0 0 12px;
font-size: 34px;
line-height: 1.05;
letter-spacing: -0.04em;
font-weight: 800;
}
.status-copy {
margin: 0;
color: var(--muted);
font-size: 17px;
line-height: 1.6;
}
.spinner {
width: 52px;
height: 52px;
margin: 0 auto 18px;
border-radius: 50%;
border: 4px solid rgba(255,255,255,0.12);
border-top-color: rgba(125, 211, 252, 0.95);
animation: spin 0.9s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
@media (max-width: 1290px) {
.frame {
width: 100vw;
height: 100vh;
}
.card {
width: min(1120px, calc(100vw - 48px));
height: min(620px, calc(100vh - 48px));
}
}
.hidden { display: none !important; }
</style>
</head>
<body>
<div class="frame">
<main class="card" id="app">
<div class="loading" id="loading">
<div class="status-card">
<div class="spinner"></div>
<h1 class="status-title">Loading weather</h1>
<p class="status-copy">Fetching forecast data for the requested location and date.</p>
</div>
</div>
<div class="error hidden" id="error">
<div class="status-card">
<h1 class="status-title">Weather unavailable</h1>
<p class="status-copy" id="errorText">The weather data could not be loaded.</p>
</div>
</div>
<section class="layout hidden" id="content" aria-live="polite">
<div class="hero">
<div>
<div class="topline">
<div class="location">
<div class="label">Weather card</div>
<h1 class="title" id="locationName">Berlin</h1>
<p class="subtitle" id="dateLine">Friday, 14 August 2026</p>
</div>
<div class="chip" id="sourceChip">Open-Meteo compatible</div>
</div>
<div class="weather-hero">
<div class="icon-wrap">
<div class="weather-icon" id="weatherIcon">☀️</div>
</div>
<div class="condition">
<h2 class="condition-name" id="conditionName">Clear sky</h2>
<p class="condition-desc" id="conditionDesc">A clean, minimal summary of the selected day’s weather.</p>
</div>
</div>
<div class="stats">
<div class="stat">
<span class="k">Maximum temperature</span>
<div class="v"><span id="tempMax">--</span><span class="unit">°C</span></div>
</div>
<div class="stat">
<span class="k">Minimum temperature</span>
<div class="v"><span id="tempMin">--</span><span class="unit">°C</span></div>
</div>
</div>
<div class="meta-row">
<div class="chip" id="coordsChip">52.5200, 13.4050</div>
<div class="chip" id="rangeChip">Selected day: UTC</div>
<div class="chip" id="endpointChip">forecast</div>
</div>
</div>
<div class="footer-note">
Temperatures shown in Celsius. Hourly values are for the selected UTC day.
</div>
</div>
<div class="right">
<section class="panel">
<div class="panel-head">
<div>
<h2 class="panel-title">Hourly temperatures</h2>
<p class="panel-subtitle">A full 24-hour view for the chosen date.</p>
</div>
<div class="legend"><span class="legend-swatch"></span><span id="hourlyRange">Range</span></div>
</div>
<div class="hourly">
<div class="hourly-grid" id="hourlyGrid"></div>
</div>
</section>
</div>
</section>
</main>
</div>
<script>
(function () {
const qs = new URLSearchParams(location.search);
const todayUTC = new Date().toISOString().slice(0, 10);
const lat = parseFloat(qs.get("lat") || "52.52");
const lon = parseFloat(qs.get("lon") || "13.405");
const name = (qs.get("name") || "Berlin").trim() || "Berlin";
const requestedDate = /^\d{4}-\d{2}-\d{2}$/.test(qs.get("date") || "") ? qs.get("date") : todayUTC;
const endpoint = requestedDate < todayUTC ? "/api/om/archive" : "/api/om/forecast";
const els = {
loading: document.getElementById("loading"),
error: document.getElementById("error"),
errorText: document.getElementById("errorText"),
content: document.getElementById("content"),
locationName: document.getElementById("locationName"),
dateLine: document.getElementById("dateLine"),
weatherIcon: document.getElementById("weatherIcon"),
conditionName: document.getElementById("conditionName"),
conditionDesc: document.getElementById("conditionDesc"),
tempMax: document.getElementById("tempMax"),
tempMin: document.getElementById("tempMin"),
coordsChip: document.getElementById("coordsChip"),
rangeChip: document.getElementById("rangeChip"),
endpointChip: document.getElementById("endpointChip"),
hourlyGrid: document.getElementById("hourlyGrid"),
hourlyRange: document.getElementById("hourlyRange")
};
const weatherMap = {
0: { label: "Clear sky", icon: "☀️", desc: "Bright and mostly cloud-free conditions." },
1: { label: "Mainly clear", icon: "🌤️", desc: "Mostly clear with a few clouds around." },
2: { label: "Partly cloudy", icon: "⛅", desc: "A mix of sun and cloud cover." },
3: { label: "Overcast", icon: "☁️", desc: "Clouds dominate the sky throughout the day." },
45: { label: "Fog", icon: "🌫️", desc: "Visibility may be reduced by fog or mist." },
48: { label: "Depositing rime fog", icon: "🌫️", desc: "Fog with ice crystal deposition." },
51: { label: "Light drizzle", icon: "🌦️", desc: "A light, steady drizzle is possible." },
53: { label: "Moderate drizzle", icon: "🌦️", desc: "Persistent drizzle with a damp feel." },
55: { label: "Dense drizzle", icon: "🌧️", desc: "Heavier drizzle and a wetter day overall." },
56: { label: "Light freezing drizzle", icon: "🌧️", desc: "Drizzle with freezing conditions." },
57: { label: "Dense freezing drizzle", icon: "🌧️", desc: "Persistent freezing drizzle." },
61: { label: "Slight rain", icon: "🌦️", desc: "Light rain showers or steady rain." },
63: { label: "Moderate rain", icon: "🌧️", desc: "Rain is expected for parts of the day." },
65: { label: "Heavy rain", icon: "🌧️", desc: "Heavy rain and a more unsettled feel." },
66: { label: "Light freezing rain", icon: "🌧️", desc: "Rain with freezing conditions." },
67: { label: "Heavy freezing rain", icon: "🌧️", desc: "Significant freezing rain possible." },
71: { label: "Slight snow fall", icon: "🌨️", desc: "Light snow showers or flurries." },
73: { label: "Moderate snow fall", icon: "🌨️", desc: "Snow may accumulate during the day." },
75: { label: "Heavy snow fall", icon: "❄️", desc: "Heavy snow with reduced visibility." },
77: { label: "Snow grains", icon: "❄️", desc: "Small, granular snow particles." },
80: { label: "Slight rain showers", icon: "🌦️", desc: "Brief passing showers are possible." },
81: { label: "Moderate rain showers", icon: "🌧️", desc: "More frequent showers through the day." },
82: { label: "Violent rain showers", icon: "⛈️", desc: "Sharp bursts of heavy rain showers." },
85: { label: "Slight snow showers", icon: "🌨️", desc: "Short snow showers may occur." },
86: { label: "Heavy snow showers", icon: "❄️", desc: "Intense snow showers are possible." },
95: { label: "Thunderstorm", icon: "⛈️", desc: "Thunderstorms may develop." },
96: { label: "Thunderstorm with hail", icon: "⛈️", desc: "Thunderstorms with hail are possible." },
99: { label: "Thunderstorm with heavy hail", icon: "⛈️", desc: "A more intense storm with hail is possible." }
};
function formatDateUTC(iso) {
const d = new Date(iso + "T00:00:00Z");
return new Intl.DateTimeFormat("en-US", {
weekday: "long",
day: "numeric",
month: "long",
year: "numeric",
timeZone: "UTC"
}).format(d);
}
function showError(message) {
els.loading.classList.add("hidden");
els.content.classList.add("hidden");
els.error.classList.remove("hidden");
els.errorText.textContent = message || "The weather data could not be loaded.";
}
function showContent() {
els.loading.classList.add("hidden");
els.error.classList.add("hidden");
els.content.classList.remove("hidden");
}
function safeNum(value) {
return Number.isFinite(value) ? value.toFixed(1).replace(/\.0$/, "") : "--";
}
function buildHourlyGrid(times, temps) {
els.hourlyGrid.innerHTML = "";
if (!Array.isArray(times) || !Array.isArray(temps) || !times.length || !temps.length) {
const empty = document.createElement("div");
empty.className = "status-copy";
empty.style.gridColumn = "1 / -1";
empty.style.textAlign = "center";
empty.textContent = "Hourly temperatures are unavailable for this date.";
els.hourlyGrid.appendChild(empty);
return;
}
const min = Math.min.apply(null, temps.filter(Number.isFinite));
const max = Math.max.apply(null, temps.filter(Number.isFinite));
const span = Math.max(1, max - min);
times.forEach((t, i) => {
const temp = temps[i];
const hour = new Date(t).toLocaleTimeString("en-US", {
timeZone: "UTC",
hour: "numeric",
hour12: true
}).replace(/^0/, "");
const item = document.createElement("div");
item.className = "hour";
const timeEl = document.createElement("div");
timeEl.className = "t";
timeEl.textContent = hour;
const tempEl = document.createElement("div");
tempEl.className = "temp";
tempEl.textContent = safeNum(temp);
const bar = document.createElement("div");
bar.className = "bar";
const fill = document.createElement("span");
const width = Number.isFinite(temp) ? (18 + ((temp - min) / span) * 82) : 18;
fill.style.width = Math.max(18, Math.min(100, width)).toFixed(0) + "%";
bar.appendChild(fill);
item.appendChild(timeEl);
item.appendChild(tempEl);
item.appendChild(bar);
els.hourlyGrid.appendChild(item);
});
}
async function loadWeather() {
try {
if (!Number.isFinite(lat) || !Number.isFinite(lon)) {
throw new Error("Invalid latitude or longitude.");
}
els.locationName.textContent = name;
els.dateLine.textContent = formatDateUTC(requestedDate);
els.coordsChip.textContent = lat.toFixed(4) + ", " + lon.toFixed(4);
els.rangeChip.textContent = "Selected day: " + requestedDate + " UTC";
els.endpointChip.textContent = endpoint.includes("archive") ? "archive" : "forecast";
els.hourlyRange.textContent = requestedDate + " UTC";
const url = new URL(endpoint, location.origin);
url.searchParams.set("latitude", String(lat));
url.searchParams.set("longitude", String(lon));
url.searchParams.set("daily", "temperature_2m_max,temperature_2m_min,weather_code");
url.searchParams.set("hourly", "temperature_2m");
url.searchParams.set("timezone", "UTC");
url.searchParams.set("temperature_unit", "celsius");
url.searchParams.set("start_date", requestedDate);
url.searchParams.set("end_date", requestedDate);
const res = await fetch(url.toString(), { credentials: "same-origin" });
if (!res.ok) {
throw new Error("Request failed with status " + res.status + ".");
}
const data = await res.json();
const daily = data && data.daily ? data.daily : null;
const hourly = data && data.hourly ? data.hourly : null;
if (!daily || !Array.isArray(daily.time) || !daily.time.length) {
throw new Error("Missing daily weather data.");
}
const idx = Math.max(0, daily.time.indexOf(requestedDate));
const dailyMax = daily.temperature_2m_max && daily.temperature_2m_max[idx];
const dailyMin = daily.temperature_2m_min && daily.temperature_2m_min[idx];
const code = daily.weather_code && daily.weather_code[idx];
const condition = weatherMap[code] || {
label: "Unknown conditions",
icon: "🌡️",
desc: "Weather conditions for this day are not recognized."
};
els.weatherIcon.textContent = condition.icon;
els.conditionName.textContent = condition.label;
els.conditionDesc.textContent = condition.desc;
els.tempMax.textContent = safeNum(dailyMax);
els.tempMin.textContent = safeNum(dailyMin);
const hours = Array.isArray(hourly.time) ? hourly.time.filter((t) => t.startsWith(requestedDate)) : [];
const temps = Array.isArray(hourly.temperature_2m) ? hourly.temperature_2m.slice(0, hours.length) : [];
buildHourlyGrid(hours, temps);
showContent();
} catch (err) {
showError("The weather data could not be loaded.");
}
}
loadWeather();
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 23,999 | html / css / js | 3,301 / 10,616 / 10,082 |
|---|---|---|---|
| dom 节点 | 61 | dom 深度 | 11 |
| css 规则 | 54 | 含 js | 是 |
| brightness | 45.8 | contrast | 27.2 |
| colorfulness | 17.5 | 留白 | 52.0% |
该 slot 的 telemetry
| prompt tokens | 8,420 | completion tokens | 7,308 |
|---|---|---|---|
| total tokens | 15,728 | wall | 47 s |
| cost | — | request id | — |
config.json580 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "gpt-5.4-mini-eff-medium--cli--cursor-xl--dev",
"effort": "medium",
"family": "gpt",
"m": {
"min": 2,
"q": 2
},
"model_id": "gpt-5.4-mini",
"protocol": "cli",
"served_model": "gpt-5.4-mini-medium",
"telemetry": {
"completion_tokens": 26639,
"cost_usd": null,
"prompt_tokens": 37757,
"total_tokens": 64396,
"wall_ms": 181519
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-xl-s2",
"config_id": "gpt-5.4-mini-eff-medium--cli--cursor-xl--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-13T16:32:17.199490+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T16:31:30.181348+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-13T16:32:58.297619+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T16:32:22.009645+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-13T16:33:40.131040+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T16:33:01.909167+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-13T16:34:44.307868+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T16:33:44.292517+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
}
}
}