gemini-3.6-flash @ low · api
apilow
- config
- gemini-3.6-flash-eff-low--api--official--dev
- batch
- 2026-07-19--unified
- transport
- google-gemini-developer-api-openai-compat
- protocol
- api · metered
- served model
- gemini-3.6-flash
- captured
- Jul 18, 2026, 11:54 AM · N=4
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 neighbors
nearest
gemini-3.5-flash @low · api0.78gemini-3.6-flash @minimal · api0.77gemini-3.5-flash @minimal · api0.75qwen3.8-max-preview · qoder0.75claude-opus-4-8 @medium · kiro0.73farthest
gpt-5.6-luna @low · codex-oauth0.36gpt-5.6-luna @high · kiro0.36gpt-5.5 @medium · codex-oauth0.39gpt-5.6-luna @medium · codex-oauth0.41minimax-m2.7 · go0.44within 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=device-width, initial-scale=1.0">
<title>Weather Card</title>
<style>
:root {
--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #311042 100%);
--card-bg: rgba(255, 255, 255, 0.06);
--card-border: rgba(255, 255, 255, 0.12);
--card-hover: rgba(255, 255, 255, 0.09);
--text-main: #f8fafc;
--text-muted: #94a3b8;
--text-dim: #64748b;
--accent: #38bdf8;
--accent-glow: rgba(56, 189, 248, 0.25);
--temp-max: #fb923c;
--temp-min: #38bdf8;
--error-bg: rgba(239, 68, 68, 0.1);
--error-border: rgba(239, 68, 68, 0.3);
--error-text: #fca5a5;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
body {
width: 1280px;
height: 800px;
background: var(--bg-gradient);
color: var(--text-main);
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
position: relative;
}
/* Ambient background glow elements */
.glow-orb-1 {
position: absolute;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(56, 189, 248, 0.12) 0%, rgba(0,0,0,0) 70%);
top: -100px;
left: -100px;
pointer-events: none;
}
.glow-orb-2 {
position: absolute;
width: 700px;
height: 700px;
background: radial-gradient(circle, rgba(168, 85, 247, 0.12) 0%, rgba(0,0,0,0) 70%);
bottom: -200px;
right: -100px;
pointer-events: none;
}
.container {
width: 1080px;
height: 640px;
background: var(--card-bg);
border: 1px solid var(--card-border);
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
border-radius: 32px;
padding: 48px;
display: flex;
flex-direction: column;
justify-content: space-between;
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
position: relative;
z-index: 1;
}
/* Loading State */
.skeleton-overlay {
position: absolute;
inset: 0;
background: rgba(15, 23, 42, 0.8);
backdrop-filter: blur(12px);
border-radius: 32px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 16px;
z-index: 10;
transition: opacity 0.4s ease, visibility 0.4s;
}
.spinner {
width: 48px;
height: 48px;
border: 4px solid rgba(255, 255, 255, 0.1);
border-left-color: var(--accent);
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Error State */
.error-container {
display: none;
position: absolute;
inset: 0;
background: rgba(15, 23, 42, 0.95);
border-radius: 32px;
z-index: 20;
padding: 48px;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
}
.error-box {
background: var(--error-bg);
border: 1px solid var(--error-border);
border-radius: 20px;
padding: 32px 48px;
max-width: 500px;
}
.error-icon {
font-size: 48px;
margin-bottom: 16px;
}
.error-title {
font-size: 20px;
font-weight: 600;
color: var(--error-text);
margin-bottom: 8px;
}
.error-message {
color: var(--text-muted);
font-size: 14px;
line-height: 1.5;
}
/* Top Layout Section */
.header {
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.location-meta {
display: flex;
flex-direction: column;
gap: 6px;
}
.location-name {
font-size: 44px;
font-weight: 700;
letter-spacing: -0.02em;
color: #ffffff;
display: flex;
align-items: center;
gap: 12px;
}
.location-icon {
width: 32px;
height: 32px;
fill: var(--accent);
}
.date-display {
font-size: 18px;
color: var(--text-muted);
font-weight: 500;
letter-spacing: 0.01em;
}
.coords-tag {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(255, 255, 255, 0.05);
padding: 4px 12px;
border-radius: 20px;
font-size: 12px;
color: var(--text-dim);
width: fit-content;
margin-top: 4px;
border: 1px solid rgba(255, 255, 255, 0.05);
}
/* Main Weather Highlight */
.main-weather {
display: flex;
align-items: center;
gap: 32px;
}
.weather-icon-wrapper {
width: 100px;
height: 100px;
background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.02) 100%);
border-radius: 24px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid rgba(255, 255, 255, 0.1);
box-shadow: 0 12px 24px rgba(0,0,0,0.2);
}
.weather-icon-svg {
width: 60px;
height: 60px;
filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
}
.weather-text-group {
display: flex;
flex-direction: column;
}
.condition-label {
font-size: 32px;
font-weight: 600;
color: #ffffff;
line-height: 1.2;
}
.temp-range-pills {
display: flex;
gap: 16px;
margin-top: 8px;
}
.pill {
display: flex;
align-items: center;
gap: 8px;
font-size: 16px;
font-weight: 600;
padding: 6px 14px;
border-radius: 12px;
background: rgba(0, 0, 0, 0.2);
border: 1px solid rgba(255, 255, 255, 0.05);
}
.pill.max { color: var(--temp-max); }
.pill.min { color: var(--temp-min); }
.pill svg {
width: 14px;
height: 14px;
fill: currentColor;
}
/* Hourly Forecast Strip */
.hourly-section {
display: flex;
flex-direction: column;
gap: 16px;
}
.section-title {
font-size: 14px;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--text-dim);
font-weight: 700;
}
.hourly-scroll {
display: flex;
gap: 12px;
overflow-x: auto;
padding-bottom: 8px;
scrollbar-width: thin;
scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}
.hourly-scroll::-webkit-scrollbar {
height: 6px;
}
.hourly-scroll::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.2);
border-radius: 3px;
}
.hourly-card {
min-width: 72px;
flex: 1;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 16px;
padding: 14px 8px;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
transition: all 0.2s ease;
}
.hourly-card:hover {
background: var(--card-hover);
border-color: rgba(255, 255, 255, 0.15);
transform: translateY(-2px);
}
.hourly-card.is-now {
background: rgba(56, 189, 248, 0.1);
border-color: var(--accent);
box-shadow: 0 0 12px var(--accent-glow);
}
.hourly-time {
font-size: 13px;
color: var(--text-muted);
font-weight: 500;
}
.hourly-temp {
font-size: 16px;
font-weight: 600;
color: #ffffff;
}
/* Visual Graph Bar inside Hourly Card */
.temp-bar-wrapper {
width: 4px;
height: 36px;
background: rgba(255, 255, 255, 0.08);
border-radius: 2px;
position: relative;
overflow: hidden;
display: flex;
align-items: flex-end;
}
.temp-bar-fill {
width: 100%;
background: linear-gradient(to top, var(--accent), var(--temp-max));
border-radius: 2px;
}
</style>
</head>
<body>
<div class="glow-orb-1"></div>
<div class="glow-orb-2"></div>
<div class="container">
<!-- Loading Overlay -->
<div id="loading" class="skeleton-overlay">
<div class="spinner"></div>
<div style="color: var(--text-muted); font-size: 14px; font-weight: 500;">Fetching weather data...</div>
</div>
<!-- Error Message -->
<div id="error" class="error-container">
<div class="error-box">
<div class="error-icon">⚠️</div>
<div class="error-title">Unable to load weather data</div>
<div class="error-message" id="error-text">We couldn't retrieve the forecast for this location and date. Please check the network connection or query parameters.</div>
</div>
</div>
<!-- Header Section -->
<div class="header">
<div class="location-meta">
<div class="location-name">
<svg class="location-icon" viewBox="0 0 24 24">
<path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/>
</svg>
<span id="loc-display">--</span>
</div>
<div class="date-display" id="date-display">--</div>
<div class="coords-tag" id="coords-display">Lat: -- | Lon: --</div>
</div>
<!-- Main Overview -->
<div class="main-weather">
<div class="weather-icon-wrapper" id="weather-icon-container">
<!-- SVG injected via JS -->
</div>
<div class="weather-text-group">
<div class="condition-label" id="condition-display">--</div>
<div class="temp-range-pills">
<div class="pill max" title="High Temperature">
<svg viewBox="0 0 24 24"><path d="M12 4l-6 6h4v8h4v-8h4z"/></svg>
<span id="temp-max-display">--°C</span>
</div>
<div class="pill min" title="Low Temperature">
<svg viewBox="0 0 24 24"><path d="M12 20l6-6h-4V8h-4v6H8z"/></svg>
<span id="temp-min-display">--°C</span>
</div>
</div>
</div>
</div>
</div>
<!-- Hourly Forecast Section -->
<div class="hourly-section">
<div class="section-title">24-Hour Hourly Temperature Pattern</div>
<div class="hourly-scroll" id="hourly-container">
<!-- Hourly cards injected via JS -->
</div>
</div>
</div>
<script>
// WMO Weather Interpretation Codes Map
const WMO_CODES = {
0: { label: 'Clear Sky', icon: 'sun' },
1: { label: 'Mainly Clear', icon: 'sun-cloud' },
2: { label: 'Partly Cloudy', icon: 'sun-cloud' },
3: { label: 'Overcast', icon: 'cloud' },
45: { label: 'Fog', icon: 'fog' },
48: { label: 'Depositing Rime Fog', icon: 'fog' },
51: { label: 'Light Drizzle', icon: 'drizzle' },
53: { label: 'Moderate Drizzle', icon: 'drizzle' },
55: { label: 'Dense Drizzle', icon: 'drizzle' },
56: { label: 'Light Freezing Drizzle', icon: 'drizzle' },
57: { label: 'Dense Freezing Drizzle', icon: 'drizzle' },
61: { label: 'Slight Rain', icon: 'rain' },
63: { label: 'Moderate Rain', icon: 'rain' },
65: { label: 'Heavy Rain', icon: 'rain' },
66: { label: 'Light Freezing Rain', icon: 'rain' },
67: { label: 'Heavy Freezing Rain', icon: 'rain' },
71: { label: 'Slight Snow', icon: 'snow' },
73: { label: 'Moderate Snow', icon: 'snow' },
75: { label: 'Heavy Snow', icon: 'snow' },
77: { label: 'Snow Grains', icon: 'snow' },
80: { label: 'Slight Rain Showers', icon: 'rain' },
81: { label: 'Moderate Rain Showers', icon: 'rain' },
82: { label: 'Violent Rain Showers', icon: 'rain' },
85: { label: 'Slight Snow Showers', icon: 'snow' },
86: { label: 'Heavy Snow Showers', icon: 'snow' },
95: { label: 'Thunderstorm', icon: 'thunder' },
96: { label: 'Thunderstorm with Hail', icon: 'thunder' },
99: { label: 'Thunderstorm with Heavy Hail', icon: 'thunder' }
};
// Vector Weather Icons
const SVGS = {
'sun': `<svg class="weather-icon-svg" viewBox="0 0 24 24" fill="none" stroke="#facc15" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg>`,
'sun-cloud': `<svg class="weather-icon-svg" viewBox="0 0 24 24" fill="none" stroke="#38bdf8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="M20 12h2"/><path d="m19.07 4.93-1.41 1.41"/><path d="M15.94 15.94A5.001 5.001 0 0 0 12 7c-2.76 0-5 2.24-5 5 0 .43.06.84.16 1.24"/><path d="M17 18a5 5 0 0 0-1-9.9 5 5 0 0 0-9.8 1.7A3.5 3.5 0 0 0 7 18h10z" fill="rgba(255,255,255,0.1)"/></svg>`,
'cloud': `<svg class="weather-icon-svg" viewBox="0 0 24 24" fill="none" stroke="#94a3b8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17.5 19 certainty-2 0-3.05-1.41-3.5-3A6 6 0 0 0 3 13a4.5 4.5 0 0 0 4.5 4.5h10z"/><path d="M17.5 19a4.5 4.5 0 0 0 0-9h-1.79A7.002 7.002 0 0 0 2 12a5 5 0 0 0 5 5h10.5z" fill="rgba(255,255,255,0.1)"/></svg>`,
'fog': `<svg class="weather-icon-svg" viewBox="0 0 24 24" fill="none" stroke="#cbd5e1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9h14"/><path d="M3 12h18"/><path d="M4 15h16"/><path d="M6 18h12"/></svg>`,
'drizzle': `<svg class="weather-icon-svg" viewBox="0 0 24 24" fill="none" stroke="#38bdf8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"/><path d="M8 19v.01"/><path d="M8 22v.01"/><path d="M12 19v.01"/><path d="M12 22v.01"/><path d="M16 19v.01"/><path d="M16 22v.01"/></svg>`,
'rain': `<svg class="weather-icon-svg" viewBox="0 0 24 24" fill="none" stroke="#60a5fa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 13v6"/><path d="M8 13v6"/><path d="M12 15v6"/><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"/></svg>`,
'snow': `<svg class="weather-icon-svg" viewBox="0 0 24 24" fill="none" stroke="#e0f2fe" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25"/><path d="M8 16h.01"/><path d="M8 20h.01"/><path d="M12 18h.01"/><path d="M12 22h.01"/><path d="M16 16h.01"/><path d="M16 20h.01"/></svg>`,
'thunder': `<svg class="weather-icon-svg" viewBox="0 0 24 24" fill="none" stroke="#f59e0b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"/><polyline points="13 11 9 17 15 17 11 23"/></svg>`
};
function getQueryParams() {
const params = new URLSearchParams(window.location.search);
const today = new Date().toISOString().split('T')[0];
return {
lat: parseFloat(params.get('lat')) || 52.52,
lon: parseFloat(params.get('lon')) || 13.405,
name: params.get('name') || 'Berlin',
date: params.get('date') || today
};
}
function formatDate(dateStr) {
try {
const [year, month, day] = dateStr.split('-').map(Number);
const date = new Date(Date.UTC(year, month - 1, day));
return date.toLocaleDateString('en-US', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric',
timeZone: 'UTC'
});
} catch (e) {
return dateStr;
}
}
function showError(msg) {
document.getElementById('loading').style.display = 'none';
const errEl = document.getElementById('error');
if (msg) document.getElementById('error-text').textContent = msg;
errEl.style.display = 'flex';
}
async function fetchWeatherData() {
const { lat, lon, name, date } = getQueryParams();
// UI basic initial binding
document.getElementById('loc-display').textContent = name;
document.getElementById('date-display').textContent = formatDate(date);
document.getElementById('coords-display').textContent = `Lat: ${lat.toFixed(2)} | Lon: ${lon.toFixed(2)}`;
const todayStr = new Date().toISOString().split('T')[0];
const isPast = date < todayStr;
const endpoint = isPast ? '/api/om/archive' : '/api/om/forecast';
const url = new URL(endpoint, window.location.origin);
url.searchParams.append('latitude', lat);
url.searchParams.append('longitude', lon);
url.searchParams.append('daily', 'temperature_2m_max,temperature_2m_min,weather_code');
url.searchParams.append('hourly', 'temperature_2m');
url.searchParams.append('timezone', 'UTC');
url.searchParams.append('temperature_unit', 'celsius');
url.searchParams.append('start_date', date);
url.searchParams.append('end_date', date);
try {
const response = await fetch(url.toString());
if (!response.ok) {
throw new Error(`Server returned HTTP status ${response.status}`);
}
const data = await response.json();
if (!data || !data.daily || !data.hourly) {
throw new Error('Malformed API response');
}
renderWeather(data);
} catch (err) {
console.error('Weather fetch error:', err);
showError(`Failed to load weather data for ${name} (${date}). ${err.message}`);
}
}
function renderWeather(data) {
// Extract Daily Data
const maxTemp = Math.round(data.daily.temperature_2m_max[0]);
const minTemp = Math.round(data.daily.temperature_2m_min[0]);
const code = data.daily.weather_code[0];
const conditionInfo = WMO_CODES[code] || { label: 'Unknown', icon: 'sun-cloud' };
document.getElementById('temp-max-display').textContent = `${maxTemp}°C`;
document.getElementById('temp-min-display').textContent = `${minTemp}°C`;
document.getElementById('condition-display').textContent = conditionInfo.label;
document.getElementById('weather-icon-container').innerHTML = SVGS[conditionInfo.icon] || SVGS['sun-cloud'];
// Extract Hourly Data
const hourlyContainer = document.getElementById('hourly-container');
hourlyContainer.innerHTML = '';
const temps = data.hourly.temperature_2m;
const times = data.hourly.time;
if (temps && temps.length) {
const minH = Math.min(...temps);
const maxH = Math.max(...temps);
const range = (maxH - minH) || 1;
temps.forEach((temp, idx) => {
const val = Math.round(temp);
const timeRaw = times[idx];
const hourNum = new Date(timeRaw).getUTCHours();
const hourLabel = `${hourNum.toString().padStart(2, '0')}:00`;
// Relative height % for graph bar (clamped 15% to 100%)
const pct = Math.max(15, Math.round(((temp - minH) / range) * 100));
const card = document.createElement('div');
card.className = 'hourly-card';
card.innerHTML = `
<span class="hourly-time">${hourLabel}</span>
<span class="hourly-temp">${val}°</span>
<div class="temp-bar-wrapper">
<div class="temp-bar-fill" style="height: ${pct}%;"></div>
</div>
`;
hourlyContainer.appendChild(card);
});
}
// Hide Loader
document.getElementById('loading').style.opacity = '0';
setTimeout(() => {
document.getElementById('loading').style.display = 'none';
}, 400);
}
// Initialize on page load
window.addEventListener('DOMContentLoaded', fetchWeatherData);
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 20,158 | html / css / js | 2,670 / 7,939 / 9,549 |
|---|---|---|---|
| dom nodes | 43 | dom depth | 9 |
| css rules | 43 | js present | yes |
| brightness | 44.4 | contrast | 15.4 |
| colorfulness | 24.2 | whitespace | 76.9% |
This slot's telemetry
| prompt tokens | 348 | completion tokens | 7,661 |
|---|---|---|---|
| total tokens | 8,009 | wall | 31.5 s |
| cost | — | request id | — |
config.json596 B
{
"N": 4,
"auth": {
"credential_ref": "WCB_GEMINI_KEY",
"method": "api-key"
},
"billing": "metered",
"config_id": "gemini-3.6-flash-eff-low--api--official--dev",
"effort": "low",
"family": "gemini",
"m": {
"min": 4,
"q": 4
},
"model_id": "gemini-3.6-flash",
"protocol": "api",
"served_model": "gemini-3.6-flash",
"telemetry": {
"completion_tokens": 36981,
"cost_usd": null,
"prompt_tokens": 2748,
"total_tokens": 39729,
"wall_ms": 153309
},
"transport": "google-gemini-developer-api-openai-compat",
"vendor_sanction_ref": null
}send-log4.7 KB
{
"N": 4,
"batch_id": "2026-07-22--gemini-36flash",
"config_id": "gemini-3.6-flash-eff-low--api--official--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-22T07:40:58.633245+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-22T07:40:27.145334+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-07-22T07:41:15.590004+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-22T07:41:03.189197+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-07-22T07:41:39.734114+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-22T07:41:19.039485+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-07-22T07:41:53.130207+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-22T07:41:43.204029+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-07-22T07:42:07.835780+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-22T07:41:56.512443+00:00"
}
],
"block_index": 2,
"model_reaching_attempt_index": 0,
"slot_index": 2,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-22T07:42:34.126863+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-22T07:42:11.351116+00:00"
}
],
"block_index": 2,
"model_reaching_attempt_index": 0,
"slot_index": 2,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-22T07:42:47.327061+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-22T07:42:37.704351+00:00"
}
],
"block_index": 3,
"model_reaching_attempt_index": 0,
"slot_index": 3,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-22T07:43:25.841285+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-22T07:42:50.758578+00:00"
}
],
"block_index": 3,
"model_reaching_attempt_index": 0,
"slot_index": 3,
"terminal_state": "valid",
"variant": "P-q"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}