claude-fable-5 @ high · CC
CChigh
- config
- claude-fable-5-eff-high--cli--claude-code--dev
- batch
- 2026-07-19--unified
- transport
- claude-code-cli-headless
- protocol
- cli · plan
- served model
- claude-fable-5
- 采集于
- 2026年7月18日 11:54 · N=2
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
claude-opus-4-8 @xhigh · kiro0.70gpt-5.6-sol @none · codex-oauth0.67gpt-5.4 @high · api0.66claude-fable-5 @xhigh · CC0.64deepseek-v4-pro · go0.64最远
grok-4.3 @medium · api0.44gpt-5.6-luna @high · kiro0.44deepseek-v4-flash · opencode0.44claude-haiku-4-5 @xhigh · CC0.44north-mini-code-free · api0.45限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempmismatch展示值:13.405
- min tempmatch展示值:16
- hourlymismatchcoverage 0/24 · 0 命中 · 8 不符 · 16 未展示
- request sidematch0 处违规
extractor fidelity-extractor-v1+Berlin-2026-07-15
源码 —— 原始模型输出,一字节未改
下载 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>
:root{
--bg1:#3f7fd6; --bg2:#9dc7ef;
--accent:#f59e0b; --accent-soft:rgba(245,158,11,.16);
--ink:#0f1c2e; --ink-soft:#51637c; --ink-faint:#8fa1b8;
--card:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
background:linear-gradient(160deg,var(--bg1) 0%,var(--bg2) 100%);
min-height:800px;
display:flex;align-items:center;justify-content:center;
color:var(--ink);
-webkit-font-smoothing:antialiased;
transition:background .6s ease;
}
.scene{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.scene .orb{
position:absolute;border-radius:50%;
background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.5),rgba(255,255,255,0) 70%);
filter:blur(2px);
}
.scene .o1{width:520px;height:520px;top:-180px;left:-120px}
.scene .o2{width:380px;height:380px;bottom:-140px;right:8%;opacity:.7}
.scene .o3{width:220px;height:220px;top:14%;right:-70px;opacity:.5}
.card{
position:relative;
width:1080px;
background:var(--card);
border-radius:28px;
box-shadow:0 40px 90px -30px rgba(10,25,50,.45), 0 4px 18px rgba(10,25,50,.12);
padding:44px 52px 40px;
overflow:hidden;
}
.card::before{
content:"";position:absolute;inset:0 0 auto 0;height:6px;
background:linear-gradient(90deg,var(--bg1),var(--accent),var(--bg2));
opacity:.9;
}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.loc h1{font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.loc .date{margin-top:8px;font-size:17px;color:var(--ink-soft);font-weight:500}
.loc .coords{margin-top:4px;font-size:13px;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.cond{
display:flex;align-items:center;gap:10px;
background:var(--accent-soft);
border-radius:999px;padding:10px 20px 10px 14px;
font-size:16px;font-weight:600;color:var(--ink);
white-space:nowrap;
}
.cond svg{width:26px;height:26px;display:block}
.hero{display:flex;align-items:center;gap:44px;margin:36px 0 10px}
.hero .icon{width:132px;height:132px;flex:none}
.hero .icon svg{width:100%;height:100%;display:block;filter:drop-shadow(0 10px 18px rgba(10,25,50,.18))}
.temps{display:flex;align-items:baseline;gap:36px}
.tmax .val{font-size:96px;font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.tmax .val sup{font-size:38px;font-weight:500;color:var(--ink-soft);vertical-align:super}
.tlabel{margin-top:8px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.tmin .val{font-size:52px;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.tmin .val sup{font-size:24px;font-weight:500;vertical-align:super}
.divider{width:1px;align-self:stretch;background:linear-gradient(180deg,transparent,#dbe3ee 30%,#dbe3ee 70%,transparent)}
.chart-section{margin-top:26px}
.chart-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.chart-head h2{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.chart-head .range{font-size:13px;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.chart-wrap{position:relative}
#chart{display:block;width:100%;height:auto}
.tooltip{
position:absolute;pointer-events:none;opacity:0;transition:opacity .12s;
background:var(--ink);color:#fff;border-radius:10px;padding:7px 12px;
font-size:13px;font-weight:600;white-space:nowrap;transform:translate(-50%,-130%);
box-shadow:0 8px 20px rgba(10,25,50,.3);font-variant-numeric:tabular-nums;
}
.tooltip .hr{color:rgba(255,255,255,.65);font-weight:500;margin-right:6px}
.state{padding:110px 40px;text-align:center}
.state .spin{
width:44px;height:44px;margin:0 auto 22px;border-radius:50%;
border:4px solid #e3eaf4;border-top-color:var(--bg1);
animation:spin .9s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.state p{font-size:17px;color:var(--ink-soft)}
.state.error .glyph{font-size:44px;margin-bottom:16px}
.state.error h2{font-size:24px;font-weight:700;margin-bottom:10px}
.state.error .detail{margin-top:10px;font-size:13px;color:var(--ink-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.hidden{display:none}
</style>
</head>
<body>
<div class="scene"><div class="orb o1"></div><div class="orb o2"></div><div class="orb o3"></div></div>
<main class="card" id="card">
<div class="state" id="loading">
<div class="spin"></div>
<p>Loading weather…</p>
</div>
<div class="state error hidden" id="error">
<div class="glyph">⛅</div>
<h2>Weather data could not be loaded</h2>
<p>Something went wrong while fetching the forecast for this location and date.</p>
<div class="detail" id="error-detail"></div>
</div>
<div id="content" class="hidden">
<div class="top">
<div class="loc">
<h1 id="loc-name"></h1>
<div class="date" id="loc-date"></div>
<div class="coords" id="loc-coords"></div>
</div>
<div class="cond"><span id="cond-icon-sm"></span><span id="cond-text"></span></div>
</div>
<div class="hero">
<div class="icon" id="cond-icon-lg"></div>
<div class="temps">
<div class="tmax">
<div class="val" id="tmax"></div>
<div class="tlabel">High</div>
</div>
<div class="divider"></div>
<div class="tmin">
<div class="val" id="tmin"></div>
<div class="tlabel">Low</div>
</div>
</div>
</div>
<div class="chart-section">
<div class="chart-head">
<h2>Hourly temperature · °C</h2>
<div class="range" id="chart-range"></div>
</div>
<div class="chart-wrap">
<svg id="chart" viewBox="0 0 976 250" role="img" aria-label="Hourly temperature chart"></svg>
<div class="tooltip" id="tooltip"></div>
</div>
</div>
</div>
</main>
<script>
(function(){
"use strict";
/* ---------- query params ---------- */
var q = new URLSearchParams(location.search);
var lat = parseFloat(q.get("lat")); if (!isFinite(lat)) lat = 52.52;
var lon = parseFloat(q.get("lon")); if (!isFinite(lon)) lon = 13.405;
var name = q.get("name") || "Berlin";
var todayUTC = new Date().toISOString().slice(0,10);
var date = q.get("date");
if (!date || !/^\d{4}-\d{2}-\d{2}$/.test(date)) date = todayUTC;
/* ---------- WMO weather codes ---------- */
var WMO = {
0:["Clear sky","clear"],1:["Mainly clear","clear"],2:["Partly cloudy","partly"],3:["Overcast","cloud"],
45:["Fog","fog"],48:["Depositing rime fog","fog"],
51:["Light drizzle","rain"],53:["Drizzle","rain"],55:["Dense drizzle","rain"],
56:["Freezing drizzle","rain"],57:["Dense freezing drizzle","rain"],
61:["Slight rain","rain"],63:["Rain","rain"],65:["Heavy rain","rain"],
66:["Freezing rain","rain"],67:["Heavy freezing rain","rain"],
71:["Slight snowfall","snow"],73:["Snowfall","snow"],75:["Heavy snowfall","snow"],77:["Snow grains","snow"],
80:["Rain showers","rain"],81:["Moderate 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"]
};
var THEMES = {
clear: {bg1:"#3f7fd6",bg2:"#a5cdf2",accent:"#f59e0b",soft:"rgba(245,158,11,.15)"},
partly:{bg1:"#4a7cc0",bg2:"#a9c4e2",accent:"#e8940c",soft:"rgba(232,148,12,.14)"},
cloud: {bg1:"#5b6d84",bg2:"#a8b6c8",accent:"#64748b",soft:"rgba(100,116,139,.14)"},
fog: {bg1:"#7d8a99",bg2:"#c3ccd6",accent:"#94a3b8",soft:"rgba(148,163,184,.18)"},
rain: {bg1:"#2d4f8f",bg2:"#7ba3cf",accent:"#2563eb",soft:"rgba(37,99,235,.12)"},
snow: {bg1:"#6d93bd",bg2:"#dbe9f5",accent:"#0ea5e9",soft:"rgba(14,165,233,.12)"},
storm: {bg1:"#3b3563",bg2:"#8a84b8",accent:"#7c3aed",soft:"rgba(124,58,237,.13)"}
};
/* ---------- icons (inline SVG) ---------- */
function icon(kind, accent){
var sun = '<circle cx="32" cy="32" r="13" fill="'+accent+'"/><g stroke="'+accent+'" stroke-width="4" stroke-linecap="round">'+
'<line x1="32" y1="6" x2="32" y2="14"/><line x1="32" y1="50" x2="32" y2="58"/>'+
'<line x1="6" y1="32" x2="14" y2="32"/><line x1="50" y1="32" x2="58" y2="32"/>'+
'<line x1="13.6" y1="13.6" x2="19.3" y2="19.3"/><line x1="44.7" y1="44.7" x2="50.4" y2="50.4"/>'+
'<line x1="13.6" y1="50.4" x2="19.3" y2="44.7"/><line x1="44.7" y1="19.3" x2="50.4" y2="13.6"/></g>';
var cloudPath = 'M20 46a10 10 0 0 1-1.4-19.9A14 14 0 0 1 45.8 29 9 9 0 0 1 44 46Z';
var cloud = '<path d="'+cloudPath+'" fill="#b9c6d6"/>';
var map = {
clear: sun,
partly: '<g transform="translate(-4,-4) scale(.72)">'+sun+'</g><path d="'+cloudPath+'" transform="translate(6,10) scale(.9)" fill="#c9d4e2"/>',
cloud: '<path d="'+cloudPath+'" transform="translate(-5,2)" fill="#c9d4e2"/><path d="'+cloudPath+'" transform="translate(7,10) scale(.85)" fill="#9fb0c4"/>',
fog: cloud+'<g stroke="#8fa1b8" stroke-width="4" stroke-linecap="round"><line x1="14" y1="52" x2="50" y2="52"/><line x1="20" y1="60" x2="44" y2="60"/></g>',
rain: '<path d="'+cloudPath+'" transform="translate(0,-4)" fill="#9fb0c4"/><g stroke="'+accent+'" stroke-width="4" stroke-linecap="round"><line x1="22" y1="48" x2="19" y2="58"/><line x1="33" y1="48" x2="30" y2="58"/><line x1="44" y1="48" x2="41" y2="58"/></g>',
snow: '<path d="'+cloudPath+'" transform="translate(0,-4)" fill="#b9c6d6"/><g fill="'+accent+'"><circle cx="22" cy="52" r="3"/><circle cx="33" cy="58" r="3"/><circle cx="44" cy="52" r="3"/></g>',
storm: '<path d="'+cloudPath+'" transform="translate(0,-4)" fill="#8b84b8"/><path d="M33 42 24 56h7l-3 12 12-16h-7l4-10Z" fill="'+accent+'"/>'
};
return '<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">'+(map[kind]||map.cloud)+'</svg>';
}
/* ---------- helpers ---------- */
function $(id){ return document.getElementById(id); }
function fmt1(v){ return (Math.round(v*10)/10).toFixed(1).replace(/\.0$/,""); }
function fmtDate(d){
var dt = new Date(d+"T00:00:00Z");
return dt.toLocaleDateString("en-GB",{weekday:"long",day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});
}
function showError(msg){
$("loading").classList.add("hidden");
$("content").classList.add("hidden");
$("error").classList.remove("hidden");
$("error-detail").textContent = msg || "";
}
/* ---------- chart ---------- */
function drawChart(hours, temps, accent){
var W=976,H=250,L=42,R=14,T=18,B=30;
var iw=W-L-R, ih=H-T-B;
var vals = temps.filter(function(v){return v!=null && isFinite(v);});
if (!vals.length) return null;
var lo = Math.min.apply(null,vals), hi = Math.max.apply(null,vals);
var pad = Math.max((hi-lo)*0.18, 1);
var y0 = Math.floor(lo-pad), y1 = Math.ceil(hi+pad);
var n = temps.length;
function X(i){ return L + (n>1 ? iw*i/(n-1) : iw/2); }
function Y(v){ return T + ih*(1-(v-y0)/(y1-y0)); }
var s = '<defs><linearGradient id="area" x1="0" y1="0" x2="0" y2="1">'+
'<stop offset="0%" stop-color="'+accent+'" stop-opacity=".28"/>'+
'<stop offset="100%" stop-color="'+accent+'" stop-opacity="0"/></linearGradient></defs>';
/* y gridlines + labels */
var ticks = 4;
for (var t=0;t<=ticks;t++){
var v = y0 + (y1-y0)*t/ticks, gy = Y(v);
s += '<line x1="'+L+'" y1="'+gy+'" x2="'+(W-R)+'" y2="'+gy+'" stroke="#e8edf4" stroke-width="1"'+(t===0?'':' stroke-dasharray="1 4"')+'/>';
s += '<text x="'+(L-9)+'" y="'+(gy+4)+'" text-anchor="end" font-size="11" fill="#8fa1b8">'+Math.round(v)+'°</text>';
}
/* x labels every 3h */
for (var i=0;i<n;i+=3){
s += '<text x="'+X(i)+'" y="'+(H-8)+'" text-anchor="middle" font-size="11" fill="#8fa1b8">'+
String(hours[i]).padStart(2,"0")+':00</text>';
}
/* smooth line (catmull-rom → bezier), skipping nulls by segment */
var pts = temps.map(function(v,i){ return v==null||!isFinite(v) ? null : [X(i),Y(v)]; });
function seg(pl){
if (pl.length<2) return "";
var d="M"+pl[0][0].toFixed(1)+" "+pl[0][1].toFixed(1);
for (var i=0;i<pl.length-1;i++){
var p0=pl[i-1]||pl[i], p1=pl[i], p2=pl[i+1], p3=pl[i+2]||p2;
var c1x=p1[0]+(p2[0]-p0[0])/6, c1y=p1[1]+(p2[1]-p0[1])/6;
var c2x=p2[0]-(p3[0]-p1[0])/6, c2y=p2[1]-(p3[1]-p1[1])/6;
d+="C"+c1x.toFixed(1)+" "+c1y.toFixed(1)+" "+c2x.toFixed(1)+" "+c2y.toFixed(1)+" "+p2[0].toFixed(1)+" "+p2[1].toFixed(1);
}
return d;
}
var runs=[],cur=[];
pts.forEach(function(p){ if(p){cur.push(p);} else if(cur.length){runs.push(cur);cur=[];} });
if (cur.length) runs.push(cur);
runs.forEach(function(r){
var d = seg(r);
if (!d) return;
var last=r[r.length-1], first=r[0];
s += '<path d="'+d+' L'+last[0].toFixed(1)+' '+(T+ih)+' L'+first[0].toFixed(1)+' '+(T+ih)+' Z" fill="url(#area)"/>';
s += '<path d="'+d+'" fill="none" stroke="'+accent+'" stroke-width="2.5" stroke-linecap="round"/>';
});
/* min / max markers */
var iMax=-1,iMin=-1;
temps.forEach(function(v,i){
if(v==null||!isFinite(v))return;
if(iMax<0||v>temps[iMax])iMax=i;
if(iMin<0||v<temps[iMin])iMin=i;
});
[iMax,iMin].forEach(function(i,k){
if(i<0)return;
var x=X(i),y=Y(temps[i]);
s += '<circle cx="'+x+'" cy="'+y+'" r="4.5" fill="#fff" stroke="'+accent+'" stroke-width="2.5"/>';
var ty = k===0 ? y-11 : y+20;
var anchor = i<2?"start":(i>n-3?"end":"middle");
s += '<text x="'+x+'" y="'+ty+'" text-anchor="'+anchor+'" font-size="12" font-weight="700" fill="#0f1c2e">'+fmt1(temps[i])+'°</text>';
});
/* hover crosshair + capture rect */
s += '<line id="xhair" x1="0" y1="'+T+'" x2="0" y2="'+(T+ih)+'" stroke="#c2cedd" stroke-width="1" opacity="0"/>';
s += '<circle id="hoverdot" r="4" fill="'+accent+'" opacity="0"/>';
s += '<rect id="capture" x="'+L+'" y="'+T+'" width="'+iw+'" height="'+ih+'" fill="transparent"/>';
$("chart").innerHTML = s;
/* interaction */
var svg=$("chart"), tip=$("tooltip"), xh=svg.querySelector("#xhair"), dot=svg.querySelector("#hoverdot");
svg.addEventListener("mousemove",function(e){
var r=svg.getBoundingClientRect();
var mx=(e.clientX-r.left)*W/r.width;
var i=Math.round((mx-L)/(iw/(n-1)));
i=Math.max(0,Math.min(n-1,i));
var v=temps[i];
if(v==null||!isFinite(v)){ tip.style.opacity=0; xh.setAttribute("opacity",0); dot.setAttribute("opacity",0); return; }
var x=X(i),y=Y(v);
xh.setAttribute("x1",x); xh.setAttribute("x2",x); xh.setAttribute("opacity",1);
dot.setAttribute("cx",x); dot.setAttribute("cy",y); dot.setAttribute("opacity",1);
tip.innerHTML='<span class="hr">'+String(hours[i]).padStart(2,"0")+':00</span>'+fmt1(v)+' °C';
tip.style.left=(x*r.width/W)+"px";
tip.style.top =(y*r.height/H)+"px";
tip.style.opacity=1;
});
svg.addEventListener("mouseleave",function(){
tip.style.opacity=0; xh.setAttribute("opacity",0); dot.setAttribute("opacity",0);
});
return {lo:lo,hi:hi};
}
/* ---------- fetch + render ---------- */
var base = date < todayUTC ? "/api/om/archive" : "/api/om/forecast";
var 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(function(r){
if(!r.ok) throw new Error("HTTP "+r.status);
return r.json();
})
.then(function(data){
var daily=data.daily, hourly=data.hourly;
if(!daily||!daily.time||!daily.time.length||!hourly||!hourly.time||!hourly.time.length)
throw new Error("No data returned for this date");
var tmax=daily.temperature_2m_max[0], tmin=daily.temperature_2m_min[0];
var code=daily.weather_code[0];
if(tmax==null||tmin==null) throw new Error("No temperature data for this date");
var meta = WMO[code] || ["Unknown conditions","cloud"];
var theme = THEMES[meta[1]] || THEMES.cloud;
var rs=document.documentElement.style;
rs.setProperty("--bg1",theme.bg1); rs.setProperty("--bg2",theme.bg2);
rs.setProperty("--accent",theme.accent); rs.setProperty("--accent-soft",theme.soft);
$("loc-name").textContent = name;
$("loc-date").textContent = fmtDate(date);
$("loc-coords").textContent = lat.toFixed(3)+"°, "+lon.toFixed(3)+"° · UTC";
$("cond-text").textContent = meta[0];
$("cond-icon-sm").innerHTML = icon(meta[1], theme.accent);
$("cond-icon-lg").innerHTML = icon(meta[1], theme.accent);
$("tmax").innerHTML = fmt1(tmax)+"<sup>°C</sup>";
$("tmin").innerHTML = fmt1(tmin)+"<sup>°C</sup>";
var hours=[], temps=[];
hourly.time.forEach(function(t,i){
if(t.slice(0,10)===date){
hours.push(parseInt(t.slice(11,13),10));
temps.push(hourly.temperature_2m[i]);
}
});
if(!hours.length) throw new Error("No hourly data for this date");
var ext = drawChart(hours, temps, theme.accent);
if(ext) $("chart-range").textContent = "range "+fmt1(ext.lo)+"° – "+fmt1(ext.hi)+"°";
$("loading").classList.add("hidden");
$("content").classList.remove("hidden");
})
.catch(function(err){
showError(String(err && err.message || err));
});
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 18,132 | html / css / js | 1,860 / 4,517 / 11,755 |
|---|---|---|---|
| dom 节点 | 47 | dom 深度 | 8 |
| css 规则 | 44 | 含 js | 是 |
| brightness | 205.2 | contrast | 63.1 |
| colorfulness | 42.8 | 留白 | 63.9% |
该 slot 的 telemetry
| prompt tokens | 4 | completion tokens | 11,335 |
|---|---|---|---|
| total tokens | 11,339 | wall | 133.1 s |
| cost | — | request id | — |
config.json571 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-fable-5-eff-high--cli--claude-code--dev",
"effort": "high",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-fable-5",
"protocol": "cli",
"served_model": "claude-fable-5",
"telemetry": {
"completion_tokens": 37197,
"cost_usd": null,
"prompt_tokens": 14,
"total_tokens": 37211,
"wall_ms": 434569
},
"transport": "claude-code-cli-headless",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-07-17--dev-cc-fable5",
"config_id": "claude-fable-5-eff-high--cli--claude-code--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T13:47:06.171373+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T13:44:53.109594+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-17T13:47:57.710887+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T13:47:10.467931+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-17T13:48:48.342406+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T13:48:01.162462+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-17T13:52:18.936668+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T13:48:51.838804+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-q"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}