qwen3.7-plus · opencode

opencodepatched
config
qwen3.7-plus--cli--opencode--dev
batch
2026-07-19--unified
transport
opencode-cli-isolated-xdg-go-subscription
protocol
cli · plan
served model
qwen3.7-plus
captured
Jul 18, 2026, 11:54 AM · N=2
variant
render
live
patched · render fixThe weather-code map WC had a malformed, duplicated '63' entry whose value was written as a bare string instead of a [label, emoji] array (`'63':'Moderate rain','\uD83C\uDF27']`), producing a JavaScript SyntaxError ('Unexpected token ]'). The entire inline script failed to parse and the card rendered fully blank. Fix: insert the single missing '[' so it becomes `'63':['Moderate rain','\uD83C\uDF27']`, matching the model's own correctly-formed '63' entry on the very next line. One-character syntax repair — no content, data, or design changed. The original output is preserved and viewable — toggle render above. view diff ↗
— wcb-render-census (Claude Opus 4.8 agent), Jul 19, 2026, 6:29 AM
slot 0 · P-q · sandboxed iframe
qwen3.7-plus · opencode P-q slot 0 screenshot

metrics refer to the original output

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?

  • namenot-foundno-visible-text
  • conditionnot-foundno-condition-text
  • datenot-foundno-parseable-date
  • max tempnot-foundno-temperature-candidate
  • min tempnot-foundno-temperature-candidate
  • hourlynot-foundcoverage · 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=1280">
