claude-fable-5 @ xhigh · cursor

cursorxhigh
config
claude-fable-5-eff-xhigh--cli--cursor--dev
batch
2026-07-19--unified
transport
cursor-agent-cli-isolated-home
protocol
cli · plan
served model
claude-fable-5-xhigh
captured
Jul 18, 2026, 11:54 AM · N=2
variant
live
slot 0 · P-q · sandboxed iframe
claude-fable-5 @xhigh · 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 neighborsNo similarity data for this session — this batch has no computed pairs.

Fidelity — does the card show the right data?

  • namematch
  • conditionmatch
  • datematch
  • max tempmatchshown: 25
  • min tempmatchshown: 16
  • hourlymismatchcoverage 0/24 · 0 match · 8 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, initial-scale=1">
<meta name="color-scheme" content="dark">
<title>Weather</title>
<style>
:root{--accent:#7dd3fc;--accent2:#38bdf8}
*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:
    radial-gradient(1100px 700px at 15% -10%, #182444 0%, rgba(24,36,68,0) 60%),
    radial-gradient(900px 650px at 108% 112%, #131f3a 0%, rgba(19,31,58,0) 55%),
    #090e1c;
  color:#e7edf7;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
.glow{position:fixed;left:50%;top:50%;width:980px;height:640px;transform:translate(-50%,-54%);
  background:radial-gradient(closest-side, var(--accent), transparent 72%);
  opacity:.13;filter:blur(80px);pointer-events:none;transition:background .6s ease}
.card{
  position:relative;width:1060px;max-width:calc(100vw - 80px);
  border-radius:28px;
  background:linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02) 45%, rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  padding:44px 52px 36px;
  animation:rise .65s cubic-bezier(.2,.7,.3,1) both;
}
@keyframes rise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.head{display:flex;align-items:flex-start;justify-content:space-between}
.loc{display:flex;align-items:center;gap:10px;font-size:30px;font-weight:650;letter-spacing:-.3px}
.loc svg{color:var(--accent);flex:none}
.date{margin-top:7px;font-size:15px;color:rgba(231,237,247,.55)}
.chip{
  padding:7px 15px;border-radius:999px;font-size:12px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);
  border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  background:color-mix(in srgb, var(--accent) 10%, transparent);
}
.hero{display:flex;align-items:center;gap:30px;margin:36px 0 32px}
.icon svg{width:134px;height:134px;display:block;filter:drop-shadow(0 14px 26px rgba(0,0,0,.4))}
.condwrap{max-width:320px}
.cond{font-size:27px;font-weight:650;line-height:1.18;letter-spacing:-.2px}
.coords{margin-top:9px;font-size:14px;color:rgba(231,237,247,.45);font-variant-numeric:tabular-nums}
.stats{margin-left:auto;display:flex;align-items:center;gap:42px;padding-right:6px}
.stat{text-align:left}
.lab{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(231,237,247,.45);margin-bottom:12px}
.val{font-size:84px;font-weight:200;line-height:.95;letter-spacing:-3px;font-variant-numeric:tabular-nums}
.val.hi{background:linear-gradient(180deg,#ffffff 12%,#aebedb 92%);-webkit-background-clip:text;background-clip:text;color:transparent}
.val.lo{color:#7f95b8}
.vdiv{width:1px;height:82px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.18),transparent)}
.panel{background:rgba(7,11,23,.38);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:22px 26px 14px}
.panel-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.ptitle{font-size:12px;font-weight:650;letter-spacing:.2em;text-transform:uppercase;color:rgba(231,237,247,.5)}
.unit{font-size:12px;color:rgba(231,237,247,.4);letter-spacing:.06em}
.chart{position:relative}
.chsvg{width:100%;height:auto;display:block;cursor:crosshair;overflow:visible}
.chsvg .line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s .2s cubic-bezier(.4,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.chsvg .area{animation:fadein .9s .5s both}
.chsvg > circle{animation:fadein .6s .9s both}
.chsvg text.tl{animation:fadein .6s 1s both}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.chsvg text{font-family:inherit}
.tl{fill:rgba(231,237,247,.78);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.al{fill:rgba(231,237,247,.38);font-size:11.5px;font-variant-numeric:tabular-nums}
.hv1{fill:#aebedb;font-size:11px;letter-spacing:.04em}
.hv2{fill:#ffffff;font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums}
.nohr{padding:56px 0 66px;text-align:center;font-size:15px;color:rgba(231,237,247,.45)}
.foot{margin-top:20px;display:flex;justify-content:space-between;font-size:12px;color:rgba(231,237,247,.32);letter-spacing:.03em}
.foot code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:rgba(231,237,247,.4)}
.load{display:flex;flex-direction:column;align-items:center;gap:20px;padding:160px 0}
.spin{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:var(--accent);animation:rot 1s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.load-t{font-size:14px;color:rgba(231,237,247,.5);letter-spacing:.06em}
.err{padding:96px 60px 104px;text-align:center}
.err svg{width:58px;height:58px;margin-bottom:22px;color:#f87171}
.err-h{font-size:23px;font-weight:650;margin-bottom:12px}
.err-m{font-size:15px;line-height:1.55;color:rgba(231,237,247,.6);max-width:520px;margin:0 auto}
.err-s{margin-top:22px;font-size:13px;color:rgba(231,237,247,.35)}
</style>
</head>
<body>
<div class="glow"></div>
<main id="app">
  <div class="card"><div class="load"><div class="spin"></div><div class="load-t">Loading weather…</div></div></div>
</main>
<script>
(function(){
"use strict";
var app=document.getElementById('app');
var esc=function(s){return String(s).replace(/[&<>"']/g,function(c){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[c];});};
var q=new URLSearchParams(location.search);
var num=function(v,d){var n=parseFloat(v);return isFinite(n)?n:d;};
var lat=num(q.get('lat'),52.52), lon=num(q.get('lon'),13.405);
var name=(q.get('name')||'').trim()||'Berlin';
var today=new Date().toISOString().slice(0,10);
var date=(q.get('date')||'').trim();
if(!/^\d{4}-\d{2}-\d{2}$/.test(date)||isNaN(Date.parse(date+'T00:00:00Z')))date=today;
var past=date<today, isToday=date===today;
var endpoint=past?'/api/om/archive':'/api/om/forecast';
var dateLabel=new Date(date+'T00:00:00Z').toLocaleDateString('en-GB',{weekday:'long',day:'numeric',month:'long',year:'numeric',timeZone:'UTC'});
var coord=Math.abs(lat).toFixed(2)+'\u00b0'+(lat>=0?'N':'S')+' \u00b7 '+Math.abs(lon).toFixed(2)+'\u00b0'+(lon>=0?'E':'W');

var WMO={0:['Clear sky','clear'],1:['Mainly clear','clear'],2:['Partly cloudy','partly'],3:['Overcast','cloudy'],
45:['Fog','fog'],48:['Rime fog','fog'],
51:['Light drizzle','drizzle'],53:['Drizzle','drizzle'],55:['Dense drizzle','drizzle'],56:['Freezing drizzle','drizzle'],57:['Freezing drizzle','drizzle'],
61:['Light rain','rain'],63:['Rain','rain'],65:['Heavy rain','rain'],66:['Freezing rain','rain'],67:['Freezing rain','rain'],
71:['Light snow','snow'],73:['Snow','snow'],75:['Heavy snow','snow'],77:['Snow grains','snow'],
80:['Light rain showers','rain'],81:['Rain showers','rain'],82:['Violent rain showers','rain'],
85:['Snow showers','snow'],86:['Heavy snow showers','snow'],
95:['Thunderstorm','thunder'],96:['Thunderstorm with hail','thunder'],99:['Thunderstorm with heavy hail','thunder']};
var THEME={clear:['#fbbf24','#f59e0b'],partly:['#93c5fd','#fbbf24'],cloudy:['#a3b3cf','#7d8fae'],fog:['#b7c3d6','#8b9ab0'],
drizzle:['#7dd3fc','#38bdf8'],rain:['#60a5fa','#3b82f6'],snow:['#bae6fd','#93c5fd'],thunder:['#c084fc','#8b5cf6'],na:['#94a3b8','#64748b']};

var PIN='<svg viewBox="0 0 24 24" width="21" height="21" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21s-7-5.1-7-11a7 7 0 1 1 14 0c0 5.9-7 11-7 11z"/><circle cx="12" cy="10" r="2.6"/></svg>';
var ALERT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M10.3 3.9 1.9 18a2 2 0 0 0 1.7 3h16.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"/><line x1="12" y1="9" x2="12" y2="13.5"/><circle cx="12" cy="17.2" r=".4" fill="currentColor"/></svg>';
var CLOUD='<circle cx="-12" cy="0" r="14"/><circle cx="8" cy="-6" r="18"/><rect x="-20" y="-2" width="44" height="18" rx="9"/>';

function sunRays(cx,cy,r1,r2,w){
  var s='<g stroke="#fbbf24" stroke-width="'+w+'" stroke-linecap="round">';
  for(var a=0;a<8;a++){var t=a*Math.PI/4;
    s+='<line x1="'+(cx+Math.cos(t)*r1).toFixed(1)+'" y1="'+(cy+Math.sin(t)*r1).toFixed(1)+'" x2="'+(cx+Math.cos(t)*r2).toFixed(1)+'" y2="'+(cy+Math.sin(t)*r2).toFixed(1)+'"/>';}
  return s+'</g>';
}
function icon(kind){
  var defs='<defs>'
    +'<linearGradient id="gs" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#fde68a"/><stop offset="1" stop-color="#f59e0b"/></linearGradient>'
    +'<linearGradient id="gc" gradientUnits="userSpaceOnUse" x1="20" y1="14" x2="70" y2="66"><stop offset="0" stop-color="#f2f6fc"/><stop offset="1" stop-color="#93a7c4"/></linearGradient>'
    +'<linearGradient id="gd" gradientUnits="userSpaceOnUse" x1="20" y1="10" x2="70" y2="60"><stop offset="0" stop-color="#b9c6da"/><stop offset="1" stop-color="#6e82a0"/></linearGradient>'
    +'<linearGradient id="gb" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fde047"/><stop offset="1" stop-color="#f59e0b"/></linearGradient>'
    +'</defs>';
  var body='';
  if(kind==='clear')body=sunRays(48,48,30,38,5.5)+'<circle cx="48" cy="48" r="20" fill="url(#gs)"/>';
  else if(kind==='partly')body=sunRays(36,34,19,26,4.5)+'<circle cx="36" cy="34" r="13" fill="url(#gs)"/><g transform="translate(56,54)" fill="url(#gc)">'+CLOUD+'</g>';
  else if(kind==='cloudy')body='<g transform="translate(60,40) scale(.78)" fill="url(#gd)">'+CLOUD+'</g><g transform="translate(44,52)" fill="url(#gc)">'+CLOUD+'</g>';
  else if(kind==='fog')body='<g transform="translate(48,34) scale(.92)" fill="url(#gc)">'+CLOUD+'</g><g stroke="#93a7c4" stroke-width="5" stroke-linecap="round"><line x1="24" y1="66" x2="70" y2="66"/><line x1="32" y1="77" x2="78" y2="77" opacity=".65"/></g>';
  else if(kind==='drizzle')body='<g transform="translate(48,36)" fill="url(#gc)">'+CLOUD+'</g><g stroke="#7dd3fc" stroke-width="5" stroke-linecap="round"><line x1="36" y1="62" x2="33" y2="70"/><line x1="50" y1="64" x2="47" y2="72"/><line x1="63" y1="62" x2="60" y2="70"/></g>';
  else if(kind==='rain')body='<g transform="translate(48,34)" fill="url(#gc)">'+CLOUD+'</g><g stroke="#60a5fa" stroke-width="5.5" stroke-linecap="round"><line x1="36" y1="60" x2="30" y2="76"/><line x1="51" y1="63" x2="45" y2="79"/><line x1="65" y1="60" x2="59" y2="76"/></g>';
  else if(kind==='snow')body='<g transform="translate(48,34)" fill="url(#gc)">'+CLOUD+'</g><g fill="#dbeafe"><circle cx="36" cy="65" r="3.4"/><circle cx="50" cy="74" r="3.4"/><circle cx="64" cy="65" r="3.4"/></g>';
  else if(kind==='thunder')body='<g transform="translate(48,32)" fill="url(#gc)">'+CLOUD+'</g><polygon points="52,48 39,72 49,72 44,92 65,64 53,64" fill="url(#gb)"/>';
  else body='<g transform="translate(48,44)" fill="url(#gd)">'+CLOUD+'</g>';
  return '<svg viewBox="0 0 96 96" aria-hidden="true">'+defs+body+'</svg>';
}

function pick(a){var v=Array.isArray(a)?a[0]:null;return(typeof v==='number'&&isFinite(v))?v:null;}

function chartSVG(times,temps,accent,accent2){
  var W=940,H=248,pl=18,pr=18,pt=42,pb=34;
  var n=temps.length,i;
  var pts=[];
  for(i=0;i<n;i++){var t=temps[i];if(typeof t==='number'&&isFinite(t))pts.push({i:i,t:t});}
  if(n<2||pts.length<2)return{html:'<div class="nohr">Hourly temperatures are unavailable for this date.</div>'};
  var mn=Infinity,mx=-Infinity;
  pts.forEach(function(p){if(p.t<mn)mn=p.t;if(p.t>mx)mx=p.t;});
  var span=(mx-mn)||1;
  var X=function(idx){return pl+idx*(W-pl-pr)/(n-1);};
  var Y=function(tv){return pt+(mx-tv)*(H-pt-pb)/span;};
  var P=pts.map(function(p){return{x:X(p.i),y:Y(p.t),i:p.i,t:p.t};});
  var d='M '+P[0].x.toFixed(1)+' '+P[0].y.toFixed(1);
  for(i=0;i<P.length-1;i++){
    var p0=P[Math.max(0,i-1)],p1=P[i],p2=P[i+1],p3=P[Math.min(P.length-1,i+2)];
    d+=' C '+(p1.x+(p2.x-p0.x)/6).toFixed(1)+' '+(p1.y+(p2.y-p0.y)/6).toFixed(1)
      +' '+(p2.x-(p3.x-p1.x)/6).toFixed(1)+' '+(p2.y-(p3.y-p1.y)/6).toFixed(1)
      +' '+p2.x.toFixed(1)+' '+p2.y.toFixed(1);
  }
  var area=d+' L '+P[P.length-1].x.toFixed(1)+' '+(H-pb)+' L '+P[0].x.toFixed(1)+' '+(H-pb)+' Z';
  var s='<svg viewBox="0 0 '+W+' '+H+'" class="chsvg">';
  s+='<defs><linearGradient id="ga" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+accent+'" stop-opacity=".32"/><stop offset="1" stop-color="'+accent+'" stop-opacity="0"/></linearGradient>'
    +'<linearGradient id="gl" x1="0" y1="0" x2="1" y2="0"><stop offset="0" stop-color="'+accent2+'"/><stop offset="1" stop-color="'+accent+'"/></linearGradient></defs>';
  for(var g=0;g<=3;g++){var gy=(pt+g*(H-pt-pb)/3).toFixed(1);
    s+='<line x1="'+pl+'" x2="'+(W-pr)+'" y1="'+gy+'" y2="'+gy+'" stroke="rgba(255,255,255,.06)" stroke-dasharray="2 5"/>';}
  s+='<path class="area" d="'+area+'" fill="url(#ga)"/>';
  s+='<path class="line" pathLength="1" d="'+d+'" fill="none" stroke="url(#gl)" stroke-width="2.5" stroke-linecap="round"/>';
  var iMax=0,iMin=0;
  P.forEach(function(p,idx){if(p.t>P[iMax].t)iMax=idx;if(p.t<P[iMin].t)iMin=idx;});
  P.forEach(function(p,idx){
    var sp=(idx===iMax||idx===iMin);
    s+='<circle cx="'+p.x.toFixed(1)+'" cy="'+p.y.toFixed(1)+'" r="'+(sp?4.5:2.6)+'" fill="'+(idx===iMin?'#8fb8ff':accent)+'" stroke="#0a0f1e" stroke-width="1.4"/>';
  });
  P.forEach(function(p){if(p.i%3===0)s+='<text class="tl" x="'+p.x.toFixed(1)+'" y="'+(p.y-12).toFixed(1)+'" text-anchor="middle">'+Math.round(p.t)+'\u00b0</text>';});
  for(i=0;i<n;i+=3){
    var hh=times[i]?String(times[i]).slice(11,16):(String(i).length<2?'0':'')+i+':00';
    s+='<text class="al" x="'+X(i).toFixed(1)+'" y="'+(H-8)+'" text-anchor="middle">'+hh+'</text>';
  }
  s+='<g class="hv" style="display:none"><line class="hvl" y1="'+pt+'" y2="'+(H-pb)+'" stroke="rgba(255,255,255,.28)" stroke-dasharray="3 4"/>'
    +'<circle class="hvc" r="5" fill="'+accent+'" stroke="#fff" stroke-width="1.6"/>'
    +'<g class="hvt"><rect x="-37" y="-48" width="74" height="40" rx="10" fill="rgba(8,12,24,.94)" stroke="rgba(255,255,255,.16)"/>'
    +'<text class="hv1" y="-32" text-anchor="middle"></text><text class="hv2" y="-15" text-anchor="middle"></text></g></g>';
  s+='</svg>';
  var byIndex={};P.forEach(function(p){byIndex[p.i]=p;});
  function wire(el){
    var svg=el.querySelector('svg');if(!svg)return;
    var hv=svg.querySelector('.hv'),ln=svg.querySelector('.hvl'),c=svg.querySelector('.hvc'),
        tip=svg.querySelector('.hvt'),t1=svg.querySelector('.hv1'),t2=svg.querySelector('.hv2');
    svg.addEventListener('mousemove',function(e){
      var r=svg.getBoundingClientRect();
      var mx=(e.clientX-r.left)*W/r.width;
      var idx=Math.round((mx-pl)/((W-pl-pr)/(n-1)));
      idx=Math.max(0,Math.min(n-1,idx));
      var p=byIndex[idx];
      if(!p){hv.style.display='none';return;}
      hv.style.display='';
      ln.setAttribute('x1',p.x);ln.setAttribute('x2',p.x);
      c.setAttribute('cx',p.x);c.setAttribute('cy',p.y);
      var tx=Math.max(pl+37,Math.min(W-pr-37,p.x));
      var ty=Math.max(pt+50,p.y);
      tip.setAttribute('transform','translate('+tx+' '+ty+')');
      t1.textContent=times[idx]?String(times[idx]).slice(11,16):((String(idx).length<2?'0':'')+idx+':00');
      t2.textContent=p.t.toFixed(1)+'\u00b0C';
    });
    svg.addEventListener('mouseleave',function(){hv.style.display='none';});
  }
  return{html:s,wire:wire};
}

function render(d){
  var daily=d.daily||{},hr=d.hourly||{};
  var times=Array.isArray(hr.time)?hr.time:[];
  var temps=Array.isArray(hr.temperature_2m)?hr.temperature_2m:[];
  var hTimes=[],hTemps=[],i;
  for(i=0;i<times.length;i++){if(String(times[i]).slice(0,10)===date){hTimes.push(times[i]);hTemps.push(temps[i]);}}
  if(!hTimes.length){hTimes=times;hTemps=temps;}
  var validH=hTemps.filter(function(t){return typeof t==='number'&&isFinite(t);});
  var tmax=pick(daily.temperature_2m_max),tmin=pick(daily.temperature_2m_min);
  if(tmax==null&&validH.length)tmax=Math.max.apply(null,validH);
  if(tmin==null&&validH.length)tmin=Math.min.apply(null,validH);
  if(tmax==null||tmin==null){renderError('The weather service returned no data for this date and location.');return;}
  var code=pick(daily.weather_code);
  var cond=WMO[code]||['Unknown conditions','na'];
  var th=THEME[cond[1]]||THEME.na;
  document.documentElement.style.setProperty('--accent',th[0]);
  document.documentElement.style.setProperty('--accent2',th[1]);
  var ch=chartSVG(hTimes,hTemps,th[0],th[1]);
  var chip=isToday?'Today':(past?'Archive':'Forecast');
  app.innerHTML='<div class="card">'
    +'<div class="head"><div><div class="loc">'+PIN+'<span>'+esc(name)+'</span></div><div class="date">'+dateLabel+'</div></div>'
    +'<div class="chip">'+chip+'</div></div>'
    +'<div class="hero">'
      +'<div class="icon">'+icon(cond[1])+'</div>'
      +'<div class="condwrap"><div class="cond">'+cond[0]+'</div><div class="coords">'+coord+'</div></div>'
      +'<div class="stats">'
        +'<div class="stat"><div class="lab">High</div><div class="val hi">'+Math.round(tmax)+'\u00b0</div></div>'
        +'<div class="vdiv"></div>'
        +'<div class="stat"><div class="lab">Low</div><div class="val lo">'+Math.round(tmin)+'\u00b0</div></div>'
      +'</div>'
    +'</div>'
    +'<div class="panel"><div class="panel-h"><span class="ptitle">Hourly temperature</span><span class="unit">\u00b0C \u00b7 UTC</span></div>'
    +'<div class="chart" id="chart">'+ch.html+'</div></div>'
    +'<div class="foot"><span>Open-Meteo compatible data \u00b7 Timezone UTC</span><code>'+endpoint+'</code></div>'
    +'</div>';
  if(ch.wire)ch.wire(document.getElementById('chart'));
  document.title=name+' \u2014 '+dateLabel;
}

function renderError(msg){
  document.documentElement.style.setProperty('--accent','#f87171');
  document.documentElement.style.setProperty('--accent2','#ef4444');
  app.innerHTML='<div class="card"><div class="err">'+ALERT
    +'<div class="err-h">Weather data unavailable</div>'
    +'<div class="err-m">'+esc(msg)+'</div>'
    +'<div class="err-s">'+esc(name)+' \u00b7 '+dateLabel+' \u00b7 '+coord+'</div>'
    +'</div></div>';
  document.title='Weather unavailable';
}

(async function(){
  try{
    var p=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:date,end_date:date
    });
    var res=await fetch(endpoint+'?'+p.toString());
    if(!res.ok)throw new Error('The weather service responded with HTTP '+res.status+'.');
    var d=await res.json();
    if(d&&d.error)throw new Error(d.reason||'The weather service returned an error.');
    render(d);
  }catch(e){
    renderError(e&&e.message?e.message:'The request to the weather service failed.');
  }
})();
})();
</script>
</body>
</html>

L1 — cheap deterministic descriptors

bytes total19,119html / css / js421 / 5,143 / 13,555
dom nodes15dom depth6
css rules59js presentyes
brightness24.5contrast17.6
colorfulness12.8whitespace93.6%

This slot's telemetry

prompt tokens26completion tokens52,270
total tokens52,296wall661.7 s
costrequest id
config.json583 B
{
  "N": 2,
  "auth": {
    "credential_ref": "WCB_NONE",
    "method": "oauth-login"
  },
  "billing": "plan",
  "config_id": "claude-fable-5-eff-xhigh--cli--cursor--dev",
  "effort": "xhigh",
  "family": "claude",
  "m": {
    "min": 2,
    "q": 2
  },
  "model_id": "claude-fable-5",
  "protocol": "cli",
  "served_model": "claude-fable-5-xhigh",
  "telemetry": {
    "completion_tokens": 131303,
    "cost_usd": null,
    "prompt_tokens": 64,
    "total_tokens": 131367,
    "wall_ms": 1715466
  },
  "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-fable-5-eff-xhigh--cli--cursor--dev",
  "positions": [
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-08-12T21:02:55.955323+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T21:01:26.220182+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-12T21:14:01.218213+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T21:02:59.460401+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-12T21:28:50.022675+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T21:14:04.400865+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-12T21:30:12.217165+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-08-12T21:28:53.827793+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
    }
  }
}