deepseek-v4-flash · go
go
- config
- deepseek-v4-flash--opencode-go--dev
- batch
- 2026-07-19--unified
- transport
- opencode-go-gateway
- protocol
- api · plan
- served model
- deepseek-v4-flash
- 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
qwen3.5-plus · go0.70deepseek-v4-flash · opencode0.64nemotron-3-ultra-free · api0.64claude-haiku-4-5 @medium · CC0.59claude-opus-4-8 @max · CC0.59farthest
gpt-5.5 @medium · codex-oauth0.42gpt-5.6-sol @ultra · codex-oauth0.44claude-sonnet-5 @max · CC0.44claude-opus-4-8 @xhigh · kiro0.44claude-opus-4-7 @xhigh · kiro0.44within 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 tempambiguousshown: 17max-equals-min
- min tempambiguousshown: 17max-equals-min
- 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.0">
<title>Weather Card</title>
<style>
body {
margin: 0;
min-height: 100vh;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
display: flex;
justify-content: center;
align-items: center;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
.card {
background: #ffffff;
border-radius: 24px;
padding: 40px;
width: 480px;
box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
transition: transform 0.2s ease;
}
.header {
margin-bottom: 20px;
border-bottom: 1px solid #f0f0f0;
padding-bottom: 16px;
}
.location {
font-size: 28px;
font-weight: 700;
margin: 0;
color: #1e272e;
letter-spacing: -0.3px;
}
.date {
font-size: 16px;
color: #636e72;
margin: 6px 0 0 0;
font-weight: 400;
}
.main-temps {
display: flex;
justify-content: space-between;
align-items: center;
margin: 24px 0;
}
.temp-high, .temp-low {
display: flex;
flex-direction: column;
align-items: center;
}
.temp-high .value, .temp-low .value {
font-size: 52px;
font-weight: 600;
line-height: 1;
}
.temp-high .value {
color: #e74c3c;
}
.temp-low .value {
color: #3498db;
}
.value .unit {
font-size: 0.35em;
vertical-align: super;
font-weight: 400;
}
.temp-high .label, .temp-low .label {
font-size: 14px;
color: #b2bec3;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-top: 6px;
}
.condition {
display: flex;
align-items: center;
justify-content: center;
margin: 24px 0;
gap: 16px;
}
.condition-emoji {
font-size: 68px;
line-height: 1;
}
.condition-text {
font-size: 26px;
font-weight: 500;
color: #2d3436;
}
.hourly-section {
margin-top: 28px;
}
.hourly-section h3 {
font-size: 14px;
text-transform: uppercase;
letter-spacing: 2px;
color: #b2bec3;
margin: 0 0 12px 0;
}
.hourly-list {
display: flex;
gap: 10px;
overflow-x: auto;
padding-bottom: 8px;
scrollbar-width: thin;
scrollbar-color: #b2bec3 transparent;
}
.hourly-list::-webkit-scrollbar {
height: 5px;
}
.hourly-list::-webkit-scrollbar-track {
background: transparent;
}
.hourly-list::-webkit-scrollbar-thumb {
background: #b2bec3;
border-radius: 8px;
}
.hour-item {
flex: 0 0 auto;
width: 64px;
padding: 10px 6px;
border-radius: 16px;
background: #f1f2f6;
text-align: center;
font-size: 14px;
color: #2d3436;
transition: background 0.2s;
}
.hour-item:hover {
background: #e0e0e5;
}
.hour-item .hour {
font-weight: 600;
margin-bottom: 6px;
font-size: 13px;
color: #636e72;
}
.hour-item .temp {
font-size: 18px;
font-weight: 500;
}
.no-data {
color: #b2bec3;
text-align: center;
padding: 12px 0;
font-size: 15px;
}
.error {
color: #e74c3c;
text-align: center;
padding: 48px 12px;
font-size: 18px;
font-weight: 500;
}
.loading {
text-align: center;
font-size: 18px;
color: #636e72;
padding: 40px 0;
}
</style>
</head>
<body>
<div class="card" id="card">
<div id="content">
<div class="loading">Loading weather data…</div>
</div>
</div>
<script>
(function() {
'use strict';
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
function getParams() {
const params = new URLSearchParams(window.location.search);
const lat = parseFloat(params.get('lat')) || 52.52;
const lon = parseFloat(params.get('lon')) || 13.405;
const name = params.get('name') || 'Berlin';
const dateStr = params.get('date') || new Date().toISOString().split('T')[0];
return { lat, lon, name: name, date: dateStr };
}
function formatDate(dateStr) {
const parts = dateStr.split('-');
const d = new Date(Date.UTC(parts[0], parts[1] - 1, parts[2]));
return d.toLocaleDateString('en-US', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
});
}
function weatherCodeToCondition(code) {
const map = {
0: ['Clear sky', '☀️'],
1: ['Mainly clear', '🌤️'],
2: ['Partly cloudy', '⛅'],
3: ['Overcast', '☁️'],
45: ['Foggy', '🌫️'],
48: ['Depositing rime fog', '🌫️'],
51: ['Light drizzle', '🌦️'],
53: ['Moderate drizzle', '🌦️'],
55: ['Dense drizzle', '🌧️'],
56: ['Light freezing drizzle', '🌧️'],
57: ['Dense freezing drizzle', '🌧️'],
61: ['Slight rain', '🌧️'],
63: ['Moderate rain', '🌧️'],
65: ['Heavy rain', '🌧️'],
66: ['Light freezing rain', '🌧️'],
67: ['Heavy freezing rain', '🌧️'],
71: ['Slight snow', '🌨️'],
73: ['Moderate snow', '🌨️'],
75: ['Heavy snow', '❄️'],
77: ['Snow grains', '❄️'],
80: ['Slight rain showers', '🌧️'],
81: ['Moderate rain showers', '🌧️'],
82: ['Violent rain showers', '🌧️'],
85: ['Slight snow showers', '🌨️'],
86: ['Heavy snow showers', '🌨️'],
95: ['Thunderstorm', '⛈️'],
96: ['Thunderstorm with slight hail', '⛈️'],
99: ['Thunderstorm with heavy hail', '⛈️']
};
return map[code] || ['Unknown', '❓'];
}
async function fetchData(lat, lon, date) {
const todayStr = new Date().toISOString().split('T')[0];
const isPast = date < todayStr;
const base = window.location.origin + (isPast ? '/api/om/archive' : '/api/om/forecast');
const params = 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
});
const url = base + '?' + params.toString();
const resp = await fetch(url);
if (!resp.ok) throw new Error('Network response not OK');
const data = await resp.json();
if (!data.daily || !data.hourly ||
!Array.isArray(data.daily.time) || data.daily.time.length === 0) {
throw new Error('Invalid data from API');
}
return data;
}
function render(data, params) {
const daily = data.daily;
const hourly = data.hourly;
const tempMax = daily.temperature_2m_max[0];
const tempMin = daily.temperature_2m_min[0];
const wCode = daily.weather_code[0];
const [condText, condEmoji] = weatherCodeToCondition(wCode);
const dateStr = params.date;
const times = hourly.time || [];
const temps = hourly.temperature_2m || [];
const hourlyItems = [];
for (let i = 0; i < times.length; i++) {
if (times[i] && times[i].startsWith(dateStr)) {
const timePart = times[i].substring(11, 16); // HH:MM
hourlyItems.push({ time: timePart, temp: temps[i] });
}
}
const safeName = escapeHtml(params.name);
const safeCondText = escapeHtml(condText);
const formattedDate = formatDate(params.date);
let hourlyHtml;
if (hourlyItems.length > 0) {
hourlyHtml = `<div class="hourly-list">` +
hourlyItems.map(item =>
`<div class="hour-item">
<div class="hour">${item.time}</div>
<div class="temp">${Math.round(item.temp)}°</div>
</div>`
).join('') +
`</div>`;
} else {
hourlyHtml = `<p class="no-data">No hourly data available for this date.</p>`;
}
document.getElementById('content').innerHTML = `
<div class="header">
<div class="location">${safeName}</div>
<div class="date">${formattedDate}</div>
</div>
<div class="main-temps">
<div class="temp-high">
<div class="label">High</div>
<div class="value">${Math.round(tempMax)}<span class="unit">°C</span></div>
</div>
<div class="temp-low">
<div class="label">Low</div>
<div class="value">${Math.round(tempMin)}<span class="unit">°C</span></div>
</div>
</div>
<div class="condition">
<span class="condition-emoji">${condEmoji}</span>
<span class="condition-text">${safeCondText}</span>
</div>
<div class="hourly-section">
<h3>Hourly Temperatures</h3>
${hourlyHtml}
</div>
`;
}
function showError(message) {
document.getElementById('content').innerHTML = `<div class="error">${escapeHtml(message)}</div>`;
}
async function init() {
const params = getParams();
try {
const data = await fetchData(params.lat, params.lon, params.date);
render(data, params);
} catch (e) {
console.error(e);
showError('Sorry, weather data could not be loaded.');
}
}
init();
})();
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 9,205 | html / css / js | 339 / 3,188 / 5,678 |
|---|---|---|---|
| dom nodes | 11 | dom depth | 5 |
| css rules | 28 | js present | yes |
| brightness | 147.7 | contrast | 60.2 |
| colorfulness | 64.5 | whitespace | 39.7% |
This slot's telemetry
| prompt tokens | 400 | completion tokens | 10,601 |
|---|---|---|---|
| total tokens | 11,001 | wall | 106.5 s |
| cost | — | request id | — |
config.json565 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_OPENCODE_KEY",
"method": "oauth"
},
"billing": "plan",
"config_id": "deepseek-v4-flash--opencode-go--dev",
"effort": null,
"family": "deepseek",
"m": {
"min": 2,
"q": 2
},
"model_id": "deepseek-v4-flash",
"protocol": "api",
"served_model": "deepseek-v4-flash",
"telemetry": {
"completion_tokens": 54032,
"cost_usd": null,
"prompt_tokens": 1584,
"total_tokens": 55616,
"wall_ms": 466465
},
"transport": "opencode-go-gateway",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-07-19--go-requeue2",
"config_id": "deepseek-v4-flash--opencode-go--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-18T19:26:53.168673+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T19:25:17.497686+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-18T19:28:44.497682+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T19:26:58.005017+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-18T19:31:04.544256+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T19:28:51.242482+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-18T19:33:18.942342+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T19:31:07.939377+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
}
}
}