claude-opus-5 @ low · cursor

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

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

within 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" />
<meta name="viewport" content="width=1280, initial-scale=1" />
<title>Weather Card</title>
<style>
  *, *::before, *::after { box-sizing: border-box; }
  html, body { height: 100%; }
  body {
    margin: 0;
    font-family: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background: #0b1020;
    color: #eaf0ff;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    overflow-x: hidden;
  }
  body::before {
    content: "";
    position: fixed;
    inset: -20%;
    background:
      radial-gradient(46% 46% at 18% 22%, rgba(96,142,255,.38), transparent 62%),
      radial-gradient(42% 42% at 82% 12%, rgba(180,120,255,.30), transparent 62%),
      radial-gradient(52% 52% at 72% 88%, rgba(0,190,190,.24), transparent 62%);
    filter: blur(10px);
    z-index: 0;
  }

  .card {
    position: relative;
    z-index: 1;
    width: 1080px;
    padding: 40px 44px 36px;
    border-radius: 28px;
    background: linear-gradient(160deg, rgba(24,32,56,.92), rgba(14,19,36,.94));
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 40px 90px -30px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(24px);
  }

  .head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
  .place { font-size: 34px; font-weight: 650; letter-spacing: -.02em; line-height: 1.15; }
  .date { margin-top: 6px; font-size: 15px; color: rgba(234,240,255,.58); letter-spacing: .01em; }
  .coords {
    margin-top: 14px; font-size: 12.5px; color: rgba(234,240,255,.45);
    font-variant-numeric: tabular-nums;
  }
  .badge {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 14px; border-radius: 999px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.10);
    font-size: 12.5px; color: rgba(234,240,255,.72);
    letter-spacing: .04em; text-transform: uppercase;
  }
  .dot { width: 7px; height: 7px; border-radius: 50%; background: #6ee7a8; box-shadow: 0 0 10px #6ee7a8; }

  .main { margin-top: 30px; display: grid; grid-template-columns: 420px 1fr; gap: 34px; align-items: stretch; }

  .now {
    padding: 28px 30px;
    border-radius: 22px;
    background: linear-gradient(150deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
    border: 1px solid rgba(255,255,255,.09);
    display: flex; flex-direction: column; justify-content: space-between;
  }
  .cond { display: flex; align-items: center; gap: 18px; }
  .icon { width: 76px; height: 76px; flex: none; }
  .cond-text { font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
  .cond-sub { font-size: 13px; color: rgba(234,240,255,.52); margin-top: 3px; }

  .temps { margin-top: 26px; display: flex; align-items: flex-end; gap: 26px; }
  .big {
    font-size: 84px; font-weight: 300; line-height: .95; letter-spacing: -.045em;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(180deg, #ffffff, #a9c0ff);
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .minbox { padding-bottom: 10px; }
  .label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(234,240,255,.45); }
  .minval { font-size: 34px; font-weight: 300; letter-spacing: -.03em; color: rgba(234,240,255,.82); font-variant-numeric: tabular-nums; }

  .range { margin-top: 26px; }
  .bar { height: 6px; border-radius: 999px; background: rgba(255,255,255,.10); overflow: hidden; }
  .fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, #5aa7ff, #8fe3c4 45%, #ffcf6b 75%, #ff8a5b); }
  .range-labels { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12px; color: rgba(234,240,255,.5); font-variant-numeric: tabular-nums; }

  .chartbox {
    padding: 24px 26px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.08);
    display: flex; flex-direction: column;
  }
  .chart-head { display: flex; justify-content: space-between; align-items: baseline; }
  .chart-title { font-size: 15px; font-weight: 600; letter-spacing: .01em; }
  .chart-note { font-size: 12px; color: rgba(234,240,255,.45); }
  svg { display: block; width: 100%; height: 232px; margin-top: 10px; }
  .grid-line { stroke: rgba(255,255,255,.07); stroke-width: 1; }
  .axis-text { fill: rgba(234,240,255,.40); font-size: 10.5px; }
  .pt { fill: #cfe0ff; }

  .hours {
    margin-top: 26px;
    display: grid; grid-template-columns: repeat(12, 1fr);
    gap: 8px 6px;
  }
  .hour {
    border-radius: 12px; padding: 10px 4px 9px; text-align: center;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.06);
  }
  .hour .h { font-size: 10.5px; color: rgba(234,240,255,.45); letter-spacing: .04em; }
  .hour .t { margin-top: 5px; font-size: 15px; font-weight: 550; font-variant-numeric: tabular-nums; }

  .state { text-align: center; padding: 70px 20px; }
  .state h2 { margin: 0 0 10px; font-size: 22px; font-weight: 600; }
  .state p { margin: 0; color: rgba(234,240,255,.55); font-size: 14px; }
  .err .h2i { color: #ff9a8b; }
  .spinner {
    width: 30px; height: 30px; margin: 0 auto 18px;
    border: 2.5px solid rgba(255,255,255,.15); border-top-color: rgba(255,255,255,.75);
    border-radius: 50%; animation: spin .9s linear infinite;
  }
  @keyframes spin { to { transform: rotate(360deg); } }
  .hidden { display: none !important; }
</style>
</head>
<body>
<div class="card">
  <div id="loading" class="state">
    <div class="spinner"></div>
    <h2>Loading weather…</h2>
    <p>Fetching data for the selected location and date.</p>
  </div>

  <div id="error" class="state err hidden">
    <h2 class="h2i">Weather data could not be loaded</h2>
    <p id="error-detail">Please check the location, date, or try again.</p>
  </div>

  <div id="content" class="hidden">
    <div class="head">
      <div>
        <div class="place" id="place">Berlin</div>
        <div class="date" id="date-label">—</div>
        <div class="coords" id="coords">—</div>
      </div>
      <div class="badge"><span class="dot"></span><span id="source-label">Forecast</span></div>
    </div>

    <div class="main">
      <div class="now">
        <div>
          <div class="cond">
            <div class="icon" id="icon"></div>
            <div>
              <div class="cond-text" id="cond-text">—</div>
              <div class="cond-sub" id="cond-sub">Daily conditions</div>
            </div>
          </div>

          <div class="temps">
            <div>
              <div class="label">High</div>
              <div class="big" id="tmax">—</div>
            </div>
            <div class="minbox">
              <div class="label">Low</div>
              <div class="minval" id="tmin">—</div>
            </div>
          </div>
        </div>

        <div class="range">
          <div class="bar"><div class="fill" id="fill" style="width:100%"></div></div>
          <div class="range-labels"><span id="range-min">—</span><span id="range-max">—</span></div>
        </div>
      </div>

      <div class="chartbox">
        <div class="chart-head">
          <div class="chart-title">Hourly temperature</div>
          <div class="chart-note">°C · UTC</div>
        </div>
        <svg id="chart" viewBox="0 0 600 232" preserveAspectRatio="none" aria-label="Hourly temperature chart"></svg>
      </div>
    </div>

    <div class="hours" id="hours"></div>
  </div>
</div>

<script>
(function () {
  var params = new URLSearchParams(location.search);
  function num(v, d) { var n = parseFloat(v); return isFinite(n) ? n : d; }

  var lat = num(params.get('lat'), 52.52);
  var lon = num(params.get('lon'), 13.405);
  var name = params.get('name') || 'Berlin';
  var todayUTC = new Date().toISOString().slice(0, 10);
  var dateStr = params.get('date') || todayUTC;
  if (!/^\d{4}-\d{2}-\d{2}$/.test(dateStr)) dateStr = todayUTC;

  var isPast = dateStr < todayUTC;
  var base = isPast ? '/api/om/archive' : '/api/om/forecast';

  var q = 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: dateStr,
    end_date: dateStr
  });

  var CODES = {
    0: ['Clear sky', 'sun'], 1: ['Mainly clear', 'sun'], 2: ['Partly cloudy', 'partly'], 3: ['Overcast', 'cloud'],
    45: ['Fog', 'fog'], 48: ['Depositing rime fog', 'fog'],
    51: ['Light drizzle', 'rain'], 53: ['Moderate drizzle', 'rain'], 55: ['Dense drizzle', 'rain'],
    56: ['Freezing drizzle', 'rain'], 57: ['Dense freezing drizzle', 'rain'],
    61: ['Slight rain', 'rain'], 63: ['Moderate rain', 'rain'], 65: ['Heavy rain', 'rain'],
    66: ['Freezing rain', 'rain'], 67: ['Heavy freezing rain', 'rain'],
    71: ['Slight snowfall', 'snow'], 73: ['Moderate snowfall', 'snow'], 75: ['Heavy snowfall', 'snow'],
    77: ['Snow grains', 'snow'],
    80: ['Slight rain showers', 'rain'], 81: ['Moderate rain showers', 'rain'], 82: ['Violent rain showers', 'rain'],
    85: ['Slight snow showers', 'snow'], 86: ['Heavy snow showers', 'snow'],
    95: ['Thunderstorm', 'storm'], 96: ['Thunderstorm with hail', 'storm'], 99: ['Thunderstorm with heavy hail', 'storm']
  };

  var ICONS = {
    sun: '<circle cx="32" cy="32" r="13" fill="#FFD36E"/><g stroke="#FFD36E" stroke-width="4" stroke-linecap="round"><line x1="32" y1="5" x2="32" y2="13"/><line x1="32" y1="51" x2="32" y2="59"/><line x1="5" y1="32" x2="13" y2="32"/><line x1="51" y1="32" x2="59" y2="32"/><line x1="13" y1="13" x2="19" y2="19"/><line x1="45" y1="45" x2="51" y2="51"/><line x1="51" y1="13" x2="45" y2="19"/><line x1="19" y1="45" x2="13" y2="51"/></g>',
    partly: '<circle cx="25" cy="24" r="11" fill="#FFD36E"/><path d="M20 50a11 11 0 0 1 1.6-21.9A15 15 0 0 1 50 32a10 10 0 0 1-1 18z" fill="#DCE6FF"/>',
    cloud: '<path d="M20 50a11 11 0 0 1 1.6-21.9A15 15 0 0 1 50 32a10 10 0 0 1-1 18z" fill="#C9D5F2"/>',
    fog: '<path d="M20 42a11 11 0 0 1 1.6-21.9A15 15 0 0 1 50 24a10 10 0 0 1-1 18z" fill="#C3CDE0"/><g stroke="#AEB9CE" stroke-width="4" stroke-linecap="round"><line x1="14" y1="50" x2="50" y2="50"/><line x1="20" y1="58" x2="46" y2="58"/></g>',
    rain: '<path d="M20 40a11 11 0 0 1 1.6-21.9A15 15 0 0 1 50 22a10 10 0 0 1-1 18z" fill="#C9D5F2"/><g stroke="#5AA7FF" stroke-width="4" stroke-linecap="round"><line x1="23" y1="47" x2="19" y2="57"/><line x1="34" y1="47" x2="30" y2="57"/><line x1="45" y1="47" x2="41" y2="57"/></g>',
    snow: '<path d="M20 40a11 11 0 0 1 1.6-21.9A15 15 0 0 1 50 22a10 10 0 0 1-1 18z" fill="#C9D5F2"/><g fill="#BFE7FF"><circle cx="22" cy="51" r="3.2"/><circle cx="33" cy="56" r="3.2"/><circle cx="44" cy="51" r="3.2"/></g>',
    storm: '<path d="M20 38a11 11 0 0 1 1.6-21.9A15 15 0 0 1 50 20a10 10 0 0 1-1 18z" fill="#B9C4DE"/><path d="M34 42l-11 15h8l-4 12 14-18h-8l5-9z" fill="#FFD36E"/>'
  };

  function show(id) {
    ['loading', 'error', 'content'].forEach(function (k) {
      document.getElementById(k).classList.toggle('hidden', k !== id);
    });
  }

  function fail(msg) {
    document.getElementById('error-detail').textContent = msg;
    show('error');
  }

  function fmtTemp(v) { return (v === null || v === undefined || !isFinite(v)) ? '—' : Math.round(v) + '°'; }

  function fmtDate(s) {
    var p = s.split('-');
    var d = new Date(Date.UTC(+p[0], +p[1] - 1, +p[2]));
    var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
    var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
    return days[d.getUTCDay()] + ', ' + d.getUTCDate() + ' ' + months[d.getUTCMonth()] + ' ' + d.getUTCFullYear();
  }

  function drawChart(times, temps) {
    var svg = document.getElementById('chart');
    var W = 600, H = 232, L = 34, R = 10, T = 14, B = 24;
    var pts = [];
    for (var i = 0; i < temps.length; i++) if (temps[i] !== null && isFinite(temps[i])) pts.push([i, temps[i]]);
    if (!pts.length) { svg.innerHTML = '<text x="300" y="120" text-anchor="middle" class="axis-text">No hourly data</text>'; return; }

    var vals = pts.map(function (p) { return p[1]; });
    var mn = Math.min.apply(null, vals), mx = Math.max.apply(null, vals);
    if (mx - mn < 2) { mx += 1; mn -= 1; }
    var pad = (mx - mn) * 0.15; mn -= pad; mx += pad;
    var n = Math.max(temps.length - 1, 1);

    function X(i) { return L + (i / n) * (W - L - R); }
    function Y(v) { return T + (1 - (v - mn) / (mx - mn)) * (H - T - B); }

    var s = '';
    for (var g = 0; g <= 3; g++) {
      var v = mn + (mx - mn) * (g / 3), y = Y(v);
      s += '<line class="grid-line" x1="' + L + '" y1="' + y.toFixed(1) + '" x2="' + (W - R) + '" y2="' + y.toFixed(1) + '"/>';
      s += '<text class="axis-text" x="4" y="' + (y + 3.5).toFixed(1) + '">' + Math.round(v) + '°</text>';
    }

    var line = pts.map(function (p, i) { return (i ? 'L' : 'M') + X(p[0]).toFixed(1) + ' ' + Y(p[1]).toFixed(1); }).join(' ');
    var area = line + ' L' + X(pts[pts.length - 1][0]).toFixed(1) + ' ' + (H - B) + ' L' + X(pts[0][0]).toFixed(1) + ' ' + (H - B) + ' Z';

    s += '<defs><linearGradient id="ag" x1="0" y1="0" x2="0" y2="1">' +
         '<stop offset="0%" stop-color="#7fb2ff" stop-opacity=".45"/>' +
         '<stop offset="100%" stop-color="#7fb2ff" stop-opacity="0"/></linearGradient>' +
         '<linearGradient id="lg" x1="0" y1="0" x2="1" y2="0">' +
         '<stop offset="0%" stop-color="#7ad7ff"/><stop offset="55%" stop-color="#9db8ff"/>' +
         '<stop offset="100%" stop-color="#ffb27a"/></linearGradient></defs>';
    s += '<path d="' + area + '" fill="url(#ag)"/>';
    s += '<path d="' + line + '" fill="none" stroke="url(#lg)" stroke-width="2.6" stroke-linejoin="round" stroke-linecap="round" vector-effect="non-scaling-stroke"/>';

    pts.forEach(function (p) {
      if (p[0] % 3 === 0) s += '<circle class="pt" cx="' + X(p[0]).toFixed(1) + '" cy="' + Y(p[1]).toFixed(1) + '" r="2.6"/>';
    });

    for (var i = 0; i < temps.length; i += 3) {
      var t = times[i] ? times[i].slice(11, 16) : '';
      s += '<text class="axis-text" text-anchor="middle" x="' + X(i).toFixed(1) + '" y="' + (H - 6) + '">' + t + '</text>';
    }
    svg.innerHTML = s;
  }

  function render(data) {
    var daily = data.daily || {};
    var tmax = daily.temperature_2m_max && daily.temperature_2m_max[0];
    var tmin = daily.temperature_2m_min && daily.temperature_2m_min[0];
    var code = daily.weather_code && daily.weather_code[0];
    var hourly = data.hourly || {};
    var times = hourly.time || [];
    var temps = hourly.temperature_2m || [];

    var hasAny = (tmax !== null && tmax !== undefined && isFinite(tmax)) ||
                 (tmin !== null && tmin !== undefined && isFinite(tmin)) ||
                 temps.some(function (t) { return t !== null && isFinite(t); });
    if (!hasAny) { fail('The API returned no temperature data for ' + dateStr + '.'); return; }

    document.getElementById('place').textContent = name;
    document.getElementById('date-label').textContent = fmtDate(dateStr);
    document.getElementById('coords').textContent =
      Math.abs(lat).toFixed(3) + '° ' + (lat >= 0 ? 'N' : 'S') + '   ·   ' +
      Math.abs(lon).toFixed(3) + '° ' + (lon >= 0 ? 'E' : 'W');
    document.getElementById('source-label').textContent = isPast ? 'Archive' : 'Forecast';

    var info = CODES[code] || ['Unknown conditions', 'cloud'];
    document.getElementById('cond-text').textContent = info[0];
    document.getElementById('icon').innerHTML =
      '<svg viewBox="0 0 64 64" width="76" height="76">' + ICONS[info[1]] + '</svg>';

    document.getElementById('tmax').textContent = fmtTemp(tmax);
    document.getElementById('tmin').textContent = fmtTemp(tmin);
    document.getElementById('range-min').textContent = 'Low ' + fmtTemp(tmin) + 'C';
    document.getElementById('range-max').textContent = 'High ' + fmtTemp(tmax) + 'C';

    var host = document.getElementById('hours');
    host.innerHTML = '';
    var valid = temps.filter(function (t) { return t !== null && isFinite(t); });
    var lo = valid.length ? Math.min.apply(null, valid) : 0;
    var hi = valid.length ? Math.max.apply(null, valid) : 1;
    for (var i = 0; i < times.length; i++) {
      var t = temps[i];
      var el = document.createElement('div');
      el.className = 'hour';
      var ratio = (hi === lo) ? 0.5 : ((t - lo) / (hi - lo));
      if (t !== null && isFinite(t)) {
        el.style.background = 'linear-gradient(180deg, rgba(255,255,255,.06), rgba(' +
          Math.round(90 + 150 * ratio) + ',' + Math.round(150 - 30 * ratio) + ',255,' + (0.10 + 0.16 * ratio).toFixed(2) + '))';
      }
      el.innerHTML = '<div class="h">' + (times[i] ? times[i].slice(11, 16) : '--:--') +
        '</div><div class="t">' + fmtTemp(t) + '</div>';
      host.appendChild(el);
    }

    drawChart(times, temps);
    show('content');
  }

  fetch(base + '?' + q.toString(), { headers: { 'Accept': 'application/json' } })
    .then(function (r) {
      if (!r.ok) throw new Error('Server responded with ' + r.status);
      return r.json();
    })
    .then(function (data) {
      if (!data || data.error) throw new Error((data && data.reason) || 'Invalid response');
      render(data);
    })
    .catch(function (e) {
      fail('Could not load weather data for ' + name + ' on ' + dateStr + '. ' + (e && e.message ? e.message : ''));
    });
})();
</script>
</body>
</html>

L1 — cheap deterministic descriptors

bytes total17,658html / css / js2,251 / 5,372 / 10,035
dom nodes52dom depth10
css rules46js presentyes
brightness35.0contrast19.4
colorfulness18.9whitespace76.5%

This slot's telemetry

prompt tokens2completion tokens8,573
total tokens8,575wall88.7 s
cost—request id—
config.json570 B
{
  "N": 2,
  "auth": {
    "credential_ref": "WCB_NONE",
    "method": "oauth-login"
  },
  "billing": "plan",
  "config_id": "claude-opus-5-eff-low--cli--cursor--dev",
  "effort": "low",
  "family": "claude",
  "m": {
    "min": 2,
    "q": 2
  },
  "model_id": "claude-opus-5",
  "protocol": "cli",
  "served_model": "claude-opus-5-low",
  "telemetry": {
    "completion_tokens": 24770,
    "cost_usd": null,
    "prompt_tokens": 8,
    "total_tokens": 24778,
    "wall_ms": 267221
  },
  "transport": "cursor-agent-cli-isolated-home",
  "vendor_sanction_ref": null
}
send-log2.5 KB
{
  "N": 2,
  "batch_id": "2026-08-13--cursor-s1",
  "config_id": "claude-opus-5-eff-low--cli--cursor--dev",
  "positions": [
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-08-12T17:42:42.243393+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T17:42:01.393492+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:44:14.737477+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T17:42:46.035931+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:45:51.767004+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T17:44:18.216995+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:46:39.137855+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T17:45:55.014161+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
    }
  }
}