gpt-6-astra · codex

codexdev
config
gpt-6-astra--cli--codex--dev
batch
2026-07-19--unified
transport
codex-cli-isolated-home
protocol
cli · plan
served model
gpt-6-astra
captured
Jul 18, 2026, 11:54 AM · N=2
variant
live
slot 0 · P-q · sandboxed iframe
gpt-6-astra · codex 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 neighborsNo similarity data for this session — this batch has no computed pairs.

Fidelity — does the card show the right data?

  • namematch
  • conditionmatch
  • datematch
  • max tempmismatchshown: 17.4
  • min tempmismatchshown: 17.2
  • hourlymatchcoverage 22/24 · 22 match · 0 mismatch · 2 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=device-width, initial-scale=1">
<meta name="color-scheme" content="light">
<title>Daylight — Weather for a day</title>
<style>
:root{--paper:#f5f3ed;--card:#fffef9;--ink:#282b24;--muted:#85877d;--line:#e7e7dc;--orange:#ec743b;--olive:#777e54}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
.shell{width:min(1100px,calc(100% - 80px));margin:35px auto}
.masthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}
.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.9px}
.brand svg{width:25px;height:25px;color:var(--orange)}
.tagline{font-size:11px;color:var(--muted);letter-spacing:1.7px;text-transform:uppercase}
.card{position:relative;overflow:hidden;border:1px solid #e2e3d7;border-radius:22px;background:var(--card);box-shadow:0 15px 45px #43483206}
.topline{display:flex;align-items:center;justify-content:space-between;padding:25px 35px;border-bottom:1px solid var(--line)}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--olive)}
.date{font-size:13px;color:#65695d}
.overview{min-height:266px;display:grid;grid-template-columns:1fr 370px;padding:29px 35px 28px;position:relative}
.location{display:flex;align-items:center;gap:9px;margin:0 0 15px;font-size:29px;font-weight:500;letter-spacing:-1px;overflow-wrap:anywhere}
.location svg{flex-shrink:0;width:19px;color:var(--olive)}
.summary{display:flex;align-items:center;gap:25px}
.maximum{font-size:91px;font-weight:400;letter-spacing:-7px;line-height:1.06;font-variant-numeric:tabular-nums}
.maximum sup{font-size:34px;vertical-align:top;position:relative;top:12px;letter-spacing:-2px}
.temp-detail{padding-top:12px}
.highlabel{color:var(--muted);font-size:11px;line-height:1.6}
.minimum{margin-top:9px;font-size:24px;letter-spacing:-.8px}
.minimum small{font-size:11px;color:var(--muted);letter-spacing:0;margin-left:5px}
.condition{display:flex;align-items:center;gap:8px;margin-top:13px;font-size:14px;color:#646951}
.condition-dot{width:6px;height:6px;border-radius:50%;background:var(--olive)}
.weather-art{position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.weather-art:before{content:"";position:absolute;width:245px;height:245px;border-radius:50%;background:radial-gradient(circle,#f8e9c977,transparent 70%);z-index:-1}
.weather-art svg{width:235px;height:195px;overflow:visible}
.art-caption{position:absolute;bottom:2px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#a7a99b}
.hourly{border-top:1px solid var(--line);padding:25px 35px 22px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.section-heading h2{font-size:15px;letter-spacing:-.2px;font-weight:500;margin:0}
.legend{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}
.legend i{width:15px;height:2px;background:var(--orange)}
.chart-wrap{height:147px;margin-top:15px}
.chart{width:100%;height:100%;display:block;overflow:visible}
.hours{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));padding-top:12px;border-top:1px solid var(--line);gap:1px}
.hour{text-align:center;padding:5px 0;border-radius:6px;transition:background .15s}
.hour:hover,.hour:focus-visible{background:#f8ebdb;outline:1px solid #e8cbb0}
.hour time{display:block;font-size:9px;color:var(--muted);margin-bottom:7px}
.hour strong{font-size:11px;font-weight:500}
.card-footer{border-top:1px solid var(--line);background:#f9f9f2;padding:14px 35px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8b8e7f}
.footer-note{display:flex;align-items:center;gap:6px}
.footer-note svg{width:12px;height:12px}
.page-footer{display:flex;justify-content:space-between;margin-top:17px;color:#939589;font-size:10px}
.page-footer span:first-child{font-family:Georgia,serif;font-style:italic;font-size:13px}
.status{padding:80px 35px;text-align:center;color:#737866;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.status h2{font-family:Georgia,serif;font-size:30px;font-weight:400;color:var(--ink);margin:20px 0 10px}
.status p{font-size:14px;line-height:1.6;max-width:440px;margin:0}
.spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--orange);border-radius:50%;animation:spin 1s linear infinite}
button{margin-top:22px;border:1px solid #d4d7c7;background:var(--card);color:var(--ink);border-radius:9px;padding:11px 20px;cursor:pointer;font:inherit;font-size:12px}
button:hover{background:#eeeee3}
button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
[hidden]{display:none!important}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
@media(max-width:800px){.shell{width:calc(100% - 32px);margin:24px auto}.topline,.hourly{padding-left:22px;padding-right:22px}.overview{grid-template-columns:1fr 170px;padding:25px 22px}.weather-art svg{width:165px}.weather-art:before{width:170px;height:170px}.maximum{font-size:74px}.hours{grid-template-columns:repeat(12,1fr);row-gap:12px}.tagline{font-size:9px;letter-spacing:1px}.card-footer{padding:14px 22px}}
@media(max-width:480px){.overview{grid-template-columns:1fr 90px}.weather-art svg{width:105px}.weather-art:before{width:100px;height:100px}.art-caption{display:none}.summary{gap:16px}.maximum{font-size:65px}.maximum sup{font-size:25px}.location{font-size:25px}.date{font-size:11px}.topline{gap:15px}.tagline{display:none}.card-footer{gap:15px;line-height:1.5}.legend{font-size:9px}.page-footer{gap:15px}.hour strong{font-size:10px}}
</style>
</head>
<body>
<main class="shell">
<header class="masthead">
<div class="brand">
<svg viewBox="0 0 28 28" fill="none" aria-hidden="true"><circle cx="14" cy="14" r="5" stroke="currentColor" stroke-width="2"/><path d="M14 1v4m0 18v4M1 14h4m18 0h4M5 5l3 3m12 12 3 3M5 23l3-3M20 8l3-3" stroke="currentColor" stroke-width="2"/></svg>
daylight
</div>
<div class="tagline">A little perspective on your day</div>
</header>
<article class="card" aria-label="Daily weather">
<div class="topline">
<span class="eyebrow" id="report-label">Daily weather</span>
<time class="date" id="date-label"></time>
</div>
<div id="status" class="status" role="status" aria-live="polite">
<div class="spinner" id="spinner" aria-hidden="true"></div>
<h2 id="status-title">Looking at the skies.</h2>
<p id="status-description">Loading the weather for your day.</p>
<button id="retry" type="button" hidden>Try again</button>
</div>
<div id="weather" hidden>
<section class="overview" aria-label="Daily summary">
<div>
<h1 class="location"><svg viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M19 10c0 5-7 11-7 11S5 15 5 10a7 7 0 1 1 14 0Z" stroke="currentColor" stroke-width="1.5"/><circle cx="12" cy="10" r="2.5" stroke="currentColor" stroke-width="1.5"/></svg><span id="location"></span></h1>
<div class="summary">
<div class="maximum"><span id="maximum">—</span><sup>°C</sup></div>
<div class="temp-detail"><div class="highlabel">DAYTIME HIGH</div><div class="minimum"><span id="minimum">—</span>° <small>low</small></div></div>
</div>
<div class="condition"><span class="condition-dot"></span><span id="condition"></span></div>
</div>
<div class="weather-art" aria-hidden="true">
<svg viewBox="0 0 260 210">
<defs>
<linearGradient id="sun-color" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#f6ce76"/><stop offset="1" stop-color="#ed8a47"/></linearGradient>
<linearGradient id="cloud-color" x1="0" y1="0" x2="0" y2="1"><stop stop-color="#eeeee6"/><stop offset="1" stop-color="#d5d9cc"/></linearGradient>
</defs>
<g id="art-sun">
<circle cx="131" cy="94" r="77" fill="none" stroke="#ede4cf" stroke-dasharray="2 7"/>
<circle cx="131" cy="94" r="61" fill="none" stroke="#f0ddba"/>
<circle cx="131" cy="94" r="48" fill="url(#sun-color)"/>
<path d="M131 3v9m0 164v9M40 94h9m164 0h9M67 30l7 7m114 114 7 7M67 158l7-7M188 37l7-7" stroke="#e3c798" stroke-width="1.5" stroke-linecap="round"/>
</g>
<g id="art-cloud" hidden><path d="M66 156c-24 0-31-34-10-44 1-24 31-35 47-17 19-36 72-23 72 16 36-2 40 45 10 45Z" fill="url(#cloud-color)" stroke="#cdd2c4" stroke-width="1"/></g>
<g id="art-rain" stroke="#8bada9" stroke-width="3" stroke-linecap="round" hidden><path d="m85 171-6 11m38-11-6 11m38-11-6 11m38-11-6 11"/></g>
<g id="art-snow" fill="#94abaa" hidden><circle cx="81" cy="176" r="3"/><circle cx="112" cy="185" r="3"/><circle cx="145" cy="175" r="3"/><circle cx="177" cy="185" r="3"/></g>
<path id="art-lightning" d="m133 151-14 23h15l-9 24 29-33h-16l8-14Z" fill="#eaa44a" hidden/>
<g id="art-fog" stroke="#abb1a0" stroke-width="3" stroke-linecap="round" hidden><path d="M57 166h132M73 179h133M57 192h119"/></g>
</svg>
<div class="art-caption" id="art-caption">The day's outlook</div>
</div>
</section>
<section class="hourly" aria-labelledby="hourly-title">
<div class="section-heading"><h2 id="hourly-title">The shape of the day</h2><span class="legend"><i></i>Hourly temperature · °C</span></div>
<div class="chart-wrap"><svg id="chart" class="chart" viewBox="0 0 1030 147" preserveAspectRatio="none" role="img" aria-label="Hourly temperature chart"></svg></div>
<div id="hours" class="hours" aria-label="Hourly temperatures in Celsius, UTC"></div>
</section>
<div class="card-footer">
<span class="footer-note"><svg viewBox="0 0 16 16" fill="none" aria-hidden="true"><circle cx="8" cy="8" r="6" stroke="currentColor"/><path d="M8 4v4l3 2" stroke="currentColor"/></svg>All times in UTC · Temperatures in Celsius</span>
<span id="source-label">Weather data by Open-Meteo</span>
</div>
</div>
</article>
<footer class="page-footer"><span>Every day has its own atmosphere.</span><span>One place. One day. A clearer picture.</span></footer>
<noscript><p>Weather data cannot be loaded because JavaScript is disabled. Please enable JavaScript to view this weather card.</p></noscript>
</main>
<script>
(() => {
"use strict";
const element = id => document.getElementById(id);
const parameters = new URLSearchParams(location.search);
const today = new Date().toISOString().slice(0, 10);
const requestedDate = parameters.get("date") || today;
const locationName = parameters.get("name") || "Berlin";
const latitudeText = parameters.get("lat") ?? "52.52";
const longitudeText = parameters.get("lon") ?? "13.405";
const latitude = Number(latitudeText);
const longitude = Number(longitudeText);
const dateObject = new Date(requestedDate + "T00:00:00Z");
const validDate = /^\d{4}-\d{2}-\d{2}$/.test(requestedDate) && !Number.isNaN(dateObject.getTime()) && dateObject.toISOString().slice(0, 10) === requestedDate;
const past = requestedDate < today;
element("location").textContent = locationName;
document.title = locationName + " — Daylight";
element("date-label").textContent = validDate ? new Intl.DateTimeFormat("en", {weekday:"long", month:"long", day:"numeric", year:"numeric", timeZone:"UTC"}).format(dateObject) : requestedDate;
if (validDate) element("date-label").dateTime = requestedDate;
element("report-label").textContent = past ? "A day in retrospect" : "Your daily outlook";
const descriptions = {
0:"Clear sky",1:"Mainly clear",2:"Partly cloudy",3:"Overcast",
45:"Fog",48:"Depositing rime fog",51:"Light drizzle",53:"Moderate drizzle",55:"Dense drizzle",
56:"Light freezing drizzle",57:"Dense freezing drizzle",61:"Slight rain",63:"Moderate rain",65:"Heavy rain",
66:"Light freezing rain",67:"Heavy freezing rain",71:"Slight snowfall",73:"Moderate snowfall",75:"Heavy snowfall",
77:"Snow grains",80:"Slight rain showers",81:"Moderate rain showers",82:"Violent rain showers",
85:"Slight snow showers",86:"Heavy snow showers",95:"Thunderstorm",96:"Thunderstorm with slight hail",99:"Thunderstorm with heavy hail"
};
const isTemperature = value => typeof value === "number" && Number.isFinite(value);
const formatTemperature = value => new Intl.NumberFormat("en", {maximumFractionDigits:1}).format(value);
function updateArt(code) {
const known = Object.prototype.hasOwnProperty.call(descriptions, code);
element("art-sun").hidden = !known || code > 2;
element("art-cloud").hidden = !known || code < 2;
element("art-rain").hidden = !([51,53,55,56,57,61,63,65,66,67,80,81,82].includes(code));
element("art-snow").hidden = !([71,73,75,77,85,86].includes(code));
element("art-lightning").hidden = !([95,96,99].includes(code));
element("art-fog").hidden = !([45,48].includes(code));
}
function drawHourly(hours) {
const temperatures = hours.map(hour => hour.temperature).filter(isTemperature);
const minimum = Math.min(...temperatures);
const maximum = Math.max(...temperatures);
const range = Math.max(maximum - minimum, 4);
const center = (minimum + maximum) / 2;
const lower = center - range / 2 - 2;
const upper = center + range / 2 + 2;
const chartWidth = 1030;
const chartBottom = 134;
const coordinateY = temperature => 12 + (upper - temperature) / (upper - lower) * 110;
const points = hours.map((hour, index) => isTemperature(hour.temperature) ? {x:(index + .5) * chartWidth / 24, y:coordinateY(hour.temperature)} : null);
let markup = '<defs><linearGradient id="area" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#ed9c62" stop-opacity=".22"/><stop offset="1" stop-color="#ed9c62" stop-opacity=".015"/></linearGradient></defs>';
for (const vertical of [25, 73, 121]) {
markup += `<path d="M0 ${vertical}H1030" stroke="#e9e9e0" stroke-dasharray="3 5" fill="none"/>`;
}
let segment = [];
function finishSegment() {
if (!segment.length) return;
const line = segment.map((point, index) => `${index ? "L" : "M"}${point.x.toFixed(2)} ${point.y.toFixed(2)}`).join(" ");
markup += `<path d="${line} L${segment[segment.length-1].x.toFixed(2)} ${chartBottom} L${segment[0].x.toFixed(2)} ${chartBottom} Z" fill="url(#area)"/>`;
markup += `<path d="${line}" fill="none" stroke="#ec743b" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" vector-effect="non-scaling-stroke"/>`;
segment = [];
}
points.forEach(point => {if(point) segment.push(point); else finishSegment();});
finishSegment();
points.forEach((point,index) => {
if (!point) return;
markup += `<circle cx="${point.x.toFixed(2)}" cy="${point.y.toFixed(2)}" r="3" fill="#fffef9" stroke="#ec743b" stroke-width="1.5"><title>${hours[index].time}: ${formatTemperature(hours[index].temperature)}°C</title></circle>`;
});
element("chart").innerHTML = markup;
element("chart").setAttribute("aria-label", `Hourly temperatures for ${locationName}, ${requestedDate}, UTC. Values are listed below.`);
element("hours").replaceChildren();
hours.forEach(hour => {
const cell = document.createElement("div");
cell.className = "hour";
cell.tabIndex = 0;
const time = document.createElement("time");
time.dateTime = requestedDate + "T" + hour.time + ":00Z";
time.textContent = hour.time;
const temperature = document.createElement("strong");
temperature.textContent = isTemperature(hour.temperature) ? formatTemperature(hour.temperature) + "°" : "—";
cell.setAttribute("aria-label", `${hour.time} UTC: ${isTemperature(hour.temperature) ? formatTemperature(hour.temperature) + " degrees Celsius" : "temperature unavailable"}`);
cell.append(time, temperature);
element("hours").append(cell);
});
}
async function loadWeather() {
element("weather").hidden = true;
element("status").hidden = false;
element("spinner").hidden = false;
element("retry").hidden = true;
element("status-title").textContent = "Looking at the skies.";
element("status-description").textContent = "Loading the weather for your day.";
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 18000);
try {
if (!validDate) throw new Error("Please use a valid date in YYYY-MM-DD format.");
if (!latitudeText.trim() || !longitudeText.trim() || !Number.isFinite(latitude) || !Number.isFinite(longitude) || latitude < -90 || latitude > 90 || longitude < -180 || longitude > 180) throw new Error("Please provide valid latitude and longitude coordinates.");
const query = new URLSearchParams({
latitude:String(latitude), longitude:String(longitude),
daily:"temperature_2m_max,temperature_2m_min,weather_code",
hourly:"temperature_2m", timezone:"UTC", temperature_unit:"celsius",
start_date:requestedDate, end_date:requestedDate
});
const response = await fetch((past ? "/api/om/archive" : "/api/om/forecast") + "?" + query.toString(), {signal:controller.signal});
if (!response.ok) throw new Error("The weather service could not return data for this date. Please try again.");
const data = await response.json();
if (data.error) throw new Error("Weather data is not available for the requested date.");
const dailyIndex = data.daily?.time?.indexOf(requestedDate) ?? -1;
const maximum = data.daily?.temperature_2m_max?.[dailyIndex];
const minimum = data.daily?.temperature_2m_min?.[dailyIndex];
const code = data.daily?.weather_code?.[dailyIndex];
if (dailyIndex < 0 || !isTemperature(maximum) || !isTemperature(minimum)) throw new Error("Daily weather data is not available for this date.");
const hourlyMap = new Map();
if (Array.isArray(data.hourly?.time) && Array.isArray(data.hourly?.temperature_2m)) {
data.hourly.time.forEach((time, index) => {
if (typeof time === "string" && time.startsWith(requestedDate + "T")) hourlyMap.set(time.slice(11, 16), data.hourly.temperature_2m[index]);
});
}
const hours = Array.from({length:24}, (_, index) => {
const time = String(index).padStart(2,"0") + ":00";
return {time,temperature:hourlyMap.get(time)};
});
if (!hours.some(hour => isTemperature(hour.temperature))) throw new Error("Hourly weather data is not available for this date.");
element("maximum").textContent = formatTemperature(maximum);
element("minimum").textContent = formatTemperature(minimum);
element("condition").textContent = descriptions[code] || "Weather condition unavailable";
updateArt(code);
drawHourly(hours);
const missing = hours.some(hour => !isTemperature(hour.temperature));
element("source-label").textContent = missing ? "Some hourly data unavailable · Open-Meteo" : (past ? "Historical data" : "Forecast data") + " by Open-Meteo";
element("status").hidden = true;
element("weather").hidden = false;
} catch (error) {
element("spinner").hidden = true;
element("status-title").textContent = "Weather data could not be loaded.";
element("status-description").textContent = error.name === "AbortError" ? "The weather service took too long to respond. Please try again." : error instanceof TypeError ? "Unable to reach the weather service. Check your connection and try again." : error.message;
element("retry").hidden = false;
} finally {
clearTimeout(timeout);
}
}
element("retry").addEventListener("click", loadWeather);
loadWeather();
})();
</script>
</body>
</html>

L1 — cheap deterministic descriptors

bytes total18,919html / css / js4,555 / 5,614 / 8,750
dom nodes91dom depth11
css rules83js presentyes
brightness246.7contrast13.4
colorfulness13.4whitespace98.1%

This slot's telemetry

prompt tokens0completion tokens6,781
total tokens0wall178.4 s
costrequest id
config.json541 B
{
  "N": 2,
  "auth": {
    "credential_ref": "WCB_GPT_KEY",
    "method": "api-key"
  },
  "billing": "plan",
  "config_id": "gpt-6-astra--cli--codex--dev",
  "effort": null,
  "family": "gpt",
  "m": {
    "min": 2,
    "q": 2
  },
  "model_id": "gpt-6-astra",
  "protocol": "cli",
  "served_model": "gpt-6-astra",
  "telemetry": {
    "completion_tokens": 67096,
    "cost_usd": null,
    "prompt_tokens": null,
    "total_tokens": null,
    "wall_ms": 711349
  },
  "transport": "codex-cli-isolated-home",
  "vendor_sanction_ref": null
}
send-log2.5 KB
{
  "N": 2,
  "batch_id": "2026-09-05--codex-astra",
  "config_id": "gpt-6-astra--cli--codex--dev",
  "positions": [
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-09-05T03:24:08.995918+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-09-05T03:21:17.616872+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-09-05T03:27:11.856008+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-09-05T03:24:13.478799+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-09-05T03:30:08.631084+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-09-05T03:27:14.695992+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-09-05T03:33:19.068960+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-09-05T03:30:11.395674+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
    }
  }
}