claude-fable-5 @ high · cursor
cursorhigh
- config
- claude-fable-5-eff-high--cli--cursor--dev
- batch
- 2026-07-19--unified
- transport
- cursor-agent-cli-isolated-home
- protocol
- cli · plan
- served model
- claude-fable-5-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 neighborsNo similarity data for this session — this batch has no computed pairs.
Fidelity — does the card show the right data?
- namematch
- conditionmatch
- datematch
- max tempmatchshown: 25.3
- min tempmatchshown: 16
- hourlymatchcoverage 9/24 · 9 match · 0 mismatch · 15 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">
<meta name="viewport" content="width=1280">
<title>Weather</title>
<style>
:root{
--bg1:#0e1a2f; --bg2:#1c2f52; --accent:#7fb4ff;
--glow:rgba(127,180,255,.28);
--ink:#eaf2ff; --ink-dim:rgba(234,242,255,.62); --ink-faint:rgba(234,242,255,.38);
--card:rgba(255,255,255,.055); --card-border:rgba(255,255,255,.12);
--chart-line:#8fc1ff; --chart-fill-top:rgba(143,193,255,.28); --chart-fill-bot:rgba(143,193,255,0);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
color:var(--ink);
background:radial-gradient(1200px 700px at 20% -10%, var(--bg2) 0%, transparent 60%),
radial-gradient(1000px 800px at 90% 110%, var(--bg2) 0%, transparent 55%),
var(--bg1);
min-height:100vh; display:flex; align-items:center; justify-content:center;
overflow:hidden; position:relative;
-webkit-font-smoothing:antialiased;
}
.orb{position:absolute; border-radius:50%; filter:blur(90px); opacity:.5; pointer-events:none}
.orb.a{width:520px;height:520px; background:var(--glow); top:-160px; left:-120px}
.orb.b{width:420px;height:420px; background:var(--glow); bottom:-180px; right:-100px; opacity:.35}
.card{
width:1080px; max-width:calc(100vw - 80px);
background:var(--card);
border:1px solid var(--card-border);
border-radius:28px;
backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
box-shadow:0 30px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);
padding:44px 52px 40px;
position:relative; z-index:1;
}
.top{display:flex; justify-content:space-between; align-items:flex-start; gap:32px}
.loc h1{font-size:34px; font-weight:600; letter-spacing:-.02em; line-height:1.15}
.loc .date{margin-top:6px; font-size:15px; color:var(--ink-dim); font-weight:500}
.loc .coords{margin-top:4px; font-size:12px; color:var(--ink-faint); letter-spacing:.06em}
.cond{display:flex; align-items:center; gap:16px; text-align:right}
.cond .label{font-size:17px; font-weight:600; color:var(--ink)}
.cond .sub{font-size:12.5px; color:var(--ink-dim); margin-top:3px}
.cond .icon svg{width:76px; height:76px; display:block; filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.temps{display:flex; align-items:baseline; gap:28px; margin:26px 0 8px}
.temps .max{font-size:104px; font-weight:200; letter-spacing:-.04em; line-height:1}
.temps .max sup{font-size:38px; font-weight:300; color:var(--ink-dim); vertical-align:super}
.hilo{display:flex; gap:22px; padding-bottom:12px}
.hilo .pill{
display:flex; align-items:center; gap:8px; font-size:15px; font-weight:600;
padding:8px 16px; border-radius:999px;
background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09);
}
.hilo .k{color:var(--ink-faint); font-weight:500; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase}
.divider{height:1px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent); margin:26px 0 22px}
.hourly h2{font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:14px}
.chart-wrap{width:100%}
.chart-wrap svg{width:100%; height:auto; display:block}
.state{min-height:340px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; text-align:center}
.spinner{width:38px; height:38px; border-radius:50%; border:3px solid rgba(255,255,255,.15); border-top-color:var(--accent); animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.state .msg{font-size:16px; color:var(--ink-dim)}
.state .err-title{font-size:22px; font-weight:600}
.state .err-icon{font-size:0}
.state .err-icon svg{width:56px; height:56px; opacity:.8}
.fade-in{animation:fade .5s ease both}
@keyframes fade{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}
</style>
</head>
<body>
<div class="orb a"></div>
<div class="orb b"></div>
<main class="card" id="card">
<div class="state" id="state">
<div class="spinner"></div>
<div class="msg">Loading weather…</div>
</div>
<div id="content" style="display:none"></div>
</main>
<script>
(function(){
"use strict";
/* ---------- params ---------- */
const q = new URLSearchParams(location.search);
const num = (v, d) => { const n = parseFloat(v); return Number.isFinite(n) ? n : d; };
const lat = num(q.get("lat"), 52.52);
const lon = num(q.get("lon"), 13.405);
const name = (q.get("name") || "Berlin").trim() || "Berlin";
const todayUTC = new Date().toISOString().slice(0, 10);
let date = q.get("date") || "";
if (!/^\d{4}-\d{2}-\d{2}$/.test(date)) date = todayUTC;
/* ---------- weather code metadata ---------- */
const WMO = {
0:["Clear sky","sun"],1:["Mainly clear","sun"],2:["Partly cloudy","suncloud"],3:["Overcast","cloud"],
45:["Fog","fog"],48:["Depositing rime fog","fog"],
51:["Light drizzle","drizzle"],53:["Drizzle","drizzle"],55:["Dense drizzle","drizzle"],
56:["Freezing drizzle","drizzle"],57:["Dense freezing drizzle","drizzle"],
61:["Light rain","rain"],63:["Rain","rain"],65:["Heavy rain","rain"],
66:["Freezing rain","rain"],67:["Heavy freezing rain","rain"],
71:["Light snowfall","snow"],73:["Snowfall","snow"],75:["Heavy snowfall","snow"],77:["Snow grains","snow"],
80:["Light rain showers","rain"],81:["Rain showers","rain"],82:["Violent rain showers","rain"],
85:["Snow showers","snow"],86:["Heavy snow showers","snow"],
95:["Thunderstorm","storm"],96:["Thunderstorm with hail","storm"],99:["Thunderstorm with heavy hail","storm"]
};
const THEMES = {
sun: {bg1:"#241d0c", bg2:"#4a3a14", glow:"rgba(255,203,96,.30)", line:"#ffd479", ftop:"rgba(255,212,121,.28)"},
suncloud: {bg1:"#1a2030", bg2:"#3a3a2e", glow:"rgba(255,215,140,.22)", line:"#f2cf8d", ftop:"rgba(242,207,141,.26)"},
cloud: {bg1:"#151b26", bg2:"#2b3547", glow:"rgba(170,190,220,.22)", line:"#a9c0e0", ftop:"rgba(169,192,224,.26)"},
fog: {bg1:"#181c22", bg2:"#333a44", glow:"rgba(200,210,225,.18)", line:"#b9c4d4", ftop:"rgba(185,196,212,.24)"},
drizzle: {bg1:"#101a28", bg2:"#22364f", glow:"rgba(120,175,235,.26)", line:"#8fc1ff", ftop:"rgba(143,193,255,.28)"},
rain: {bg1:"#0d1726", bg2:"#1e3350", glow:"rgba(105,165,235,.28)", line:"#7fb4ff", ftop:"rgba(127,180,255,.28)"},
snow: {bg1:"#131a26", bg2:"#2c3d55", glow:"rgba(200,225,255,.26)", line:"#cfe4ff", ftop:"rgba(207,228,255,.30)"},
storm: {bg1:"#150f24", bg2:"#312350", glow:"rgba(170,140,255,.28)", line:"#b9a4ff", ftop:"rgba(185,164,255,.28)"}
};
const ICONS = {
sun: '<svg viewBox="0 0 64 64" fill="none"><circle cx="32" cy="32" r="13" fill="#FFD479"/><g stroke="#FFD479" stroke-width="3.4" stroke-linecap="round"><line x1="32" y1="6" x2="32" y2="13"/><line x1="32" y1="51" x2="32" y2="58"/><line x1="6" y1="32" x2="13" y2="32"/><line x1="51" y1="32" x2="58" y2="32"/><line x1="13.6" y1="13.6" x2="18.6" y2="18.6"/><line x1="45.4" y1="45.4" x2="50.4" y2="50.4"/><line x1="13.6" y1="50.4" x2="18.6" y2="45.4"/><line x1="45.4" y1="18.6" x2="50.4" y2="13.6"/></g></svg>',
suncloud: '<svg viewBox="0 0 64 64" fill="none"><circle cx="24" cy="24" r="10" fill="#FFD479"/><g stroke="#FFD479" stroke-width="3" stroke-linecap="round"><line x1="24" y1="6" x2="24" y2="11"/><line x1="6" y1="24" x2="11" y2="24"/><line x1="11.3" y1="11.3" x2="14.8" y2="14.8"/><line x1="33.2" y1="14.8" x2="36.7" y2="11.3"/></g><path d="M20 50h26a9 9 0 0 0 1.5-17.9A13 13 0 0 0 22.4 36 8 8 0 0 0 20 50z" fill="#DCE7F5"/></svg>',
cloud: '<svg viewBox="0 0 64 64" fill="none"><path d="M18 48h29a10 10 0 0 0 1.7-19.9A15 15 0 0 0 19.5 32 9 9 0 0 0 18 48z" fill="#C9D8EC"/><path d="M12 54h20a6 6 0 0 0 .9-11.9 9 9 0 0 0-17.4 2.3A5.5 5.5 0 0 0 12 54z" fill="#9FB4D0"/></svg>',
fog: '<svg viewBox="0 0 64 64" fill="none"><path d="M18 36h29a10 10 0 0 0 1.7-19.9A15 15 0 0 0 19.5 20 9 9 0 0 0 18 36z" fill="#C9D8EC"/><g stroke="#9FB4D0" stroke-width="3.6" stroke-linecap="round"><line x1="14" y1="45" x2="50" y2="45"/><line x1="20" y1="53" x2="44" y2="53"/></g></svg>',
drizzle: '<svg viewBox="0 0 64 64" fill="none"><path d="M18 40h29a10 10 0 0 0 1.7-19.9A15 15 0 0 0 19.5 24 9 9 0 0 0 18 40z" fill="#C9D8EC"/><g stroke="#8FC1FF" stroke-width="3.2" stroke-linecap="round"><line x1="24" y1="47" x2="22.8" y2="52"/><line x1="34" y1="47" x2="32.8" y2="52"/><line x1="44" y1="47" x2="42.8" y2="52"/></g></svg>',
rain: '<svg viewBox="0 0 64 64" fill="none"><path d="M18 38h29a10 10 0 0 0 1.7-19.9A15 15 0 0 0 19.5 22 9 9 0 0 0 18 38z" fill="#C9D8EC"/><g stroke="#7FB4FF" stroke-width="3.4" stroke-linecap="round"><line x1="23" y1="45" x2="20.5" y2="55"/><line x1="33" y1="45" x2="30.5" y2="55"/><line x1="43" y1="45" x2="40.5" y2="55"/></g></svg>',
snow: '<svg viewBox="0 0 64 64" fill="none"><path d="M18 38h29a10 10 0 0 0 1.7-19.9A15 15 0 0 0 19.5 22 9 9 0 0 0 18 38z" fill="#DCE7F5"/><g fill="#CFE4FF"><circle cx="23" cy="48" r="2.6"/><circle cx="33" cy="53" r="2.6"/><circle cx="43" cy="48" r="2.6"/></g></svg>',
storm: '<svg viewBox="0 0 64 64" fill="none"><path d="M18 36h29a10 10 0 0 0 1.7-19.9A15 15 0 0 0 19.5 20 9 9 0 0 0 18 36z" fill="#B9C6DB"/><path d="M34 38l-9 12h7l-3.5 10L40 47h-7l4-9z" fill="#FFD479"/></svg>'
};
/* ---------- helpers ---------- */
const esc = s => String(s).replace(/[&<>"']/g, c => ({"&":"&","<":"<",">":">",'"':""","'":"'"}[c]));
const fmt1 = v => (Math.round(v * 10) / 10).toLocaleString("en-US", {minimumFractionDigits:0, maximumFractionDigits:1});
function prettyDate(iso){
try{
return new Date(iso + "T00:00:00Z").toLocaleDateString("en-GB",
{weekday:"long", day:"numeric", month:"long", year:"numeric", timeZone:"UTC"});
}catch(e){ return iso; }
}
function applyTheme(kind){
const t = THEMES[kind] || THEMES.drizzle;
const r = document.documentElement.style;
r.setProperty("--bg1", t.bg1);
r.setProperty("--bg2", t.bg2);
r.setProperty("--glow", t.glow);
r.setProperty("--chart-line", t.line);
r.setProperty("--chart-fill-top", t.ftop);
}
function showError(msg){
document.getElementById("content").style.display = "none";
const st = document.getElementById("state");
st.style.display = "flex";
st.innerHTML =
'<div class="err-icon"><svg viewBox="0 0 64 64" fill="none"><circle cx="32" cy="32" r="26" stroke="rgba(234,242,255,.35)" stroke-width="3"/><line x1="32" y1="18" x2="32" y2="36" stroke="rgba(234,242,255,.7)" stroke-width="4" stroke-linecap="round"/><circle cx="32" cy="45" r="2.6" fill="rgba(234,242,255,.7)"/></svg></div>' +
'<div class="err-title">Weather data could not be loaded</div>' +
'<div class="msg">' + esc(msg) + '</div>';
}
/* ---------- hourly chart (SVG) ---------- */
function buildChart(hours, temps){
const W = 976, H = 250, padL = 16, padR = 16, padT = 44, padB = 40;
const n = temps.length;
const vals = temps.filter(v => v != null && Number.isFinite(v));
if (n < 2 || vals.length < 2) return '<div class="msg" style="color:var(--ink-dim);font-size:14px">Hourly temperatures unavailable for this date.</div>';
let lo = Math.min(...vals), hi = Math.max(...vals);
if (hi - lo < 1) { hi += .5; lo -= .5; }
const span = hi - lo;
const x = i => padL + i * (W - padL - padR) / (n - 1);
const y = v => padT + (1 - (v - lo) / span) * (H - padT - padB);
const pts = [];
for (let i = 0; i < n; i++) if (temps[i] != null && Number.isFinite(temps[i])) pts.push([x(i), y(temps[i]), i, temps[i]]);
// smooth cubic path through points
let d = "M" + pts[0][0].toFixed(1) + " " + pts[0][1].toFixed(1);
for (let i = 1; i < pts.length; i++){
const p0 = pts[i-1], p1 = pts[i];
const cx = ((p0[0] + p1[0]) / 2).toFixed(1);
d += " C" + cx + " " + p0[1].toFixed(1) + " " + cx + " " + p1[1].toFixed(1) + " " + p1[0].toFixed(1) + " " + p1[1].toFixed(1);
}
const area = d + " L" + pts[pts.length-1][0].toFixed(1) + " " + (H - padB + 6) + " L" + pts[0][0].toFixed(1) + " " + (H - padB + 6) + " Z";
let iMax = 0, iMin = 0;
pts.forEach((p, k) => { if (p[3] > pts[iMax][3]) iMax = k; if (p[3] < pts[iMin][3]) iMin = k; });
let s = '<svg viewBox="0 0 ' + W + ' ' + H + '" role="img" aria-label="Hourly temperature chart">';
s += '<defs><linearGradient id="fill" x1="0" y1="0" x2="0" y2="1">' +
'<stop offset="0" stop-color="var(--chart-fill-top)"/><stop offset="1" stop-color="var(--chart-fill-bot)"/>' +
'</linearGradient></defs>';
// baseline grid
s += '<line x1="' + padL + '" y1="' + (H - padB + 6) + '" x2="' + (W - padR) + '" y2="' + (H - padB + 6) + '" stroke="rgba(255,255,255,.10)" stroke-width="1"/>';
s += '<path d="' + area + '" fill="url(#fill)"/>';
s += '<path d="' + d + '" fill="none" stroke="var(--chart-line)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>';
// hour ticks + value labels every 3h
for (const p of pts){
const i = p[2];
if (i % 3 === 0 || i === n - 1){
s += '<text x="' + p[0].toFixed(1) + '" y="' + (H - 12) + '" text-anchor="middle" font-size="12" fill="rgba(234,242,255,.42)">' +
hours[i] + '</text>';
s += '<circle cx="' + p[0].toFixed(1) + '" cy="' + p[1].toFixed(1) + '" r="3" fill="var(--chart-line)"/>';
s += '<text x="' + p[0].toFixed(1) + '" y="' + (p[1] - 12).toFixed(1) + '" text-anchor="middle" font-size="12.5" font-weight="600" fill="rgba(234,242,255,.85)">' +
fmt1(p[3]) + '°</text>';
}
}
// max / min markers
for (const [k, tag] of [[iMax, "H"], [iMin, "L"]]){
const p = pts[k];
if (p[2] % 3 === 0 || p[2] === n - 1) continue; // already labelled
s += '<circle cx="' + p[0].toFixed(1) + '" cy="' + p[1].toFixed(1) + '" r="3.6" fill="var(--chart-line)" stroke="rgba(0,0,0,.35)" stroke-width="1"/>';
s += '<text x="' + p[0].toFixed(1) + '" y="' + (p[1] + (tag === "L" ? 20 : -12)).toFixed(1) + '" text-anchor="middle" font-size="12.5" font-weight="600" fill="rgba(234,242,255,.85)">' +
fmt1(p[3]) + '°</text>';
}
s += '</svg>';
return s;
}
/* ---------- render ---------- */
function render(data){
const daily = data.daily || {};
const hourly = data.hourly || {};
const tMax = daily.temperature_2m_max && daily.temperature_2m_max[0];
const tMin = daily.temperature_2m_min && daily.temperature_2m_min[0];
const code = daily.weather_code && daily.weather_code[0];
const hTimes = hourly.time || [];
const hTemps = hourly.temperature_2m || [];
const hasDaily = tMax != null && tMin != null;
const hasHourly = Array.isArray(hTemps) && hTemps.some(v => v != null && Number.isFinite(v));
if (!hasDaily && !hasHourly){
showError("No weather data is available for " + name + " on " + date + ".");
return;
}
const meta = WMO[code] || [code != null ? "Weather code " + code : "Condition unavailable", "cloud"];
applyTheme(meta[1]);
const hourLabels = hTimes.map(t => {
const m = /T(\d{2}):/.exec(t);
return m ? m[1] + ":00" : "";
});
const html =
'<div class="fade-in">' +
'<div class="top">' +
'<div class="loc">' +
'<h1>' + esc(name) + '</h1>' +
'<div class="date">' + esc(prettyDate(date)) + ' · UTC</div>' +
'<div class="coords">' + lat.toFixed(2) + '°, ' + lon.toFixed(2) + '°</div>' +
'</div>' +
'<div class="cond">' +
'<div>' +
'<div class="label">' + esc(meta[0]) + '</div>' +
'<div class="sub">' + (date < todayUTC ? "Historical" : (date === todayUTC ? "Today" : "Forecast")) + '</div>' +
'</div>' +
'<div class="icon">' + (ICONS[meta[1]] || ICONS.cloud) + '</div>' +
'</div>' +
'</div>' +
'<div class="temps">' +
'<div class="max">' + (tMax != null ? fmt1(tMax) + '<sup>°C</sup>' : '—') + '</div>' +
'<div class="hilo">' +
'<div class="pill"><span class="k">High</span> ' + (tMax != null ? fmt1(tMax) + '°' : '—') + '</div>' +
'<div class="pill"><span class="k">Low</span> ' + (tMin != null ? fmt1(tMin) + '°' : '—') + '</div>' +
'</div>' +
'</div>' +
'<div class="divider"></div>' +
'<div class="hourly">' +
'<h2>Hourly temperature</h2>' +
'<div class="chart-wrap">' + buildChart(hourLabels, hTemps) + '</div>' +
'</div>' +
'</div>';
document.getElementById("state").style.display = "none";
const c = document.getElementById("content");
c.innerHTML = html;
c.style.display = "block";
document.title = name + " · " + date + " · Weather";
}
/* ---------- fetch ---------- */
const base = date < todayUTC ? "/api/om/archive" : "/api/om/forecast";
const url = base + "?" + new URLSearchParams({
latitude: lat, longitude: lon,
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: date, end_date: date
}).toString();
fetch(url)
.then(r => {
if (!r.ok) throw new Error("The weather service responded with status " + r.status + ".");
return r.json();
})
.then(data => {
if (data && data.error) throw new Error(data.reason || "The weather service returned an error.");
render(data);
})
.catch(e => showError(e && e.message ? e.message : "An unexpected error occurred while fetching weather data."));
})();
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 17,870 | html / css / js | 454 / 3,924 / 13,492 |
|---|---|---|---|
| dom nodes | 15 | dom depth | 5 |
| css rules | 38 | js present | yes |
| brightness | 41.8 | contrast | 16.6 |
| colorfulness | 14.2 | whitespace | 69.7% |
This slot's telemetry
| prompt tokens | 2 | completion tokens | 10,875 |
|---|---|---|---|
| total tokens | 10,877 | wall | 121.2 s |
| cost | — | request id | — |
config.json576 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-fable-5-eff-high--cli--cursor--dev",
"effort": "high",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-fable-5",
"protocol": "cli",
"served_model": "claude-fable-5-high",
"telemetry": {
"completion_tokens": 28354,
"cost_usd": null,
"prompt_tokens": 8,
"total_tokens": 28362,
"wall_ms": 325952
},
"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-fable-5-eff-high--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T19:22:23.272401+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T19:21:38.379960+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-12T19:25:11.745943+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T19:23:10.500010+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-12T19:27:03.178380+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T19:25:14.952393+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-12T19:27:58.303380+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T19:27:06.707052+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
}
}
}