<title>Weather</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
html,body{
  width:100%;height:100%;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  background:#080c18;
  background-image:
    radial-gradient(ellipse 900px 700px at 18% 45%,rgba(56,88,180,0.10),transparent),
    radial-gradient(ellipse 700px 550px at 82% 18%,rgba(140,80,200,0.07),transparent),
    radial-gradient(ellipse 600px 500px at 65% 85%,rgba(40,120,180,0.06),transparent);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
.card{
  width:640px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:28px;
  padding:40px 48px 32px;
  backdrop-filter:blur(40px);
  -webkit-backdrop-filter:blur(40px);
  box-shadow:0 30px 80px rgba(0,0,0,0.5),0 0 0 0.5px rgba(255,255,255,0.05) inset;
  animation:cardIn .7s cubic-bezier(.23,1,.32,1) both;
}
@keyframes cardIn{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
.loc{font-size:32px;font-weight:600;letter-spacing:-.4px;line-height:1.2}
.dt{font-size:14px;color:rgba(255,255,255,0.4);margin-top:5px;font-weight:400}
.wx{display:flex;align-items:center;gap:24px;margin-top:30px}
.ic{font-size:76px;line-height:1;filter:drop-shadow(0 4px 16px rgba(0,0,0,.3))}
.tp{font-size:82px;font-weight:200;letter-spacing:-3px;line-height:1;font-variant-numeric:tabular-nums}
.tp span{font-size:34px;vertical-align:super;letter-spacing:0;font-weight:300}
.hl{display:flex;gap:20px;margin-top:10px;font-size:15px;font-weight:400}
.hi{color:#ff8a50}.lo{color:#4fc3f7}
.cn{font-size:16px;color:rgba(255,255,255,0.45);margin-top:4px;font-weight:400}
.dv{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08) 15%,rgba(255,255,255,0.08) 85%,transparent);margin:28px 0 22px}
.ch{font-size:11px;color:rgba(255,255,255,0.22);text-transform:uppercase;letter-spacing:1.5px;font-weight:600;margin-bottom:10px}
.cw{position:relative;width:100%;height:150px}
.cw svg{display:block;width:100%;height:150px;overflow:visible}
.gl{stroke:rgba(255,255,255,0.035);stroke-width:.5}
.al{fill:none;stroke:rgba(255,255,255,0.08);stroke-width:.8;stroke-dasharray:3 3}
.tl{fill:rgba(255,255,255,0.5);font-size:10.5px;font-family:inherit}
.tt{fill:rgba(255,255,255,0.88);font-size:11.5px;font-family:inherit;font-weight:600}
.hv{position:absolute;top:0;left:0;width:100%;height:100%;cursor:crosshair}
.hr{display:none;stroke:rgba(255,255,255,0.18);stroke-width:1;stroke-dasharray:4 3;pointer-events:none}
.hd{display:none;fill:#fff;filter:drop-shadow(0 0 6px rgba(255,255,255,.4));pointer-events:none}
.ht{display:none;pointer-events:none;font-size:12px;font-family:inherit;font-weight:600;fill:#fff}
.hb{display:none;fill:rgba(0,0,0,.55);rx:5;ry:5;pointer-events:none}
.ft{margin-top:18px;text-align:center;font-size:10.5px;color:rgba(255,255,255,0.15);letter-spacing:.3px}
.err{text-align:center;padding:60px 20px}
.ei{font-size:52px;margin-bottom:16px;opacity:.7}
.em{font-size:17px;color:rgba(255,255,255,0.55);line-height:1.7}
.em strong{color:rgba(255,255,255,0.8);font-weight:600}
@keyframes areaIn{from{opacity:0}to{opacity:1}}
.area-anim{animation:areaIn .9s .25s ease both}
.line-anim{animation:areaIn .7s .2s ease both}
</style>
</head>
<body>
<div id="app"></div>
<script>
(function(){
'use strict';

var WC={
'0':['Clear sky','\u2600\uFE0F'],'1':['Mainly clear','\uD83C\uDF24'],
'2':['Partly cloudy','\u26C5'],'3':['Overcast','\u2601\uFE0F'],
'45':['Fog','\uD83C\uDF2B'],'48':['Rime fog','\uD83C\uDF2B'],
'51':['Light drizzle','\uD83C\uDF26'],'53':['Drizzle','\uD83C\uDF26'],
'55':['Dense drizzle','\uD83C\uDF27'],'56':['Freezing drizzle','\uD83C\uDF27'],
'57':['Freezing drizzle','\uD83C\uDF27'],
'61':['Slight rain','\uD83C\uDF26'],'63':'Moderate rain','\uD83C\uDF27'],
'63':['Moderate rain','\uD83C\uDF27'],'65':['Heavy rain','\uD83C\uDF27'],
'66':['Freezing rain','\uD83C\uDF27'],'67':['Freezing rain','\uD83C\uDF27'],
'71':['Slight snow','\uD83C\uDF28'],'73':['Snow','\uD83C\uDF28'],
'75':['Heavy snow','\u2744\uFE0F'],'77':['Snow grains','\uD83C\uDF28'],
'80':['Slight showers','\uD83C\uDF26'],'81':['Showers','\uD83C\uDF27'],
'82':['Violent showers','\uD83C\uDF27'],
'85':['Slight snow showers','\uD83C\uDF28'],'86':['Snow showers','\uD83C\uDF28'],
'95':['Thunderstorm','\u26C8\uFE0F'],'96':['Thunderstorm w/ hail','\u26C8\uFE0F'],
'99':['Thunderstorm w/ hail','\u26C8\uFE0F']
};

function gd(s){return s?new Date(s+'T00:00:00Z'):new Date()}
function td(){var d=new Date();return d.getUTCFullYear()+'-'+String(d.getUTCMonth()+1).padStart(2,'0')+'-'+String(d.getUTCDate()).padStart(2,'0')}
function fd(s){var d=gd(s);return d.toLocaleDateString('en-US',{weekday:'long',year:'numeric',month:'long',day:'numeric',timeZone:'UTC'})}
function gp(){var p=new URLSearchParams(location.search);return{lat:p.get('lat')||'52.52',lon:p.get('lon')||'13.405',name:p.get('name')||'Berlin',date:p.get('date')||td()}}
function gw(c){var e=WC[String(c)];return e||['Unknown','\uD83C\uDF21']}
function gi(n){return n.split(/\s+/).map(function(w){return w[0]}).join('').substring(0,2).toUpperCase()}

async function main(){
var app=document.getElementById('app'),pm=gp(),ds=gd(pm.date),now=new Date();
now.setUTCHours(now.getUTCHours()-now.getUTCMilliseconds()/1000,0,0);
var past=ds<new Date(Date.UTC(now.getUTCFullYear(),now.getUTCMonth(),now.getUTCDate()));
var ep=past?'/api/om/archive':'/api/om/forecast';
var qs=new URLSearchParams({
latitude:pm.lat,longitude:pm.lon,
daily:'temperature_2m_max,temperature_2m_min,weather_code',
hourly:'temperature_2m',timezone:'UTC',
temperature_unit:'celsius',start_date:pm.date,end_date:pm.date
});

try{
var r=await fetch(ep+'?'+qs);
if(!r.ok)throw new Error('HTTP '+r.status);
var d=await r.json();
if(!d.daily||!d.hourly)throw new Error('Invalid data');
var dy=d.daily,hh=d.hourly;
if(!dy.temperature_2m_max||!dy.temperature_2m_max[0]&&dy.temperature_2m_max[0]!==0)throw new Error('No daily data');
if(!hh.temperature_2m||!hh.temperature_2m.length)throw new Error('No hourly data');

var mx=dy.temperature_2m_max[0],mn=dy.temperature_2m_min[0],wc=dy.weather_code[0],w=gw(wc);
var tm=hh.temperature_2m,tl=hh.time.map(function(t){return t.substring(11,16)});
var ini=gi(pm.name);

app.innerHTML=
'<div class="card">'+
  '<div class="loc">'+pm.name+'</div>'+
  '<div class="dt">'+fd(pm.date)+'</div>'+
  '<div class="wx">'+
    '<div class="ic">'+w[1]+'</div>'+
    '<div><div class="tp">'+Math.round(mx)+'<span>\u00B0C</span></div>'+
    '<div class="hl"><span class="hi">\u2191 '+Math.round(mx)+'\u00B0</span><span class="lo">\u2193 '+Math.round(mn)+'\u00B0</span></div>'+
    '<div class="cn">'+w[0]+'</div></div>'+
  '</div>'+
  '<div class="dv"></div>'+
  '<div class="ch">Hourly Temperature</div>'+
  '<div class="cw" id="cw">'+bc(tm,tl)+'</div>'+
  '<div class="ft">Open-Meteo \u00B0C \u00B7 UTC</div>'+
'</div>';

sh(tm,tl,mx,mn);

}catch(e){
app.innerHTML='<div class="card"><div class="err"><div class="ei">\u26A0\uFE0F</div><div class="em"><strong>Unable to load weather data</strong><br>'+e.message+'</div></div></div>';
}
}

function bc(tm,tl){
var W=660,H=140,n=tm.length;if(!n)return'';
var vs=tm.filter(function(v){return v!=null}),vmin=Math.min.apply(null,vs),vmx=Math.max.apply(null,vs);
var rg=vmx-vmin||1,pd=rg*.18,smin=vmin-pd,smx=vmx+pd,srg=smx-smin||1;
var sx=function(i){return(i/(n-1))*W},sy=function(v){return H-((v-smin)/srg)*H};

var p='',i,x,y;
for(i=0;i<n;i++){if(tm[i]==null)continue;x=sx(i).toFixed(1);y=sy(tm[i]).toFixed(1);p+=(p?'L':'M')+x+','+y+' ';}

var ap=p+'L'+sx(n-1).toFixed(1)+','+H+' L0,'+H+' Z';

var gs='',i1=Math.floor(n/4),i2=Math.floor(n/2),i3=Math.floor(3*n/4);
var y1=sy(tm[i1]).toFixed(1),y2=sy(tm[i2]).toFixed(1),y3=sy(tm[i3]).toFixed(1);
gs+='<line x1="'+sx(i1).toFixed(1)+'" y1="'+y1+'" x2="'+sx(i1).toFixed(1)+'" y2="'+H+'" class="gl"/>';
gs+='<line x1="'+sx(i2).toFixed(1)+'" y1="'+y2+'" x2="'+sx(i2).toFixed(1)+'" y2="'+H+'" class="gl"/>';
gs+='<line x1="'+sx(i3).toFixed(1)+'" y1="'+y3+'" x2="'+sx(i3).toFixed(1)+'" y2="'+H+'" class="gl"/>';

var mi=0,xi=0;
for(i=1;i<n;i++){if(tm[i]!=null&&(tm[mi]==null||tm[i]<tm[mi]))mi=i;if(tm[i]!=null&&(tm[xi]==null||tm[i]>tm[xi]))xi=i;}

var ls='';
if(mi!==xi){
var xM=sx(mi),yM=sy(tm[mi]),xm=sx(xi),ym=sy(tm[xi]);
var aM=xM>W*.6?'end':'middle',am=xm>W*.6?'end':'middle';
ls+='<circle cx="'+xM.toFixed(1)+'" cy="'+yM.toFixed(1)+'" r="3" fill="#4fc3f7" opacity="0.7"/>';
ls+='<text x="'+xM.toFixed(1)+'" y="'+(yM+18).toFixed(1)+'" text-anchor="'+aM+'" class="tl" fill="#4fc3f7">'+tl[mi]+'</text>';
ls+='<text x="'+xM.toFixed(1)+'" y="'+(yM+31).toFixed(1)+'" text-anchor="'+aM+'" class="tt" fill="#4fc3f7">'+Math.round(tm[mi])+'\u00B0</text>';
ls+='<circle cx="'+xm.toFixed(1)+'" cy="'+ym.toFixed(1)+'" r="3" fill="#ff8a50" opacity="0.7"/>';
ls+='<text x="'+xm.toFixed(1)+'" y="'+(ym-12).toFixed(1)+'" text-anchor="'+am+'" class="tl" fill="#ff8a50">'+tl[xi]+'</text>';
ls+='<text x="'+xm.toFixed(1)+'" y="'+(ym-25).toFixed(1)+'" text-anchor="'+am+'" class="tt" fill="#ff8a50">'+Math.round(tm[xi])+'\u00B0</text>';
}

var fl='';
for(i=0;i<n;i+=3){
var xp=sx(i).toFixed(1);
fl+='<line x1="'+xp+'" y1="'+sy(tm[i]).toFixed(1)+'" x2="'+xp+'" y2="'+H+'" class="gl"/>';
}

return '<svg viewBox="0 0 '+W+' '+H+'" preserveAspectRatio="none">'+
'<defs>'+
'<linearGradient id="ag" x1="0" y1="0" x2="0" y2="1">'+
'<stop offset="0%" stop-color="#ff8a50" stop-opacity="0.30"/>'+
'<stop offset="100%" stop-color="#ff8a50" stop-opacity="0.03"/>'+
'</linearGradient>'+
'<linearGradient id="lg" x1="0" y1="0" x2="1" y2="0">'+
'<stop offset="0%" stop-color="#4fc3f7"/>'+
'<stop offset="50%" stop-color="#ff8a50"/>'+
'<stop offset="100%" stop-color="#4fc3f7"/>'+
'</linearGradient>'+
'<clipPath id="cc"><rect x="0" y="0" width="'+W+'" height="'+H+'"/></clipPath>'+
'</defs>'+
'<g clip-path="url(#cc)">'+
fl+gs+
'<path d="'+ap+'" fill="url(#ag)" class="area-anim"/>'+
'<path d="'+p.trim()+'" fill="none" stroke="url(#lg)" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" class="line-anim"/>'+
'</g>'+
'<line x1="0" y1="0.5" x2="'+W+'" y2="0.5" class="al"/>'+
ls+
'</svg>';
}

function sh(tm,tl,mx,mn){
var cw=document.getElementById('cw');if(!cw)return;
var sv=cw.querySelector('svg');if(!sv)return;
var ns=tm.length,W=660,H=140;
var vs=tm.filter(function(v){return v!=null}),vmin=Math.min.apply(null,vs),vmx=Math.max.apply(null,vs);
var rg=vmx-vmin||1,pd=rg*.18,smin=vmin-pd,srg=(vmx+pd)-smin||1;
var sx=function(i){return(i/(ns-1))*W},sy=function(v){return H-((v-smin)/srg)*H};

var hr=document.createElementNS('http://www.w3.org/2000/svg','line');
hr.setAttribute('class','hr');hr.setAttribute('y1','0');hr.setAttribute('y2',String(H));
sv.appendChild(hr);

var hd=document.createElementNS('http://www.w3.org/2000/svg','circle');
hd.setAttribute('class','hd');hd.setAttribute('r','5');
sv.appendChild(hd);

var hb=document.createElementNS('http://www.w3.org/2000/svg','rect');
hb.setAttribute('class','hb');hb.setAttribute('height','22');
sv.appendChild(hb);

var ht=document.createElementNS('http://www.w3.org/2000/svg','text');
ht.setAttribute('class','ht');ht.setAttribute('dy','-6');ht.setAttribute('text-anchor','middle');
sv.appendChild(ht);

var ov=document.createElement('div');
ov.className='hv';
ov.addEventListener('mousemove',function(e){
var rc=cw.getBoundingClientRect();
var rx=(e.clientX-rc.left)/rc.width;
var idx=Math.round(rx*(ns-1));
idx=Math.max(0,Math.min(ns-1,idx));
if(tm[idx]==null)return;
var px=(sx(idx)/W)*100,py=sy(tm[idx]);
hr.style.display='block';hr.setAttribute('x1',sx(idx).toFixed(1));hr.setAttribute('x2',sx(idx).toFixed(1));
hd.style.display='block';hd.setAttribute('cx',sx(idx).toFixed(1));hd.setAttribute('cy',py.toFixed(1));
var tx=sx(idx),ty=py-18;
var label=tl[idx]+' \u00B7 '+Math.round(tm[idx])+'\u00B0C';
ht.textContent=label;ht.setAttribute('x',tx.toFixed(1));ht.setAttribute('y',ty.toFixed(1));
ht.style.display='block';
var tw=label.length*7.2;
hb.setAttribute('x',(tx-tw/2-6).toFixed(1));hb.setAttribute('y',(ty-14).toFixed(1));
hb.setAttribute('width',(tw+12).toFixed(1));
hb.style.display='block';
});
ov.addEventListener('mouseleave',function(){
hr.style.display='none';hd.style.display='none';ht.style.display='none';hb.style.display='none';
});
cw.appendChild(ov);
}

if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',main);
else main();
})();
</script>
</body>
</html>

L1 — cheap deterministic descriptors

bytes total12,622html / css / js215 / 3,326 / 9,081
dom nodes9dom depth3
css rules39js presentyes
brightness17.9contrast1.4
colorfulness9.0whitespace100.0%

This slot's telemetry

prompt tokens0completion tokens0
total tokens0wall158.3 s
costrequest id
config.json574 B
{
  "N": 2,
  "auth": {
    "credential_ref": "WCB_OPENCODE_KEY",
    "method": "oauth-login"
  },
  "billing": "plan",
  "config_id": "qwen3.7-plus--cli--opencode--dev",
  "effort": null,
  "family": "qwen",
  "m": {
    "min": 2,
    "q": 2
  },
  "model_id": "qwen3.7-plus",
  "protocol": "cli",
  "served_model": "qwen3.7-plus",
  "telemetry": {
    "completion_tokens": null,
    "cost_usd": null,
    "prompt_tokens": null,
    "total_tokens": null,
    "wall_ms": 433178
  },
  "transport": "opencode-cli-isolated-xdg-go-subscription",
  "vendor_sanction_ref": null
}
send-log2.5 KB
{
  "N": 2,
  "batch_id": "2026-07-18--dev-opencode-cli",
  "config_id": "qwen3.7-plus--cli--opencode--dev",
  "positions": [
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-07-17T18:26:12.170283+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-17T18:25:28.095251+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-17T18:28:53.918539+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-17T18:26:15.651235+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-17T18:31:56.886424+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-17T18:29:41.402986+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-17T18:33:35.431014+00:00",
          "http_status": null,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-17T18:32:00.073351+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
    }
  }
}