gpt-5.6-sol @ high · kiro
kirohigh
- config
- gpt-5.6-sol-eff-high--cli--kiro--dev
- batch
- 2026-07-19--unified
- transport
- kiro-cli-isolated-home-github-social
- protocol
- cli · plan
- served model
- gpt-5.6-sol
- 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
gpt-5.6-sol @low · kiro0.67gpt-5.6-sol @none · codex-oauth0.66gpt-5.6-sol @xhigh · codex-oauth0.66gpt-5.6-terra @low · codex-oauth0.66qwen3.7-plus · go0.66farthest
minimax-m2.7 · go0.45claude-haiku-4-5 @xhigh · CC0.45minimax-m2.5 · kiro0.47kimi-k2.6 @disabled · api0.47kimi-k2.6 · go0.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 tempmismatchshown: 28
- min tempmismatchshown: 25
- 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=device-width, initial-scale=1.0">
<title>Daily Weather</title>
<style>
:root {
color-scheme: dark;
--ink: #f7fbff;
--muted: #aab9c9;
--line: rgba(255, 255, 255, 0.11);
--panel: rgba(10, 24, 39, 0.76);
--panel-light: rgba(255, 255, 255, 0.075);
--accent: #ffbd5b;
--accent-2: #ff7b54;
--cool: #6ad5ff;
--shadow: 0 30px 80px rgba(0, 0, 0, 0.36);
}
* {
box-sizing: border-box;
}
html,
body {
width: 100%;
min-width: 320px;
min-height: 100%;
margin: 0;
}
body {
display: grid;
place-items: center;
overflow: hidden;
padding: 40px;
color: var(--ink);
font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background:
radial-gradient(circle at 15% 16%, rgba(58, 158, 199, 0.28), transparent 30%),
radial-gradient(circle at 84% 80%, rgba(255, 139, 84, 0.18), transparent 28%),
linear-gradient(145deg, #07131e 0%, #10283b 48%, #091722 100%);
}
body::before,
body::after {
position: fixed;
z-index: -1;
border-radius: 50%;
content: "";
filter: blur(2px);
pointer-events: none;
}
body::before {
top: -170px;
right: 80px;
width: 440px;
height: 440px;
border: 1px solid rgba(255, 255, 255, 0.055);
box-shadow:
0 0 0 70px rgba(255, 255, 255, 0.018),
0 0 0 140px rgba(255, 255, 255, 0.012);
}
body::after {
bottom: -110px;
left: -70px;
width: 330px;
height: 330px;
background: rgba(84, 204, 238, 0.045);
}
.weather-card {
position: relative;
width: min(1200px, calc(100vw - 80px));
height: min(720px, calc(100vh - 80px));
min-height: 620px;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.13);
border-radius: 34px;
background:
linear-gradient(120deg, rgba(255, 255, 255, 0.055), transparent 30%),
var(--panel);
box-shadow: var(--shadow);
backdrop-filter: blur(26px);
}
.weather-card::before {
position: absolute;
top: -190px;
right: -90px;
width: 500px;
height: 500px;
border-radius: 50%;
background: radial-gradient(circle, rgba(255, 190, 83, 0.17), rgba(255, 125, 84, 0.045) 48%, transparent 70%);
content: "";
pointer-events: none;
}
.loading,
.error-state {
position: absolute;
inset: 0;
z-index: 10;
display: grid;
place-items: center;
padding: 40px;
text-align: center;
background: rgba(7, 19, 30, 0.84);
backdrop-filter: blur(20px);
transition: opacity 250ms ease, visibility 250ms ease;
}
.loading.hidden,
.error-state.hidden {
visibility: hidden;
opacity: 0;
pointer-events: none;
}
.loader-wrap {
display: grid;
justify-items: center;
gap: 20px;
}
.loader {
width: 48px;
height: 48px;
border: 3px solid rgba(255, 255, 255, 0.14);
border-top-color: var(--accent);
border-radius: 50%;
animation: spin 850ms linear infinite;
}
.loader-label {
color: var(--muted);
font-size: 15px;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.error-box {
max-width: 470px;
}
.error-mark {
display: grid;
width: 66px;
height: 66px;
margin: 0 auto 20px;
place-items: center;
border: 1px solid rgba(255, 143, 114, 0.35);
border-radius: 22px;
color: #ffad94;
background: rgba(255, 104, 75, 0.1);
font-size: 30px;
font-weight: 300;
}
.error-box h1 {
margin: 0 0 10px;
font-size: 26px;
}
.error-box p {
margin: 0;
color: var(--muted);
line-height: 1.6;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.content {
position: relative;
z-index: 1;
display: grid;
height: 100%;
grid-template-rows: 246px 1fr;
}
.summary {
display: grid;
grid-template-columns: 1.25fr 0.8fr 0.85fr;
align-items: center;
gap: 38px;
padding: 36px 48px 28px;
border-bottom: 1px solid var(--line);
}
.eyebrow {
display: flex;
align-items: center;
gap: 9px;
margin-bottom: 15px;
color: var(--cool);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}
.eyebrow::before {
width: 7px;
height: 7px;
border-radius: 50%;
background: currentColor;
box-shadow: 0 0 14px currentColor;
content: "";
}
.location {
max-width: 520px;
margin: 0;
overflow: hidden;
font-size: clamp(34px, 4vw, 55px);
font-weight: 620;
letter-spacing: -0.045em;
line-height: 1.02;
text-overflow: ellipsis;
white-space: nowrap;
}
.date {
margin: 13px 0 0;
color: var(--muted);
font-size: 15px;
letter-spacing: 0.01em;
}
.condition-block {
display: flex;
align-items: center;
gap: 17px;
min-width: 0;
}
.weather-icon {
display: grid;
flex: 0 0 auto;
width: 92px;
height: 92px;
place-items: center;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 30px;
background: rgba(255, 255, 255, 0.065);
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
}
.weather-icon svg {
width: 70px;
height: 70px;
overflow: visible;
filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.18));
}
.condition-label {
min-width: 0;
}
.condition-label small,
.temperature small {
display: block;
margin-bottom: 7px;
color: var(--muted);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.13em;
text-transform: uppercase;
}
.condition-label strong {
display: block;
overflow: hidden;
font-size: 20px;
font-weight: 570;
line-height: 1.28;
text-overflow: ellipsis;
}
.temperature {
justify-self: end;
padding-left: 34px;
border-left: 1px solid var(--line);
}
.temp-pair {
display: flex;
align-items: baseline;
gap: 22px;
}
.temp-value {
display: flex;
align-items: flex-start;
gap: 2px;
}
.temp-value .number {
font-size: 54px;
font-weight: 300;
letter-spacing: -0.06em;
line-height: 1;
}
.temp-value .degree {
padding-top: 4px;
color: var(--accent);
font-size: 20px;
font-weight: 500;
}
.temp-value.low .number {
color: #b6dceb;
font-size: 35px;
}
.temp-value.low .degree {
color: #76ccec;
font-size: 16px;
}
.temp-captions {
display: flex;
gap: 20px;
margin-top: 8px;
color: var(--muted);
font-size: 11px;
}
.temp-captions span:first-child {
min-width: 61px;
}
.details {
display: grid;
min-height: 0;
grid-template-columns: minmax(0, 1fr) 268px;
gap: 24px;
padding: 25px 32px 31px 40px;
}
.chart-panel {
display: flex;
min-width: 0;
min-height: 0;
flex-direction: column;
}
.section-heading {
display: flex;
align-items: flex-end;
justify-content: space-between;
margin: 0 5px 13px 3px;
}
.section-heading h2 {
margin: 0;
font-size: 15px;
font-weight: 650;
letter-spacing: 0.01em;
}
.section-heading span {
color: var(--muted);
font-size: 11px;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.chart-wrap {
position: relative;
flex: 1;
min-height: 250px;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.085);
border-radius: 24px;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.014)),
rgba(4, 14, 24, 0.21);
}
#temperatureChart {
display: block;
width: 100%;
height: 100%;
min-height: 250px;
}
.hourly-panel {
display: flex;
min-height: 0;
flex-direction: column;
}
.hourly-grid {
display: grid;
flex: 1;
min-height: 0;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(8, 1fr);
gap: 7px;
}
.hour-cell {
display: flex;
min-height: 0;
align-items: center;
justify-content: space-between;
gap: 4px;
padding: 5px 8px;
border: 1px solid rgba(255, 255, 255, 0.075);
border-radius: 10px;
background: var(--panel-light);
}
.hour-cell .time {
color: var(--muted);
font-size: 9px;
font-variant-numeric: tabular-nums;
}
.hour-cell .value {
font-size: 12px;
font-weight: 650;
font-variant-numeric: tabular-nums;
}
@media (max-width: 900px) {
body {
overflow: auto;
padding: 22px;
}
.weather-card {
width: 100%;
height: auto;
min-height: 740px;
}
.content {
grid-template-rows: auto auto;
}
.summary {
grid-template-columns: 1fr 1fr;
}
.temperature {
justify-self: start;
padding-left: 0;
border-left: 0;
}
.details {
grid-template-columns: 1fr;
}
.hourly-grid {
grid-template-columns: repeat(6, 1fr);
grid-template-rows: repeat(4, 42px);
}
}
</style>
</head>
<body>
<main class="weather-card" aria-live="polite">
<div class="loading" id="loading">
<div class="loader-wrap">
<div class="loader" aria-hidden="true"></div>
<div class="loader-label">Loading weather</div>
</div>
</div>
<div class="error-state hidden" id="errorState" role="alert">
<div class="error-box">
<div class="error-mark" aria-hidden="true">!</div>
<h1>Weather unavailable</h1>
<p id="errorMessage">The weather data could not be loaded. Please try again later.</p>
</div>
</div>
<div class="content">
<section class="summary" aria-label="Daily weather summary">
<div>
<div class="eyebrow">Daily forecast</div>
<h1 class="location" id="locationName">Berlin</h1>
<p class="date" id="displayDate"></p>
</div>
<div class="condition-block">
<div class="weather-icon" id="weatherIcon" aria-hidden="true"></div>
<div class="condition-label">
<small>Conditions</small>
<strong id="condition">—</strong>
</div>
</div>
<div class="temperature">
<small>Temperature</small>
<div class="temp-pair">
<div class="temp-value">
<span class="number" id="maxTemp">—</span>
<span class="degree">°</span>
</div>
<div class="temp-value low">
<span class="number" id="minTemp">—</span>
<span class="degree">°</span>
</div>
</div>
<div class="temp-captions">
<span>High</span>
<span>Low</span>
</div>
</div>
</section>
<section class="details">
<div class="chart-panel">
<div class="section-heading">
<h2>Temperature through the day</h2>
<span>Celsius · UTC</span>
</div>
<div class="chart-wrap">
<svg id="temperatureChart" viewBox="0 0 820 330" preserveAspectRatio="none" role="img" aria-label="Hourly temperature chart"></svg>
</div>
</div>
<aside class="hourly-panel" aria-label="Hourly temperatures">
<div class="section-heading">
<h2>Hourly</h2>
<span>24 hours</span>
</div>
<div class="hourly-grid" id="hourlyGrid"></div>
</aside>
</section>
</div>
</main>
<script>
(() => {
"use strict";
const params = new URLSearchParams(window.location.search);
const todayUTC = new Date().toISOString().slice(0, 10);
const parseCoordinate = (value, fallback, min, max) => {
const number = Number(value);
return Number.isFinite(number) && number >= min && number <= max ? number : fallback;
};
const validDate = value => {
if (!/^\d{4}-\d{2}-\d{2}$/.test(value || "")) return false;
const parsed = new Date(value + "T00:00:00Z");
return !Number.isNaN(parsed.getTime()) && parsed.toISOString().slice(0, 10) === value;
};
const latitude = parseCoordinate(params.get("lat"), 52.52, -90, 90);
const longitude = parseCoordinate(params.get("lon"), 13.405, -180, 180);
const locationLabel = (params.get("name") || "Berlin").trim() || "Berlin";
const requestedDate = validDate(params.get("date")) ? params.get("date") : todayUTC;
const elements = {
loading: document.getElementById("loading"),
error: document.getElementById("errorState"),
errorMessage: document.getElementById("errorMessage"),
location: document.getElementById("locationName"),
date: document.getElementById("displayDate"),
condition: document.getElementById("condition"),
icon: document.getElementById("weatherIcon"),
max: document.getElementById("maxTemp"),
min: document.getElementById("minTemp"),
chart: document.getElementById("temperatureChart"),
grid: document.getElementById("hourlyGrid")
};
elements.location.textContent = locationLabel;
elements.date.textContent = new Intl.DateTimeFormat("en-US", {
weekday: "long",
month: "long",
day: "numeric",
year: "numeric",
timeZone: "UTC"
}).format(new Date(requestedDate + "T00:00:00Z"));
document.title = locationLabel + " Weather · " + requestedDate;
const weatherCodes = {
0: "Clear sky",
1: "Mainly clear",
2: "Partly cloudy",
3: "Overcast",
45: "Fog",
48: "Rime fog",
51: "Light drizzle",
53: "Drizzle",
55: "Heavy drizzle",
56: "Freezing drizzle",
57: "Heavy freezing drizzle",
61: "Light rain",
63: "Rain",
65: "Heavy rain",
66: "Freezing rain",
67: "Heavy freezing rain",
71: "Light snow",
73: "Snow",
75: "Heavy snow",
77: "Snow grains",
80: "Light showers",
81: "Rain showers",
82: "Heavy showers",
85: "Snow showers",
86: "Heavy snow showers",
95: "Thunderstorm",
96: "Thunderstorm with hail",
99: "Severe thunderstorm"
};
const iconFor = code => {
const sun = '<circle cx="33" cy="29" r="12" fill="#FFC85A"/><g stroke="#FFC85A" stroke-width="3" stroke-linecap="round"><path d="M33 7v6M33 45v6M11 29h6M49 29h6M17.5 13.5l4.2 4.2M44.3 40.3l4.2 4.2M48.5 13.5l-4.2 4.2"/></g>';
const cloud = '<path d="M20 51h33.5a10.5 10.5 0 0 0 1-21 17 17 0 0 0-32.2 4.7A8.2 8.2 0 0 0 20 51Z" fill="#E7F2F7"/><path d="M22.3 34.7a17 17 0 0 1 31.9-5.6 10.5 10.5 0 0 0-8.7 4.7c-8.8-2.5-14.3 2-16.4 7.7-3-2.5-6.1-3.8-9.1-3.8-2 0-3.7.4-5.2 1.1a8.2 8.2 0 0 1 7.5-4.1Z" fill="#B9D4E0" opacity=".62"/>';
const drops = '<g stroke="#64CFFF" stroke-width="3" stroke-linecap="round"><path d="M25 57l-3 6M39 57l-3 6M53 57l-3 6"/></g>';
const snow = '<g fill="#BDEEFF"><circle cx="23" cy="60" r="2.2"/><circle cx="38" cy="60" r="2.2"/><circle cx="53" cy="60" r="2.2"/></g>';
const lightning = '<path d="M40 50h11l-9 9h7L34 71l5-13h-7Z" fill="#FFD35A"/>';
const fog = '<g stroke="#C9DEE6" stroke-width="3" stroke-linecap="round" opacity=".9"><path d="M13 32h44M19 42h40M11 52h39"/></g>';
let art;
if (code === 0) art = sun;
else if (code === 1 || code === 2) art = sun + cloud;
else if (code === 3) art = cloud;
else if (code === 45 || code === 48) art = fog;
else if ((code >= 71 && code <= 77) || code === 85 || code === 86) art = cloud + snow;
else if (code >= 95) art = cloud + lightning + drops;
else art = cloud + drops;
return '<svg viewBox="0 0 72 72" aria-hidden="true">' + art + "</svg>";
};
const formatTemp = value => {
if (!Number.isFinite(Number(value))) return "—";
return String(Math.round(Number(value)));
};
const escapeXML = value => String(value)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """);
const renderChart = temperatures => {
const width = 820;
const height = 330;
const left = 47;
const right = 28;
const top = 35;
const bottom = 52;
const values = temperatures.map(Number).filter(Number.isFinite);
if (!values.length) {
elements.chart.innerHTML = '<text x="410" y="165" text-anchor="middle" fill="#aab9c9" font-size="14">No hourly temperatures available</text>';
return;
}
let minimum = Math.floor(Math.min(...values) - 2);
let maximum = Math.ceil(Math.max(...values) + 2);
if (maximum - minimum < 6) {
minimum -= 3;
maximum += 3;
}
const x = index => left + (index / Math.max(temperatures.length - 1, 1)) * (width - left - right);
const y = value => top + ((maximum - value) / (maximum - minimum)) * (height - top - bottom);
let svg = '<defs>' +
'<linearGradient id="lineGradient" x1="0" y1="0" x2="1" y2="0"><stop offset="0%" stop-color="#65D7FF"/><stop offset="52%" stop-color="#FFD067"/><stop offset="100%" stop-color="#FF7B54"/></linearGradient>' +
'<linearGradient id="areaGradient" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#FFB75E" stop-opacity=".30"/><stop offset="100%" stop-color="#5ED5FF" stop-opacity=".015"/></linearGradient>' +
'<filter id="glow"><feGaussianBlur stdDeviation="4" result="blur"/><feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge></filter>' +
'</defs>';
for (let i = 0; i < 5; i++) {
const value = maximum - ((maximum - minimum) / 4) * i;
const gridY = top + ((height - top - bottom) / 4) * i;
svg += '<line x1="' + left + '" y1="' + gridY + '" x2="' + (width - right) + '" y2="' + gridY + '" stroke="rgba(255,255,255,.075)" stroke-width="1"/>';
svg += '<text x="' + (left - 12) + '" y="' + (gridY + 4) + '" text-anchor="end" fill="#7f95a7" font-size="11">' + Math.round(value) + '°</text>';
}
const points = temperatures.map((temp, index) => {
const value = Number(temp);
return Number.isFinite(value) ? [x(index), y(value), value, index] : null;
}).filter(Boolean);
if (points.length > 1) {
const pointString = points.map(point => point[0].toFixed(1) + "," + point[1].toFixed(1)).join(" ");
const area = "M " + points[0][0].toFixed(1) + " " + (height - bottom) +
" L " + points.map(point => point[0].toFixed(1) + " " + point[1].toFixed(1)).join(" L ") +
" L " + points[points.length - 1][0].toFixed(1) + " " + (height - bottom) + " Z";
svg += '<path d="' + area + '" fill="url(#areaGradient)"/>';
svg += '<polyline points="' + pointString + '" fill="none" stroke="url(#lineGradient)" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round" filter="url(#glow)"/>';
}
points.forEach(point => {
const showPoint = point[3] % 3 === 0 || point[3] === temperatures.length - 1;
if (showPoint) {
svg += '<circle cx="' + point[0] + '" cy="' + point[1] + '" r="4" fill="#10283b" stroke="#FFD067" stroke-width="2"><title>' +
String(point[3]).padStart(2, "0") + ":00 — " + escapeXML(point[2]) + '°C</title></circle>';
}
});
[0, 3, 6, 9, 12, 15, 18, 21, 23].forEach(hour => {
if (hour < temperatures.length) {
svg += '<text x="' + x(hour) + '" y="' + (height - 20) + '" text-anchor="middle" fill="#8ea1b2" font-size="10">' +
String(hour).padStart(2, "0") + ":00</text>";
}
});
elements.chart.innerHTML = svg;
};
const renderHourly = (times, temperatures) => {
elements.grid.textContent = "";
temperatures.forEach((temperature, index) => {
const cell = document.createElement("div");
cell.className = "hour-cell";
const time = document.createElement("span");
time.className = "time";
const rawTime = times[index] || "";
time.textContent = rawTime.includes("T") ? rawTime.split("T")[1].slice(0, 5) : String(index).padStart(2, "0") + ":00";
const value = document.createElement("span");
value.className = "value";
value.textContent = formatTemp(temperature) + "°";
cell.append(time, value);
elements.grid.appendChild(cell);
});
};
const showError = message => {
elements.loading.classList.add("hidden");
elements.errorMessage.textContent = message;
elements.error.classList.remove("hidden");
};
const loadWeather = async () => {
const endpoint = requestedDate < todayUTC ? "/api/om/archive" : "/api/om/forecast";
const query = new URLSearchParams({
latitude: String(latitude),
longitude: String(longitude),
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: requestedDate,
end_date: requestedDate
});
try {
const response = await fetch(endpoint + "?" + query.toString(), {
method: "GET",
headers: { "Accept": "application/json" }
});
if (!response.ok) throw new Error("Request failed with status " + response.status);
const data = await response.json();
if (!data || !data.daily || !data.hourly) throw new Error("Incomplete weather response");
const dailyTimes = Array.isArray(data.daily.time) ? data.daily.time : [];
const dailyIndex = dailyTimes.indexOf(requestedDate);
const index = dailyIndex >= 0 ? dailyIndex : 0;
const allTimes = Array.isArray(data.hourly.time) ? data.hourly.time : [];
const allTemperatures = Array.isArray(data.hourly.temperature_2m) ? data.hourly.temperature_2m : [];
const times = [];
const temperatures = [];
allTimes.forEach((time, timeIndex) => {
if (String(time).slice(0, 10) === requestedDate) {
times.push(time);
temperatures.push(allTemperatures[timeIndex]);
}
});
if (!temperatures.length) throw new Error("No hourly data for the requested date");
const finiteHourly = temperatures.map(Number).filter(Number.isFinite);
const dailyMax = data.daily.temperature_2m_max && data.daily.temperature_2m_max[index];
const dailyMin = data.daily.temperature_2m_min && data.daily.temperature_2m_min[index];
const code = Number(data.daily.weather_code && data.daily.weather_code[index]);
const maximum = Number.isFinite(Number(dailyMax)) ? Number(dailyMax) : Math.max(...finiteHourly);
const minimum = Number.isFinite(Number(dailyMin)) ? Number(dailyMin) : Math.min(...finiteHourly);
elements.max.textContent = formatTemp(maximum);
elements.min.textContent = formatTemp(minimum);
elements.condition.textContent = weatherCodes[code] || "Unknown conditions";
elements.icon.innerHTML = iconFor(code);
renderChart(temperatures);
renderHourly(times, temperatures);
elements.loading.classList.add("hidden");
} catch (error) {
console.error("Unable to load weather:", error);
showError("The weather data for " + locationLabel + " on " + requestedDate + " could not be loaded. Please try again later.");
}
};
loadWeather();
})();
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 24,792 | html / css / js | 2,684 / 9,713 / 12,395 |
|---|---|---|---|
| dom nodes | 53 | dom depth | 9 |
| css rules | 61 | js present | yes |
| brightness | 36.5 | contrast | 19.2 |
| colorfulness | 17.8 | whitespace | 87.7% |
This slot's telemetry
| prompt tokens | 0 | completion tokens | 0 |
|---|---|---|---|
| total tokens | 0 | wall | 55.8 s |
| cost | — | request id | — |
config.json564 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "gpt-5.6-sol-eff-high--cli--kiro--dev",
"effort": "high",
"family": "gpt",
"m": {
"min": 2,
"q": 2
},
"model_id": "gpt-5.6-sol",
"protocol": "cli",
"served_model": "gpt-5.6-sol",
"telemetry": {
"completion_tokens": null,
"cost_usd": null,
"prompt_tokens": null,
"total_tokens": null,
"wall_ms": 200123
},
"transport": "kiro-cli-isolated-home-github-social",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-07-18--kiro-cli",
"config_id": "gpt-5.6-sol-eff-high--cli--kiro--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-18T18:25:53.833470+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T18:25:01.491021+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-18T18:26:53.174955+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T18:25:57.313278+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-18T18:27:50.488175+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T18:26:57.010729+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-18T18:28:33.235537+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-18T18:27:54.482192+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
}
}
}