deepseek-v4-pro-0812 @ high · dsh
dshhigh
- config
- deepseek-v4-pro-0812-eff-high--cli--dsh--dev
- batch
- 2026-07-19--unified
- transport
- dsh-0.1.0-rc.8-headless-isolated-home
- protocol
- cli · api
- served model
- deepseek-v4-pro
- 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 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
- 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=1280, initial-scale=1">
<title>Weather</title>
<style>
:root {
--bg-grad: linear-gradient(165deg, #2f80ed 0%, #56ccf2 55%, #f2994a 100%);
--accent: #3b82f6;
--accent-soft: rgba(59, 130, 246, 0.16);
--ink: #16202e;
--ink-muted: #5b6b7d;
--card: rgba(255, 255, 255, 0.86);
--card-border: rgba(255, 255, 255, 0.65);
--shadow: 0 30px 70px -25px rgba(12, 25, 50, 0.45);
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
margin: 0;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 44px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
background: var(--bg-grad);
background-attachment: fixed;
color: var(--ink);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
.card {
width: min(1120px, 100%);
background: var(--card);
backdrop-filter: blur(24px) saturate(150%);
-webkit-backdrop-filter: blur(24px) saturate(150%);
border: 1px solid var(--card-border);
border-radius: 28px;
box-shadow: var(--shadow);
padding: 40px 44px 36px;
}
/* ---------- Header ---------- */
.head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
margin-bottom: 30px;
}
.loc { display: flex; align-items: center; gap: 16px; min-width: 0; }
.loc-pin {
width: 46px;
height: 46px;
flex: 0 0 auto;
border-radius: 14px;
background: var(--accent-soft);
color: var(--accent);
display: flex;
align-items: center;
justify-content: center;
}
h1 {
margin: 0;
font-size: 30px;
font-weight: 750;
letter-spacing: -0.02em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 58vw;
}
.date { margin: 3px 0 0; font-size: 15px; color: var(--ink-muted); font-weight: 500; }
.badge {
align-self: flex-start;
font-size: 12.5px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--accent);
background: var(--accent-soft);
padding: 8px 15px;
border-radius: 999px;
white-space: nowrap;
}
/* ---------- Status / loading / error ---------- */
.status {
display: flex;
align-items: center;
gap: 12px;
padding: 18px 0;
color: var(--ink-muted);
font-size: 15px;
font-weight: 500;
}
.status.error {
flex-direction: column;
align-items: flex-start;
gap: 6px;
padding: 26px 0;
}
.spinner {
width: 22px;
height: 22px;
border: 3px solid rgba(22, 32, 46, 0.14);
border-top-color: var(--accent);
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.error-msg { font-size: 18px; color: #b91c1c; font-weight: 700; }
.error-sub { font-size: 14px; color: var(--ink-muted); }
.retry {
margin-top: 10px;
font: inherit;
font-weight: 600;
font-size: 14px;
color: #fff;
background: var(--accent);
border: none;
border-radius: 12px;
padding: 10px 20px;
cursor: pointer;
transition: transform 0.15s ease, filter 0.15s ease;
}
.retry:hover { filter: brightness(1.06); transform: translateY(-1px); }
.retry:active { transform: translateY(0); }
/* ---------- Hero ---------- */
.hero {
display: grid;
grid-template-columns: 296px 1fr;
gap: 46px;
align-items: center;
animation: rise 0.5s ease both;
}
.summary { display: flex; flex-direction: column; gap: 22px; }
.icon-ring {
width: 112px;
height: 112px;
border-radius: 50%;
background: var(--accent-soft);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
display: flex;
align-items: center;
justify-content: center;
}
.wx-emoji { font-size: 58px; line-height: 1; }
.cond { font-size: 21px; font-weight: 650; letter-spacing: -0.01em; }
.stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stat {
background: rgba(22, 32, 46, 0.05);
border: 1px solid rgba(22, 32, 46, 0.05);
border-radius: 16px;
padding: 14px 16px;
display: flex;
flex-direction: column;
gap: 3px;
}
.stat-label {
font-size: 11.5px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--ink-muted);
}
.stat-value { font-size: 30px; font-weight: 750; letter-spacing: -0.02em; }
.chart-wrap { min-width: 0; }
.chart-title {
font-size: 13px;
font-weight: 650;
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(--ink-muted);
margin-bottom: 10px;
}
.chart-box { position: relative; }
#chart { display: block; width: 100%; height: auto; }
.chart-label {
fill: var(--ink-muted);
font-size: 12.5px;
font-weight: 600;
stroke: #ffffff;
stroke-width: 3px;
paint-order: stroke;
}
.guide {
position: absolute;
top: 0;
bottom: 0;
width: 1px;
background: rgba(22, 32, 46, 0.28);
opacity: 0;
pointer-events: none;
transition: opacity 0.15s ease;
}
.tooltip {
position: absolute;
top: -8px;
transform: translate(-50%, -100%);
background: #16202e;
color: #fff;
font-size: 12.5px;
font-weight: 600;
font-variant-numeric: tabular-nums;
padding: 6px 11px;
border-radius: 9px;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.15s ease;
box-shadow: 0 8px 18px rgba(15, 30, 60, 0.28);
}
.axis { position: relative; height: 24px; margin-top: 6px; }
.axis-label {
position: absolute;
transform: translateX(-50%);
font-size: 11px;
color: var(--ink-muted);
font-variant-numeric: tabular-nums;
}
/* ---------- Hourly strip ---------- */
.hours {
margin-top: 28px;
display: flex;
gap: 6px;
overflow-x: auto;
padding-bottom: 4px;
animation: rise 0.5s 0.08s ease both;
}
.tile {
flex: 1 0 36px;
min-width: 36px;
display: flex;
flex-direction: column;
align-items: center;
gap: 5px;
background: rgba(22, 32, 46, 0.04);
border: 1px solid transparent;
border-radius: 12px;
padding: 9px 4px 10px;
transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}
.tile:hover { background: rgba(22, 32, 46, 0.08); transform: translateY(-2px); }
.tile-bar-wrap {
height: 34px;
width: 100%;
display: flex;
align-items: flex-end;
justify-content: center;
}
.tile-bar { width: 64%; border-radius: 4px 4px 0 0; }
.tile-hour { font-size: 11px; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.tile-temp { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.tile.now {
background: var(--accent-soft);
border-color: var(--accent);
}
.tile.now .tile-hour { color: var(--accent); font-weight: 700; }
.tile.now .tile-temp { color: var(--accent); font-weight: 700; }
@keyframes rise {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 860px) {
body { padding: 24px; }
.hero { grid-template-columns: 1fr; gap: 30px; }
}
</style>
</head>
<body>
<main class="card">
<header class="head">
<div class="loc">
<div class="loc-pin" aria-hidden="true">
<svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 1 1 16 0Z"/>
<circle cx="12" cy="10" r="3"/>
</svg>
</div>
<div>
<h1 id="locName">Berlin</h1>
<p class="date" id="locDate">—</p>
</div>
</div>
<div class="badge" id="badge">Today</div>
</header>
<div class="status loading" id="status">
<span class="spinner"></span><span>Loading weather…</span>
</div>
<section class="hero" style="display:none">
<div class="summary">
<div class="icon-ring"><span class="wx-emoji" id="wxEmoji">☀️</span></div>
<div class="cond" id="wxLabel">Clear sky</div>
<div class="stats">
<div class="stat">
<span class="stat-label">High</span>
<span class="stat-value" id="hiTemp">—</span>
</div>
<div class="stat">
<span class="stat-label">Low</span>
<span class="stat-value" id="loTemp">—</span>
</div>
</div>
</div>
<div class="chart-wrap">
<div class="chart-title">Temperature · 24 hours</div>
<div class="chart-box" id="chartBox">
<svg id="chart" viewBox="0 0 720 250" preserveAspectRatio="xMidYMid meet" role="img" aria-label="Hourly temperature chart"></svg>
<div class="guide" id="guide"></div>
<div class="tooltip" id="tooltip"></div>
</div>
<div class="axis" id="axis"></div>
</div>
</section>
<section class="hours" id="hours" style="display:none"></section>
</main>
<script>
(function () {
'use strict';
var WX = {
0: { label: 'Clear sky', emoji: '☀️', cat: 'clear' },
1: { label: 'Mainly clear', emoji: '🌤️', cat: 'clear' },
2: { label: 'Partly cloudy', emoji: '⛅', cat: 'partly' },
3: { label: 'Overcast', emoji: '☁️', cat: 'overcast'},
45: { label: 'Fog', emoji: '🌫️', cat: 'fog' },
48: { label: 'Rime fog', emoji: '🌫️', cat: 'fog' },
51: { label: 'Light drizzle', emoji: '🌦️', cat: 'drizzle' },
53: { label: 'Moderate drizzle', emoji: '🌦️', cat: 'drizzle' },
55: { label: 'Dense drizzle', emoji: '🌧️', cat: 'drizzle' },
56: { label: 'Freezing drizzle', emoji: '🌧️', cat: 'drizzle' },
57: { label: 'Freezing drizzle', emoji: '🌧️', cat: 'drizzle' },
61: { label: 'Light rain', emoji: '🌦️', cat: 'rain' },
63: { label: 'Moderate rain', emoji: '🌧️', cat: 'rain' },
65: { label: 'Heavy rain', emoji: '🌧️', cat: 'rain' },
66: { label: 'Freezing rain', emoji: '🌧️', cat: 'rain' },
67: { label: 'Freezing rain', emoji: '🌧️', cat: 'rain' },
71: { label: 'Light snow', emoji: '🌨️', cat: 'snow' },
73: { label: 'Moderate snow', emoji: '🌨️', cat: 'snow' },
75: { label: 'Heavy snow', emoji: '❄️', cat: 'snow' },
77: { label: 'Snow grains', emoji: '❄️', cat: 'snow' },
80: { label: 'Light rain showers', emoji: '🌦️', cat: 'showers' },
81: { label: 'Moderate rain showers', emoji: '🌧️', cat: 'showers' },
82: { label: 'Violent rain showers', emoji: '🌧️', cat: 'showers' },
85: { label: 'Light snow showers', emoji: '🌨️', cat: 'snow' },
86: { label: 'Heavy snow showers', emoji: '🌨️', cat: 'snow' },
95: { label: 'Thunderstorm', emoji: '⛈️', cat: 'thunder' },
96: { label: 'Thunderstorm with hail', emoji: '⛈️', cat: 'thunder' },
99: { label: 'Thunderstorm with hail', emoji: '⛈️', cat: 'thunder' }
};
var THEMES = {
clear: { bg: 'linear-gradient(165deg,#1f63b8 0%,#3f9be0 55%,#9fd4f2 100%)', accent: '#f6b93b' },
partly: { bg: 'linear-gradient(165deg,#2f6aa5 0%,#63a8d8 55%,#c8dce9 100%)', accent: '#e2a90a' },
overcast: { bg: 'linear-gradient(165deg,#55606e 0%,#8a97a6 55%,#bcc4cd 100%)', accent: '#718096' },
fog: { bg: 'linear-gradient(165deg,#5a6c7d 0%,#93a5b5 55%,#cbd5e0 100%)', accent: '#8ba1b5' },
drizzle: { bg: 'linear-gradient(165deg,#3a5a78 0%,#5c87a6 55%,#a3bccb 100%)', accent: '#3f8fd4' },
rain: { bg: 'linear-gradient(165deg,#1f3a5f 0%,#35608a 55%,#6b93b5 100%)', accent: '#3b82f6' },
snow: { bg: 'linear-gradient(165deg,#3f6d9e 0%,#7fa9cc 55%,#dde8f2 100%)', accent: '#4f93d4' },
showers: { bg: 'linear-gradient(165deg,#274e7a 0%,#4d7fa8 55%,#8fb3ce 100%)', accent: '#38bdf8' },
thunder: { bg: 'linear-gradient(165deg,#241b4d 0%,#4a2c6e 55%,#7a4d9e 100%)', accent: '#c084fc' }
};
var $ = function (s) { return document.querySelector(s); };
var params = new URLSearchParams(window.location.search);
var lat = params.get('lat') || '52.52';
var lon = params.get('lon') || '13.405';
var name = params.get('name') || 'Berlin';
var todayStr = new Date().toISOString().slice(0, 10);
var date = params.get('date');
if (!date || !/^\d{4}-\d{2}-\d{2}$/.test(date)) date = todayStr;
var locName = $('#locName');
var locDate = $('#locDate');
var badge = $('#badge');
locName.textContent = name;
var dObj = new Date(date + 'T12:00:00Z');
if (isNaN(dObj)) {
locDate.textContent = date;
} else {
locDate.textContent = new Intl.DateTimeFormat('en-US', {
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', timeZone: 'UTC'
}).format(dObj);
}
badge.textContent = date === todayStr ? 'Today' : (date < todayStr ? 'Historical' : 'Forecast');
var apiPath = date < todayStr ? '/api/om/archive' : '/api/om/forecast';
var qs = 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
});
var hero = $('.hero');
var hoursEl = $('.hours');
var statusEl = $('#status');
function pad(h) { return String(h).padStart(2, '0'); }
function fmt(v) { return Math.round(v) + '°'; }
function showLoading() {
hero.style.display = 'none';
hoursEl.style.display = 'none';
statusEl.hidden = false;
statusEl.className = 'status loading';
statusEl.innerHTML = '<span class="spinner"></span><span>Loading weather…</span>';
}
function showError() {
hero.style.display = 'none';
hoursEl.style.display = 'none';
statusEl.hidden = false;
statusEl.className = 'status error';
statusEl.innerHTML =
'<div class="error-msg">Couldn’t load the weather data.</div>' +
'<div class="error-sub">Please check the location and date, then try again.</div>' +
'<button class="retry" id="retry">Try again</button>';
$('#retry').addEventListener('click', load);
}
function showData() {
statusEl.hidden = true;
hero.style.display = '';
hoursEl.style.display = '';
}
function applyTheme(cat) {
var t = THEMES[cat] || THEMES.partly;
var r = document.documentElement.style;
r.setProperty('--bg-grad', t.bg);
r.setProperty('--accent', t.accent);
r.setProperty('--accent-soft', hexA(t.accent, 0.18));
}
function hexA(hex, a) {
var h = hex.replace('#', '');
var r = parseInt(h.slice(0, 2), 16);
var g = parseInt(h.slice(2, 4), 16);
var b = parseInt(h.slice(4, 6), 16);
return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';
}
function renderChart(temps, times, nowIndex) {
var svg = $('#chart');
var n = temps.length;
var W = 720, H = 250, PX = 16, PT = 34, PB = 30;
var mn = Math.min.apply(null, temps);
var mx = Math.max.apply(null, temps);
var lo = mn, hi = mx, span = hi - lo;
if (!isFinite(span) || span === 0) { lo = mn - 2; hi = mx + 2; span = 4; }
else { var padV = span * 0.16; lo = mn - padV; hi = mx + padV; span = hi - lo; }
var x = function (i) { return PX + (W - 2 * PX) * (i / (n - 1)); };
var y = function (v) { return PT + (H - PT - PB) * (1 - (v - lo) / span); };
var minIdx = temps.indexOf(mn);
var maxIdx = temps.indexOf(mx);
var baseY = y(lo);
var pts = temps.map(function (v, i) { return [x(i), y(v)]; });
var lineD = 'M' + pts.map(function (p) { return p[0].toFixed(2) + ',' + p[1].toFixed(2); }).join(' L');
var areaD = lineD + ' L ' + x(n - 1).toFixed(2) + ',' + baseY.toFixed(2) + ' L ' + x(0).toFixed(2) + ',' + baseY.toFixed(2) + ' Z';
var grid = [lo, (lo + hi) / 2, hi].map(function (v) {
var gy = y(v).toFixed(2);
return '<line x1="16" y1="' + gy + '" x2="' + (W - 16) + '" y2="' + gy + '" style="stroke:rgba(22,32,46,0.07)" stroke-dasharray="3 6"/>';
}).join('');
var dots = pts.map(function (p, i) {
var isMin = i === minIdx, isMax = i === maxIdx, isNow = i === nowIndex;
if (isMin || isMax) {
return '<circle cx="' + p[0].toFixed(2) + '" cy="' + p[1].toFixed(2) + '" r="5" style="fill:var(--accent);stroke:#fff;stroke-width:2.5"/>';
}
if (isNow) {
return '<circle cx="' + p[0].toFixed(2) + '" cy="' + p[1].toFixed(2) + '" r="6" style="fill:#fff;stroke:var(--accent);stroke-width:3"/>';
}
return '<circle cx="' + p[0].toFixed(2) + '" cy="' + p[1].toFixed(2) + '" r="2.8" style="fill:#fff;stroke:var(--accent);stroke-width:1.5"/>';
}).join('');
function mkLabel(i, val, above) {
var px = x(i).toFixed(2);
var anchor = 'middle', dx = 0;
if (i === 0) { anchor = 'start'; dx = 6; }
else if (i === n - 1) { anchor = 'end'; dx = -6; }
var ty = (above ? y(val) - 11 : y(val) + 20).toFixed(2);
return '<text x="' + (+px + dx).toFixed(2) + '" y="' + ty + '" text-anchor="' + anchor + '" class="chart-label">' + Math.round(val) + '°</text>';
}
var labels = maxIdx === minIdx
? mkLabel(maxIdx, mx, true)
: mkLabel(maxIdx, mx, true) + mkLabel(minIdx, mn, false);
var nowMarkup = '';
if (nowIndex >= 0) {
var nx = x(nowIndex).toFixed(2);
nowMarkup = '<line x1="' + nx + '" y1="' + (PT + 4) + '" x2="' + nx + '" y2="' + (H - PB - 4) + '" style="stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 5;opacity:0.5"/>';
}
svg.innerHTML =
'<defs><linearGradient id="areaGrad" x1="0" y1="0" x2="0" y2="1">' +
'<stop offset="0" style="stop-color:var(--accent);stop-opacity:0.34"/>' +
'<stop offset="1" style="stop-color:var(--accent);stop-opacity:0.02"/>' +
'</linearGradient></defs>' +
grid +
'<path d="' + areaD + '" style="fill:url(#areaGrad)"/>' +
'<path d="' + lineD + '" style="fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round"/>' +
nowMarkup + dots + labels;
$('#axis').innerHTML = [0, 3, 6, 9, 12, 15, 18, 21].map(function (h) {
var frac = (x(h) / W * 100).toFixed(2);
return '<span class="axis-label" style="left:' + frac + '%">' + pad(h) + '</span>';
}).join('');
setupTooltip(n, x, temps, times);
}
function setupTooltip(n, x, temps, times) {
var box = $('#chartBox');
var guide = $('#guide');
var tip = $('#tooltip');
var W = 720;
box.onmousemove = function (e) {
var rect = box.getBoundingClientRect();
if (!rect.width) return;
var frac = (e.clientX - rect.left) / rect.width;
var i = Math.round(frac * (n - 1));
i = Math.max(0, Math.min(n - 1, i));
var leftPx = (x(i) / W) * rect.width;
guide.style.left = leftPx + 'px';
guide.style.opacity = '1';
tip.style.left = Math.max(46, Math.min(rect.width - 46, leftPx)) + 'px';
tip.textContent = pad(new Date(times[i]).getUTCHours()) + ':00 · ' + temps[i].toFixed(1) + '°C';
tip.style.opacity = '1';
};
box.onmouseleave = function () {
guide.style.opacity = '0';
tip.style.opacity = '0';
};
}
function renderHours(temps, times, nowIndex) {
var box = $('#hours');
var mn = Math.min.apply(null, temps);
var mx = Math.max.apply(null, temps);
var span = (mx - mn) || 1;
box.innerHTML = '';
for (var i = 0; i < temps.length; i++) {
var h = new Date(times[i]).getUTCHours();
var norm = (temps[i] - mn) / span;
var hue = Math.round(210 - 170 * norm);
var barH = (12 + norm * 88).toFixed(1);
var tile = document.createElement('div');
tile.className = 'tile' + (i === nowIndex ? ' now' : '');
tile.title = pad(h) + ':00 — ' + temps[i].toFixed(1) + '°C';
tile.innerHTML =
'<div class="tile-bar-wrap"><div class="tile-bar" style="height:' + barH + '%;background:hsl(' + hue + ',80%,58%)"></div></div>' +
'<span class="tile-hour">' + pad(h) + '</span>' +
'<span class="tile-temp">' + Math.round(temps[i]) + '°</span>';
box.appendChild(tile);
}
}
async function load() {
showLoading();
try {
var res = await fetch(apiPath + '?' + qs.toString(), { headers: { Accept: 'application/json' } });
if (!res.ok) throw new Error('HTTP ' + res.status);
var data = await res.json();
var daily = data && data.daily;
var hourly = data && data.hourly;
if (!daily || !Array.isArray(daily.temperature_2m_max) || !daily.temperature_2m_max.length ||
!Array.isArray(daily.temperature_2m_min) || !Array.isArray(daily.weather_code)) {
throw new Error('Malformed daily data');
}
if (!hourly || !Array.isArray(hourly.temperature_2m) || !Array.isArray(hourly.time) || !hourly.temperature_2m.length) {
throw new Error('Malformed hourly data');
}
var hi = daily.temperature_2m_max[0];
var lo = daily.temperature_2m_min[0];
var code = daily.weather_code[0];
var temps = hourly.temperature_2m;
var times = hourly.time;
$('#hiTemp').textContent = fmt(hi);
$('#loTemp').textContent = fmt(lo);
var w = WX[code] || WX[3];
$('#wxEmoji').textContent = w.emoji;
$('#wxLabel').textContent = w.label;
applyTheme(w.cat);
var nowIndex = -1;
if (date === todayStr) {
var nowH = new Date().getUTCHours();
for (var i = 0; i < times.length; i++) {
if (new Date(times[i]).getUTCHours() === nowH) { nowIndex = i; break; }
}
}
renderChart(temps, times, nowIndex);
renderHours(temps, times, nowIndex);
showData();
} catch (err) {
showError();
}
}
load();
})();
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 22,940 | html / css / js | 2,105 / 7,278 / 13,557 |
|---|---|---|---|
| dom nodes | 42 | dom depth | 8 |
| css rules | 55 | js present | yes |
| brightness | 198.7 | contrast | 52.0 |
| colorfulness | 32.7 | whitespace | 65.7% |
This slot's telemetry
| prompt tokens | 8,090 | completion tokens | 43,544 |
|---|---|---|---|
| total tokens | 51,634 | wall | 496.4 s |
| cost | — | request id | — |
config.json600 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_DEEPSEEK_KEY",
"method": "api-key"
},
"billing": "api",
"config_id": "deepseek-v4-pro-0812-eff-high--cli--dsh--dev",
"effort": "high",
"family": "deepseek",
"m": {
"min": 2,
"q": 2
},
"model_id": "deepseek-v4-pro-0812",
"protocol": "cli",
"served_model": "deepseek-v4-pro",
"telemetry": {
"completion_tokens": 101633,
"cost_usd": null,
"prompt_tokens": 31853,
"total_tokens": 133486,
"wall_ms": 1155259
},
"transport": "dsh-0.1.0-rc.8-headless-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-21--dsh-s0",
"config_id": "deepseek-v4-pro-0812-eff-high--cli--dsh--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-21T13:07:24.439986+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-21T12:59:08.085411+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-21T13:10:07.987370+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-21T13:07:28.105411+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-21T13:12:01.101016+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-21T13:10:11.535054+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-08-21T13:18:34.320487+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-21T13:12:04.797112+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
}
}
}