cursor-grok-4.5 @ high · cursor

cursorhigh
config
cursor-grok-4.5-eff-high--cli--cursor--dev
batch
2026-07-19--unified
transport
cursor-agent-cli-isolated-home
protocol
cli · plan
served model
cursor-grok-4.5-high
captured
Jul 18, 2026, 11:54 AM · N=2
variant
live
slot 0 · P-q · sandboxed iframe
cursor-grok-4.5 @high · 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 tempmismatchshown: 17
  • min tempmatchshown: 16
  • hourlymismatchcoverage 7/24 · 7 match · 1 mismatch · 16 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 {
    --ink: #1a2332;
    --ink-soft: #4a5568;
    --paper: #e8eef4;
    --paper-2: #f4f7fa;
    --line: rgba(26, 35, 50, 0.12);
    --accent: #c45c26;
    --accent-soft: rgba(196, 92, 38, 0.14);
    --sky-top: #9eb8d0;
    --sky-mid: #c5d4e0;
    --sky-bot: #e8eef4;
    --chart: #2a4a6a;
    --good: #1a2332;
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  html, body {
    width: 1280px;
    height: 800px;
    overflow: hidden;
  }

  body {
    font-family: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;
    color: var(--ink);
    background:
      radial-gradient(ellipse 90% 60% at 78% -10%, rgba(255, 255, 255, 0.55), transparent 55%),
      radial-gradient(ellipse 50% 40% at 8% 90%, rgba(196, 92, 38, 0.08), transparent 50%),
      linear-gradient(165deg, var(--sky-top) 0%, var(--sky-mid) 42%, var(--sky-bot) 100%);
    position: relative;
  }

  body::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      repeating-linear-gradient(
        -18deg,
        transparent,
        transparent 11px,
        rgba(26, 35, 50, 0.015) 11px,
        rgba(26, 35, 50, 0.015) 12px
      );
    pointer-events: none;
    opacity: 0.9;
  }

  .stage {
    position: relative;
    z-index: 1;
    width: 1280px;
    height: 800px;
    padding: 56px 72px 48px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 28px;
  }

  .top {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 40px;
    opacity: 0;
    transform: translateY(14px);
    animation: rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards;
  }

  .place {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
    font-size: 72px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 0.95;
    max-width: 14ch;
  }

  .meta {
    text-align: right;
    padding-bottom: 8px;
  }

  .date {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--ink-soft);
  }

  .coords {
    margin-top: 8px;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-soft);
    opacity: 0.75;
  }

  .main {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: stretch;
    min-height: 0;
  }

  .temps {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    opacity: 0;
    transform: translateY(18px);
    animation: rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards;
  }

  .range {
    display: flex;
    align-items: baseline;
    gap: 28px;
  }

  .hi, .lo {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ink-soft);
  }

  .hi .value {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    font-size: 168px;
    font-weight: 700;
    line-height: 0.85;
    letter-spacing: -0.04em;
  }

  .lo .value {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    font-size: 88px;
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.03em;
    color: var(--ink-soft);
  }

  .unit {
    font-size: 0.28em;
    font-weight: 500;
    vertical-align: super;
    margin-left: 2px;
    letter-spacing: 0;
  }

  .condition {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 8px;
    padding: 12px 0 0;
    border-top: 1px solid var(--line);
    max-width: 420px;
  }

  .cond-mark {
    width: 10px;
    height: 10px;
    background: var(--accent);
    flex-shrink: 0;
    transform: rotate(45deg);
    animation: pulse 2.8s ease-in-out infinite;
  }

  .cond-text {
    font-size: 28px;
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.2;
  }

  .hourly-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 0;
    opacity: 0;
    transform: translateY(18px);
    animation: rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.34s forwards;
  }

  .hourly-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 16px;
  }

  .hourly-head .label { color: var(--ink); }

  .hourly-hint {
    font-size: 13px;
    color: var(--ink-soft);
    letter-spacing: 0.02em;
  }

  .chart-wrap {
    flex: 1;
    min-height: 220px;
    max-height: 280px;
    position: relative;
    border-left: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 12px 0 0 0;
  }

  #hourlyChart {
    width: 100%;
    height: 100%;
    display: block;
  }

  .hour-strip {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 8px;
    margin-top: 18px;
  }

  .hour-cell {
    text-align: center;
    padding: 10px 4px;
    background: rgba(255, 255, 255, 0.28);
    border: 1px solid rgba(26, 35, 50, 0.06);
  }

  .hour-cell .h {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--ink-soft);
    margin-bottom: 6px;
  }

  .hour-cell .t {
    font-family: "Iowan Old Style", Palatino, Georgia, serif;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.02em;
  }

  .footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-soft);
    opacity: 0;
    animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.48s forwards;
  }

  .status-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--accent);
    margin-right: 8px;
    vertical-align: middle;
  }

  body[data-sky="clear"] {
    --sky-top: #7eafd4;
    --sky-mid: #b7d0e4;
    --sky-bot: #eaf1f6;
    --accent: #d97706;
  }
  body[data-sky="cloud"] {
    --sky-top: #8a9aab;
    --sky-mid: #b8c4cf;
    --sky-bot: #e6ebf0;
    --accent: #5b6e82;
  }
  body[data-sky="fog"] {
    --sky-top: #9aa6ae;
    --sky-mid: #c5ccd1;
    --sky-bot: #e8ebed;
    --accent: #6d7a84;
  }
  body[data-sky="rain"] {
    --sky-top: #6a8499;
    --sky-mid: #9bb0c0;
    --sky-bot: #dce6ee;
    --accent: #2f6f8f;
  }
  body[data-sky="snow"] {
    --sky-top: #a8beca;
    --sky-mid: #d0dde4;
    --sky-bot: #f0f4f7;
    --accent: #4a7a94;
  }
  body[data-sky="storm"] {
    --sky-top: #4d5f73;
    --sky-mid: #7d8fa0;
    --sky-bot: #cdd6de;
    --accent: #b45309;
    --ink: #121820;
  }

  .error-state, .loading-state {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 12px;
    min-height: 360px;
  }

  .error-state .place,
  .loading-state .place {
    font-size: 48px;
  }

  .error-msg {
    font-size: 22px;
    color: var(--ink-soft);
    max-width: 36ch;
    line-height: 1.4;
  }

  .hidden { display: none !important; }

  @keyframes rise {
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes pulse {
    0%, 100% { opacity: 1; transform: rotate(45deg) scale(1); }
    50% { opacity: 0.55; transform: rotate(45deg) scale(0.85); }
  }

  @media (prefers-reduced-motion: reduce) {
    .top, .temps, .hourly-panel, .footer {
      animation: none;
      opacity: 1;
      transform: none;
    }
    .cond-mark { animation: none; }
  }
</style>
</head>
<body data-sky="cloud">
  <div class="stage">
    <header class="top">
      <h1 class="place" id="placeName">—</h1>
      <div class="meta">
        <div class="date" id="dateLabel">—</div>
        <div class="coords" id="coordsLabel"></div>
      </div>
    </header>

    <div class="main" id="content">
      <div class="loading-state" id="loading">
        <div class="place">Reading the sky…</div>
        <p class="error-msg">Fetching temperatures for this place and day.</p>
      </div>

      <div class="error-state hidden" id="error">
        <div class="place">Weather unavailable</div>
        <p class="error-msg" id="errorText">The data could not be loaded for this location and date.</p>
      </div>

      <div class="temps hidden" id="temps">
        <div class="range">
          <div class="hi">
            <span class="label">High</span>
            <span class="value" id="tempMax">—<span class="unit">°C</span></span>
          </div>
          <div class="lo">
            <span class="label">Low</span>
            <span class="value" id="tempMin">—<span class="unit">°C</span></span>
          </div>
        </div>
        <div class="condition">
          <span class="cond-mark" aria-hidden="true"></span>
          <span class="cond-text" id="condition">—</span>
        </div>
      </div>

      <div class="hourly-panel hidden" id="hourlyPanel">
        <div class="hourly-head">
          <span class="label">Hourly · °C</span>
          <span class="hourly-hint" id="hourlyRange">—</span>
        </div>
        <div class="chart-wrap">
          <svg id="hourlyChart" viewBox="0 0 480 240" preserveAspectRatio="none" aria-hidden="true"></svg>
        </div>
        <div class="hour-strip" id="hourStrip"></div>
      </div>
    </div>

    <footer class="footer">
      <span><span class="status-dot" id="statusDot"></span><span id="sourceLabel">Open-Meteo</span></span>
      <span>UTC · Celsius</span>
    </footer>
  </div>

<script>
(function () {
  var WMO = {
    0: ["Clear sky", "clear"],
    1: ["Mainly clear", "clear"],
    2: ["Partly cloudy", "cloud"],
    3: ["Overcast", "cloud"],
    45: ["Fog", "fog"],
    48: ["Depositing rime fog", "fog"],
    51: ["Light drizzle", "rain"],
    53: ["Moderate drizzle", "rain"],
    55: ["Dense drizzle", "rain"],
    56: ["Light freezing drizzle", "rain"],
    57: ["Dense freezing drizzle", "rain"],
    61: ["Slight rain", "rain"],
    63: ["Moderate rain", "rain"],
    65: ["Heavy rain", "rain"],
    66: ["Light freezing rain", "rain"],
    67: ["Heavy freezing rain", "rain"],
    71: ["Slight snow", "snow"],
    73: ["Moderate snow", "snow"],
    75: ["Heavy snow", "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 slight hail", "storm"],
    99: ["Thunderstorm with heavy hail", "storm"]
  };

  function todayUTC() {
    var n = new Date();
    var y = n.getUTCFullYear();
    var m = String(n.getUTCMonth() + 1).padStart(2, "0");
    var d = String(n.getUTCDate()).padStart(2, "0");
    return y + "-" + m + "-" + d;
  }

  function parseParams() {
    var q = new URLSearchParams(window.location.search);
    var lat = parseFloat(q.get("lat"));
    var lon = parseFloat(q.get("lon"));
    var name = q.get("name");
    var date = q.get("date");
    return {
      lat: Number.isFinite(lat) ? lat : 52.52,
      lon: Number.isFinite(lon) ? lon : 13.405,
      name: name && name.trim() ? name.trim() : "Berlin",
      date: date && /^\d{4}-\d{2}-\d{2}$/.test(date) ? date : todayUTC()
    };
  }

  function formatDate(iso) {
    var parts = iso.split("-");
    var dt = new Date(Date.UTC(+parts[0], +parts[1] - 1, +parts[2]));
    return dt.toLocaleDateString("en-GB", {
      weekday: "long",
      day: "numeric",
      month: "long",
      year: "numeric",
      timeZone: "UTC"
    });
  }

  function fmtTemp(v) {
    if (v == null || !Number.isFinite(Number(v))) return "—";
    return String(Math.round(Number(v)));
  }

  function isPastDate(dateStr) {
    return dateStr < todayUTC();
  }

  function buildUrl(params) {
    var path = isPastDate(params.date) ? "/api/om/archive" : "/api/om/forecast";
    var qs = new URLSearchParams({
      latitude: String(params.lat),
      longitude: String(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 path + "?" + qs.toString();
  }

  function showError(msg) {
    document.getElementById("loading").classList.add("hidden");
    document.getElementById("temps").classList.add("hidden");
    document.getElementById("hourlyPanel").classList.add("hidden");
    document.getElementById("error").classList.remove("hidden");
    document.getElementById("errorText").textContent =
      msg || "The data could not be loaded for this location and date.";
    document.getElementById("sourceLabel").textContent = "Unavailable";
    document.getElementById("statusDot").style.background = "#8a3a2a";
  }

  function pickHourlyIndices(times, dateStr) {
    var idxs = [];
    for (var i = 0; i < times.length; i++) {
      if (String(times[i]).slice(0, 10) === dateStr) idxs.push(i);
    }
    return idxs;
  }

  function drawChart(temps) {
    var svg = document.getElementById("hourlyChart");
    while (svg.firstChild) svg.removeChild(svg.firstChild);

    var w = 480, h = 240;
    var padX = 8, padTop = 24, padBot = 16;
    var n = temps.length;
    if (n < 2) return;

    var min = Math.min.apply(null, temps);
    var max = Math.max.apply(null, temps);
    var span = Math.max(max - min, 1);

    function x(i) {
      return padX + (i / (n - 1)) * (w - padX * 2);
    }
    function y(v) {
      return padTop + (1 - (v - min) / span) * (h - padTop - padBot);
    }

    var d = "";
    for (var i = 0; i < n; i++) {
      d += (i === 0 ? "M" : "L") + x(i).toFixed(1) + "," + y(temps[i]).toFixed(1) + " ";
    }

    var area = d + " L" + x(n - 1).toFixed(1) + "," + h + " L" + x(0).toFixed(1) + "," + h + " Z";

    var ns = "http://www.w3.org/2000/svg";

    var areaEl = document.createElementNS(ns, "path");
    areaEl.setAttribute("d", area);
    areaEl.setAttribute("fill", "rgba(42, 74, 106, 0.12)");
    svg.appendChild(areaEl);

    var line = document.createElementNS(ns, "path");
    line.setAttribute("d", d.trim());
    line.setAttribute("fill", "none");
    line.setAttribute("stroke", "#2a4a6a");
    line.setAttribute("stroke-width", "2.5");
    line.setAttribute("stroke-linejoin", "round");
    line.setAttribute("stroke-linecap", "round");
    line.setAttribute("vector-effect", "non-scaling-stroke");
    svg.appendChild(line);

    var peakIdx = temps.indexOf(max);
    var peak = document.createElementNS(ns, "circle");
    peak.setAttribute("cx", x(peakIdx).toFixed(1));
    peak.setAttribute("cy", y(temps[peakIdx]).toFixed(1));
    peak.setAttribute("r", "4");
    peak.setAttribute("fill", getComputedStyle(document.documentElement).getPropertyValue("--accent").trim() || "#c45c26");
    svg.appendChild(peak);
  }

  function renderHourStrip(temps, times) {
    var strip = document.getElementById("hourStrip");
    strip.innerHTML = "";
    var picks = [0, 3, 6, 9, 12, 15, 18, 21];
    for (var i = 0; i < picks.length; i++) {
      var idx = picks[i];
      if (idx >= temps.length) continue;
      var cell = document.createElement("div");
      cell.className = "hour-cell";
      var hour = "00";
      if (times[idx]) {
        var t = String(times[idx]);
        hour = t.length >= 13 ? t.slice(11, 13) : String(idx).padStart(2, "0");
      } else {
        hour = String(idx).padStart(2, "0");
      }
      cell.innerHTML =
        '<div class="h">' + hour + ":00</div>" +
        '<div class="t">' + fmtTemp(temps[idx]) + "°</div>";
      strip.appendChild(cell);
    }
  }

  function render(data, params) {
    var daily = data.daily || {};
    var hourly = data.hourly || {};

    var maxArr = daily.temperature_2m_max;
    var minArr = daily.temperature_2m_min;
    var codeArr = daily.weather_code || daily.weathercode;
    var times = hourly.time || [];
    var tempsAll = hourly.temperature_2m || [];

    if (!maxArr || !minArr || !codeArr || !maxArr.length || !minArr.length || !codeArr.length) {
      showError("The data could not be loaded for this location and date.");
      return;
    }

    var dayIdx = 0;
    if (daily.time && daily.time.length) {
      var found = daily.time.indexOf(params.date);
      if (found >= 0) dayIdx = found;
    }

    var tMax = maxArr[dayIdx];
    var tMin = minArr[dayIdx];
    var code = Number(codeArr[dayIdx]);
    var w = WMO[code] || ["Unknown conditions", "cloud"];

    document.body.setAttribute("data-sky", w[1]);

    document.getElementById("tempMax").innerHTML = fmtTemp(tMax) + '<span class="unit">°C</span>';
    document.getElementById("tempMin").innerHTML = fmtTemp(tMin) + '<span class="unit">°C</span>';
    document.getElementById("condition").textContent = w[0];

    var idxs = pickHourlyIndices(times, params.date);
    if (!idxs.length && tempsAll.length) {
      idxs = [];
      for (var i = 0; i < tempsAll.length; i++) idxs.push(i);
    }

    var temps = idxs.map(function (i) { return Number(tempsAll[i]); }).filter(Number.isFinite);
    var hourTimes = idxs.map(function (i) { return times[i]; });

    if (temps.length) {
      var lo = Math.min.apply(null, temps);
      var hi = Math.max.apply(null, temps);
      document.getElementById("hourlyRange").textContent =
        fmtTemp(lo) + "° – " + fmtTemp(hi) + "° across the day";
      drawChart(temps);
      renderHourStrip(temps, hourTimes);
    } else {
      document.getElementById("hourlyRange").textContent = "No hourly data";
    }

    document.getElementById("loading").classList.add("hidden");
    document.getElementById("error").classList.add("hidden");
    document.getElementById("temps").classList.remove("hidden");
    document.getElementById("hourlyPanel").classList.remove("hidden");
    document.getElementById("sourceLabel").textContent =
      isPastDate(params.date) ? "Archive · Open-Meteo" : "Forecast · Open-Meteo";
  }

  async function main() {
    var params = parseParams();
    document.getElementById("placeName").textContent = params.name;
    document.getElementById("dateLabel").textContent = formatDate(params.date);
    document.getElementById("coordsLabel").textContent =
      params.lat.toFixed(2) + "°, " + params.lon.toFixed(2) + "°";

    var url = buildUrl(params);
    try {
      var res = await fetch(url);
      if (!res.ok) throw new Error("HTTP " + res.status);
      var data = await res.json();
      if (data.error) throw new Error(data.reason || "API error");
      render(data, params);
    } catch (e) {
      showError("The data could not be loaded for this location and date.");
    }
  }

  main();
})();
</script>
</body>
</html>

L1 — cheap deterministic descriptors

bytes total18,828html / css / js2,174 / 7,454 / 9,200
dom nodes46dom depth9
css rules52js presentyes
brightness176.8contrast26.0
colorfulness15.4whitespace36.3%

This slot's telemetry

prompt tokens20,312completion tokens14,044
total tokens34,356wall165.6 s
cost—request id—
config.json582 B
{
  "N": 2,
  "auth": {
    "credential_ref": "WCB_NONE",
    "method": "oauth-login"
  },
  "billing": "plan",
  "config_id": "cursor-grok-4.5-eff-high--cli--cursor--dev",
  "effort": "high",
  "family": "grok",
  "m": {
    "min": 2,
    "q": 2
  },
  "model_id": "cursor-grok-4.5",
  "protocol": "cli",
  "served_model": "cursor-grok-4.5-high",
  "telemetry": {
    "completion_tokens": 40693,
    "cost_usd": null,
    "prompt_tokens": 65935,
    "total_tokens": 106628,
    "wall_ms": 444162
  },
  "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": "cursor-grok-4.5-eff-high--cli--cursor--dev",
  "positions": [
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-08-12T16:57:29.820538+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T16:56:51.345530+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:18.629071+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T16:57:33.035752+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:50.419781+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T17:00:22.536397+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:04:26.654821+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T17:02:54.433154+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
    }
  }
}