big-pickle · api
api
- config
- big-pickle--zen-free--dev
- batch
- 2026-07-19--unified
- transport
- opencode-zen-free-tier
- protocol
- api · plan
- served model
- xiaomi/mimo-v2.5
- captured
- Jul 18, 2026, 11:54 AM · N=2
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
grok-4.5 · go0.67claude-sonnet-4-5 · kiro0.66mimo-v2.5-pro @high · api0.66qwen3.7-plus · opencode0.66claude-fable-5 @high · CC0.63farthest
claude-haiku-4-5 @high · CC0.44gpt-5.5 @xhigh · codex-oauth0.45claude-haiku-4-5 @xhigh · CC0.45qwen3.5-plus · go0.47nemotron-3-ultra-free · api0.47within 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 tempmatchshown: 25
- min tempmatchshown: 16
- hourlymatchcoverage 24/24 · 24 match · 0 mismatch · 0 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}
body{
width:1280px;height:800px;overflow:hidden;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
display:flex;justify-content:center;align-items:center;
background:radial-gradient(ellipse at 30% 40%,#1a1a3e 0%,#0a0a1a 70%);
color:#fff;
}
.card{
width:960px;border-radius:28px;overflow:hidden;position:relative;
box-shadow:0 30px 80px rgba(0,0,0,0.5);
}
.card::before{
content:'';position:absolute;top:0;left:40px;right:40px;height:1px;
background:linear-gradient(90deg,transparent,rgba(255,255,255,0.35),transparent);z-index:3;
}
.card::after{
content:'';position:absolute;inset:0;border-radius:28px;
border:1px solid rgba(255,255,255,0.1);z-index:3;pointer-events:none;
}
.card-bg{position:absolute;inset:0;z-index:0;transition:background .6s ease}
.card-content{
position:relative;z-index:1;padding:44px 52px 32px;
display:flex;flex-direction:column;min-height:620px;
animation:fadeUp .5s ease both;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.loc{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.loc-pin{font-size:18px;opacity:.75}
.loc-name{font-size:22px;font-weight:600;letter-spacing:.3px}
.date{font-size:15px;opacity:.55;margin-bottom:28px;font-weight:400}
.mw{display:flex;align-items:center;gap:40px;margin-bottom:10px}
.w-emoji{font-size:78px;line-height:1;text-shadow:0 0 50px rgba(255,255,255,.15)}
.td{display:flex;flex-direction:column}
.tv{font-size:72px;font-weight:200;line-height:1;letter-spacing:-3px}
.tv sup{font-size:34px;font-weight:300;letter-spacing:0;vertical-align:super;margin-left:2px}
.tr{display:flex;gap:24px;margin-top:10px;font-size:17px;font-weight:500;opacity:.8}
.thi{opacity:1}.tlo{opacity:.5}
.cond{font-size:19px;font-weight:400;opacity:.7;margin-bottom:28px}
.hs{flex:1;display:flex;flex-direction:column}
.hl{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;opacity:.4;margin-bottom:14px}
.cc{
background:rgba(255,255,255,.07);border-radius:16px;
padding:14px 14px 0;flex:1;display:flex;flex-direction:column;overflow:hidden;
}
.cw{flex:1;min-height:130px}
.cw canvas{display:block;width:100%;height:100%}
.hg{display:flex;border-top:1px solid rgba(255,255,255,.1);padding:10px 0 4px}
.hc{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}
.hc .ht{font-size:12px;font-weight:600;opacity:.88;line-height:1.2}
.hc .hh{font-size:9px;font-weight:400;opacity:.38;line-height:1.2;margin-bottom:1px}
.ew{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}
.ei{font-size:52px;opacity:.35}
.et{font-size:22px;font-weight:500;opacity:.75}
.ed{font-size:14px;opacity:.4;max-width:420px;line-height:1.6}
.ld{flex:1;display:flex;align-items:center;justify-content:center;font-size:16px;opacity:.45}
</style>
</head>
<body>
<div class="card" id="card">
<div class="card-bg" id="cardBg"></div>
<div class="card-content" id="cardContent"><div class="ld">Loading…</div></div>
</div>
<script>
(function(){
var p = new URLSearchParams(location.search);
var lat = parseFloat(p.get('lat')) || 52.52;
var lon = parseFloat(p.get('lon')) || 13.405;
var name = p.get('name') || 'Berlin';
var dp = p.get('date');
var today = new Date().toISOString().slice(0,10);
var ds = dp && /^\d{4}-\d{2}-\d{2}$/.test(dp) ? dp : today;
var isPast = ds < today;
var api = isPast ? '/api/om/archive' : '/api/om/forecast';
var url = api + '?latitude=' + lat + '&longitude=' + lon
+ '&daily=temperature_2m_max,temperature_2m_min,weather_code'
+ '&hourly=temperature_2m&timezone=UTC&temperature_unit=celsius'
+ '&start_date=' + ds + '&end_date=' + ds;
var EMOJI = {
0:'\u2600\uFE0F',1:'\uD83C\uDF24\uFE0F',2:'\u26C5',3:'\u2601\uFE0F',
45:'\uD83C\uDF2B\uFE0F',48:'\uD83C\uDF2B\uFE0F',
51:'\uD83C\uDF26\uFE0F',53:'\uD83C\uDF26\uFE0F',55:'\uD83C\uDF26\uFE0F',
56:'\uD83C\uDF27\uFE0F',57:'\uD83C\uDF27\uFE0F',
61:'\uD83C\uDF27\uFE0F',63:'\uD83C\uDF27\uFE0F',65:'\uD83C\uDF27\uFE0F',
66:'\uD83C\uDF28\uFE0F',67:'\uD83C\uDF28\uFE0F',
71:'\u2744\uFE0F',73:'\u2744\uFE0F',75:'\u2744\uFE0F',77:'\uD83C\uDF28\uFE0F',
80:'\uD83C\uDF27\uFE0F',81:'\uD83C\uDF27\uFE0F',82:'\uD83C\uDF27\uFE0F',
85:'\uD83C\uDF28\uFE0F',86:'\uD83C\uDF28\uFE0F',
95:'\u26C8\uFE0F',96:'\u26C8\uFE0F',99:'\u26C8\uFE0F'
};
var DESCR = {
0:'Clear Sky',1:'Mainly Clear',2:'Partly Cloudy',3:'Overcast',
45:'Foggy',48:'Rime Fog',51:'Light Drizzle',53:'Drizzle',55:'Dense Drizzle',
56:'Freezing Drizzle',57:'Heavy 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:'Light Rain Showers',81:'Moderate Rain Showers',82:'Violent Rain Showers',
85:'Light Snow Showers',86:'Heavy Snow Showers',
95:'Thunderstorm',96:'Thunderstorm with Hail',99:'Severe Thunderstorm'
};
function GRAD(c) {
if (c === 0) return 'linear-gradient(135deg,#2193b0,#6dd5ed)';
if (c <= 2) return 'linear-gradient(135deg,#1e3c72,#2a5298)';
if (c === 3) return 'linear-gradient(135deg,#536976,#292e49)';
if (c <= 48) return 'linear-gradient(135deg,#606c88,#3f4c6b)';
if (c <= 67) return 'linear-gradient(135deg,#0f2027,#203a43,#2c5364)';
if (c <= 82) return 'linear-gradient(135deg,#2c3e50,#3498db)';
if (c <= 86) return 'linear-gradient(135deg,#4b6cb7,#182848)';
if (c >= 95) return 'linear-gradient(135deg,#0f0c29,#302b63,#24243e)';
return 'linear-gradient(135deg,#2c3e50,#3498db)';
}
function fmtDate(s) {
var a = s.split('-');
return new Date(Date.UTC(+a[0], +a[1]-1, +a[2]))
.toLocaleDateString('en-US', {
weekday:'long', year:'numeric', month:'long', day:'numeric', timeZone:'UTC'
});
}
fetch(url).then(function(r){
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.json();
}).then(render).catch(function(e){ showError(e.message); });
function render(d) {
var bg = document.getElementById('cardBg');
var ct = document.getElementById('cardContent');
var mx = d.daily.temperature_2m_max[0];
var mn = d.daily.temperature_2m_min[0];
var wc = d.daily.weather_code[0];
var h = d.hourly.temperature_2m;
bg.style.background = GRAD(wc);
var h = '';
h += '<div class="loc"><span class="loc-pin">\uD83D\uDCCD</span><span class="loc-name">' + name + '</span></div>';
h += '<div class="date">' + fmtDate(ds) + '</div>';
h += '<div class="mw">';
h += '<div class="w-emoji">' + (EMOJI[wc] || '\uD83C\uDF21\uFE0F') + '</div>';
h += '<div class="td">';
h += '<div class="tv">' + Math.round(mx) + '<sup>\u00B0C</sup></div>';
h += '<div class="tr">';
h += '<span class="thi">\u25B2 ' + Math.round(mx) + '\u00B0</span>';
h += '<span class="tlo">\u25BC ' + Math.round(mn) + '\u00B0</span>';
h += '</div>';
h += '</div>';
h += '</div>';
h += '<div class="cond">' + (DESCR[wc] || 'Unknown') + '</div>';
h += '<div class="hs"><div class="hl">Hourly Forecast</div>';
h += '<div class="cc"><div class="cw"><canvas id="hc"></canvas></div>';
h += '<div class="hg" id="hg"></div></div></div>';
ct.innerHTML = h;
var gh = '';
var n = Math.min(24, d.hourly.temperature_2m.length);
for (var i = 0; i < n; i++) {
gh += '<div class="hc"><div class="ht">' + Math.round(d.hourly.temperature_2m[i]) + '\u00B0</div>';
gh += '<div class="hh">' + String(i).padStart(2,'0') + ':00</div></div>';
}
document.getElementById('hg').innerHTML = gh;
requestAnimationFrame(function(){ drawChart(d.hourly.temperature_2m); });
}
function drawChart(temps) {
var c = document.getElementById('hc');
if (!c) return;
var wrap = c.parentElement;
var rect = wrap.getBoundingClientRect();
var dpr = window.devicePixelRatio || 1;
c.width = rect.width * dpr;
c.height = rect.height * dpr;
c.style.width = rect.width + 'px';
c.style.height = rect.height + 'px';
var ctx = c.getContext('2d');
ctx.scale(dpr, dpr);
var W = rect.width, H = rect.height;
var mT = 6, mB = 4, mL = 2, mR = 2;
var cW = W - mL - mR, cH = H - mT - mB;
var da = [];
for (var i = 0; i < 24 && i < temps.length; i++) da.push(temps[i]);
if (da.length < 2) return;
var lo = Infinity, hi = -Infinity;
for (var i = 0; i < da.length; i++) {
if (da[i] < lo) lo = da[i];
if (da[i] > hi) hi = da[i];
}
var pad = Math.max((hi - lo) * 0.18, 1);
var yLo = lo - pad, yHi = hi + pad, yR = yHi - yLo;
function gx(i) { return mL + (i / (da.length - 1)) * cW; }
function gy(t) { return mT + cH - ((t - yLo) / yR) * cH; }
/* gradient fill under curve */
var ag = ctx.createLinearGradient(0, mT, 0, mT + cH);
ag.addColorStop(0, 'rgba(255,255,255,0.24)');
ag.addColorStop(0.5, 'rgba(255,255,255,0.06)');
ag.addColorStop(1, 'rgba(255,255,255,0)');
ctx.beginPath();
ctx.moveTo(gx(0), mT + cH);
ctx.lineTo(gx(0), gy(da[0]));
for (var i = 1; i < da.length; i++) {
var x0 = gx(i-1), y0 = gy(da[i-1]);
var x1 = gx(i), y1 = gy(da[i]);
var cp = (x0 + x1) / 2;
ctx.bezierCurveTo(cp, y0, cp, y1, x1, y1);
}
ctx.lineTo(gx(da.length - 1), mT + cH);
ctx.closePath();
ctx.fillStyle = ag;
ctx.fill();
/* smooth line */
ctx.beginPath();
ctx.moveTo(gx(0), gy(da[0]));
for (var i = 1; i < da.length; i++) {
var x0 = gx(i-1), y0 = gy(da[i-1]);
var x1 = gx(i), y1 = gy(da[i]);
var cp = (x0 + x1) / 2;
ctx.bezierCurveTo(cp, y0, cp, y1, x1, y1);
}
ctx.strokeStyle = 'rgba(255,255,255,0.88)';
ctx.lineWidth = 2.5;
ctx.lineJoin = 'round';
ctx.lineCap = 'round';
ctx.stroke();
/* dots */
ctx.fillStyle = '#fff';
for (var i = 0; i < da.length; i++) {
ctx.beginPath();
ctx.arc(gx(i), gy(da[i]), 2.5, 0, Math.PI * 2);
ctx.fill();
}
}
function showError(msg) {
document.getElementById('cardBg').style.background =
'linear-gradient(135deg,#434343,#1a1a1a)';
document.getElementById('cardContent').innerHTML =
'<div class="ew">' +
'<div class="ei">\u26A0\uFE0F</div>' +
'<div class="et">Unable to Load Weather Data</div>' +
'<div class="ed">' + msg + '</div>' +
'</div>';
}
})();
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 10,741 | html / css / js | 356 / 2,918 / 7,467 |
|---|---|---|---|
| dom nodes | 12 | dom depth | 5 |
| css rules | 37 | js present | yes |
| brightness | 50.8 | contrast | 27.2 |
| colorfulness | 21.4 | whitespace | 43.9% |
This slot's telemetry
| prompt tokens | 562 | completion tokens | 31,286 |
|---|---|---|---|
| total tokens | 31,848 | wall | 397.1 s |
| cost | — | request id | — |
config.json548 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_ZEN_KEY",
"method": "api-key"
},
"billing": "plan",
"config_id": "big-pickle--zen-free--dev",
"effort": null,
"family": "opencode",
"m": {
"min": 2,
"q": 2
},
"model_id": "big-pickle",
"protocol": "api",
"served_model": "xiaomi/mimo-v2.5",
"telemetry": {
"completion_tokens": 76549,
"cost_usd": null,
"prompt_tokens": 2232,
"total_tokens": 78781,
"wall_ms": 1055198
},
"transport": "opencode-zen-free-tier",
"vendor_sanction_ref": null
}send-log2.4 KB
{
"N": 2,
"batch_id": "2026-07-18--dev-zen-free",
"config_id": "big-pickle--zen-free--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-18T00:35:54.735304+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T00:29:17.629027+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-18T00:36:42.743530+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T00:36:00.270029+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-18T00:37:38.082490+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T00:36:45.894746+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-18T00:47:07.752838+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T00:37:44.323241+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
}
}
}