kimi-k2.7-code · cursor
cursor
- config
- kimi-k2.7-code--cli--cursor--dev
- batch
- 2026-07-19--unified
- transport
- cursor-agent-cli-isolated-home
- protocol
- cli · plan
- served model
- kimi-k2.7-code
- 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 tempmismatchshown: 15
- min tempmismatchshown: 18
- hourlymismatchcoverage 0/24 · 0 match · 3 mismatch · 21 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 Card</title>
<style>
:root {
--accent: #fbbf24;
}
* { box-sizing: border-box; }
html, body {
margin: 0;
padding: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background: linear-gradient(145deg, #0f172a, #1e293b 60%, #334155);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
body::before, body::after {
content: "";
position: absolute;
border-radius: 50%;
filter: blur(80px);
z-index: -1;
pointer-events: none;
}
body::before {
top: -30%;
left: -15%;
width: 60%;
height: 80%;
background: radial-gradient(circle, var(--accent) 0%, transparent 60%);
opacity: 0.12;
}
body::after {
bottom: -25%;
right: -15%;
width: 55%;
height: 70%;
background: radial-gradient(circle, #38bdf8 0%, transparent 60%);
opacity: 0.08;
}
#card {
width: 1120px;
height: 720px;
border-radius: 40px;
background: rgba(15, 23, 42, 0.55);
backdrop-filter: blur(28px);
-webkit-backdrop-filter: blur(28px);
border: 1px solid rgba(255,255,255,0.12);
box-shadow: 0 32px 100px rgba(0,0,0,0.35);
padding: 60px;
display: flex;
flex-direction: column;
position: relative;
}
#content {
display: flex;
flex-direction: column;
height: 100%;
justify-content: space-between;
}
header {
display: flex;
justify-content: space-between;
align-items: flex-end;
border-bottom: 1px solid rgba(255,255,255,0.1);
padding-bottom: 32px;
}
#location {
font-size: 52px;
font-weight: 700;
letter-spacing: -0.5px;
margin: 0;
line-height: 1.1;
}
#date {
font-size: 18px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1.5px;
opacity: 0.7;
margin: 0;
}
#summary {
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px;
margin-top: 24px;
}
#condition {
display: flex;
align-items: center;
gap: 28px;
}
#icon {
width: 160px;
height: 160px;
filter: drop-shadow(0 8px 24px rgba(0,0,0,0.25));
flex-shrink: 0;
}
#icon svg {
width: 100%;
height: 100%;
display: block;
}
#condition-text {
font-size: 32px;
font-weight: 500;
line-height: 1.2;
}
#temps {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 12px;
}
.temp-pill {
background: rgba(255,255,255,0.08);
border: 1px solid rgba(255,255,255,0.12);
border-radius: 16px;
padding: 14px 22px;
display: flex;
align-items: baseline;
gap: 8px;
min-width: 140px;
justify-content: flex-end;
}
.temp-label {
font-size: 14px;
text-transform: uppercase;
letter-spacing: 1px;
opacity: 0.65;
margin-right: auto;
}
.temp-value {
font-size: 28px;
font-weight: 700;
}
.temp-unit {
font-size: 18px;
opacity: 0.7;
}
#hourly {
margin-top: 28px;
}
#hourly h2 {
font-size: 16px;
text-transform: uppercase;
letter-spacing: 1.5px;
opacity: 0.65;
margin: 0 0 16px;
}
#chart {
width: 100%;
height: 240px;
background: rgba(255,255,255,0.04);
border-radius: 24px;
border: 1px solid rgba(255,255,255,0.08);
position: relative;
overflow: hidden;
}
#chart svg {
display: block;
}
.axis {
fill: rgba(255,255,255,0.5);
font-size: 12px;
font-weight: 500;
}
.grid-line {
stroke: rgba(255,255,255,0.08);
stroke-width: 1;
}
.area-fill {
fill: url(#areaGradient);
opacity: 0.35;
}
.temp-line {
fill: none;
stroke: var(--accent);
stroke-width: 4;
stroke-linecap: round;
stroke-linejoin: round;
filter: drop-shadow(0 2px 8px rgba(0,0,0,0.2));
}
.data-point {
fill: #0f172a;
stroke: var(--accent);
stroke-width: 3;
transition: r 0.2s;
}
.data-point:hover {
r: 6;
}
#cursor-line {
stroke: rgba(255,255,255,0.25);
stroke-width: 1;
stroke-dasharray: 4 4;
display: none;
}
#tooltip {
position: absolute;
pointer-events: none;
background: rgba(15, 23, 42, 0.9);
border: 1px solid rgba(255,255,255,0.15);
border-radius: 10px;
padding: 8px 12px;
font-size: 13px;
color: #fff;
box-shadow: 0 8px 24px rgba(0,0,0,0.25);
opacity: 0;
transition: opacity 0.15s;
transform: translate(-50%, -125%);
white-space: nowrap;
}
#error {
display: none;
text-align: center;
margin: auto;
}
#error svg {
opacity: 0.7;
}
#error p {
opacity: 0.7;
margin-top: 16px;
font-size: 18px;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-4px); }
}
@keyframes fall {
0% { transform: translateY(-6px); opacity: 0; }
20% { opacity: 1; }
100% { transform: translateY(18px); opacity: 0; }
}
@keyframes flash {
0%, 100% { opacity: 0.3; }
50% { opacity: 1; }
}
.sun-rays {
transform-origin: center;
animation: spin 18s linear infinite;
}
.cloud {
animation: float 4s ease-in-out infinite;
}
.drop {
animation: fall 1.2s linear infinite;
}
.drop:nth-child(2) { animation-delay: 0.2s; }
.drop:nth-child(3) { animation-delay: 0.4s; }
.bolt {
animation: flash 1.5s ease-in-out infinite;
}
</style>
</head>
<body>
<div id="card">
<div id="error">
<svg width="64" height="64" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="10"/>
<line x1="12" y1="8" x2="12" y2="12"/>
<line x1="12" y1="16" x2="12.01" y2="16"/>
</svg>
<p>Weather data could not be loaded.</p>
</div>
<div id="content">
<header>
<h1 id="location">Berlin</h1>
<p id="date">—</p>
</header>
<section id="summary">
<div id="condition">
<div id="icon"></div>
<div id="condition-text">—</div>
</div>
<div id="temps">
<div class="temp-pill">
<span class="temp-label">High</span>
<span class="temp-value" id="max">--</span>
<span class="temp-unit">°C</span>
</div>
<div class="temp-pill">
<span class="temp-label">Low</span>
<span class="temp-value" id="min">--</span>
<span class="temp-unit">°C</span>
</div>
</div>
</section>
<section id="hourly">
<h2>Hourly Temperature</h2>
<div id="chart">
<svg id="chart-svg" width="100%" height="100%" viewBox="0 0 1000 260"></svg>
<div id="tooltip"></div>
</div>
</section>
</div>
</div>
<script>
const svgs = {
clear: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<defs><radialGradient id="gSun" cx="50%" cy="50%" r="50%"><stop offset="0%" stop-color="#fff7ed"/><stop offset="100%" stop-color="var(--accent)"/></radialGradient></defs>
<g class="sun-rays" stroke="var(--accent)" stroke-width="6" stroke-linecap="round">
<line x1="60" y1="8" x2="60" y2="24"/><line x1="60" y1="96" x2="60" y2="112"/>
<line x1="8" y1="60" x2="24" y2="60"/><line x1="96" y1="60" x2="112" y2="60"/>
<line x1="23" y1="23" x2="34" y2="34"/><line x1="86" y1="86" x2="97" y2="97"/>
<line x1="23" y1="97" x2="34" y2="86"/><line x1="86" y1="34" x2="97" y2="23"/>
</g>
<circle cx="60" cy="60" r="24" fill="url(#gSun)"/>
</svg>`,
partlyCloudy: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="sun-rays" stroke="var(--accent)" stroke-width="5" stroke-linecap="round">
<line x1="42" y1="10" x2="42" y2="24"/><line x1="10" y1="42" x2="24" y2="42"/><line x1="18" y1="18" x2="28" y2="28"/>
</g>
<circle cx="42" cy="42" r="18" fill="var(--accent)"/>
<g class="cloud" fill="#fff" fill-opacity="0.95">
<circle cx="65" cy="78" r="20"/><circle cx="85" cy="68" r="24"/><circle cx="105" cy="78" r="18"/><circle cx="85" cy="92" r="18"/>
</g>
</svg>`,
cloudy: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="cloud" fill="#fff" fill-opacity="0.95">
<circle cx="40" cy="75" r="22"/><circle cx="60" cy="60" r="28"/><circle cx="85" cy="75" r="22"/><circle cx="60" cy="90" r="20"/>
</g>
</svg>`,
fog: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="cloud" fill="#fff" fill-opacity="0.8">
<circle cx="40" cy="58" r="20"/><circle cx="60" cy="48" r="24"/><circle cx="85" cy="58" r="20"/><circle cx="60" cy="72" r="18"/>
</g>
<g stroke="var(--accent)" stroke-width="5" stroke-linecap="round" opacity="0.7">
<line x1="20" y1="88" x2="100" y2="88"/><line x1="30" y1="102" x2="90" y2="102"/>
</g>
</svg>`,
drizzle: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="cloud" fill="#fff" fill-opacity="0.95">
<circle cx="40" cy="55" r="20"/><circle cx="60" cy="42" r="26"/><circle cx="85" cy="55" r="20"/><circle cx="60" cy="70" r="18"/>
</g>
<g stroke="var(--accent)" stroke-width="4" stroke-linecap="round">
<line class="drop" x1="45" y1="78" x2="42" y2="92"/><line class="drop" x1="60" y1="80" x2="57" y2="94"/><line class="drop" x1="75" y1="78" x2="72" y2="92"/>
</g>
</svg>`,
rain: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="cloud" fill="#fff" fill-opacity="0.95">
<circle cx="40" cy="55" r="20"/><circle cx="60" cy="42" r="26"/><circle cx="85" cy="55" r="20"/><circle cx="60" cy="70" r="18"/>
</g>
<g stroke="#60a5fa" stroke-width="4" stroke-linecap="round">
<line class="drop" x1="42" y1="80" x2="36" y2="102"/><line class="drop" x1="60" y1="82" x2="54" y2="104"/><line class="drop" x1="78" y1="80" x2="72" y2="102"/>
</g>
</svg>`,
snow: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="cloud" fill="#fff" fill-opacity="0.95">
<circle cx="40" cy="55" r="20"/><circle cx="60" cy="42" r="26"/><circle cx="85" cy="55" r="20"/><circle cx="60" cy="70" r="18"/>
</g>
<g fill="#fff" font-size="24" font-weight="bold">
<text class="drop" x="38" y="98">*</text><text class="drop" x="58" y="104">*</text><text class="drop" x="78" y="98">*</text>
</g>
</svg>`,
showers: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="cloud" fill="#fff" fill-opacity="0.95">
<circle cx="40" cy="55" r="20"/><circle cx="60" cy="42" r="26"/><circle cx="85" cy="55" r="20"/><circle cx="60" cy="70" r="18"/>
</g>
<g stroke="#38bdf8" stroke-width="4" stroke-linecap="round">
<line class="drop" x1="40" y1="80" x2="34" y2="104"/><line class="drop" x1="52" y1="82" x2="46" y2="106"/>
<line class="drop" x1="68" y1="82" x2="62" y2="106"/><line class="drop" x1="80" y1="80" x2="74" y2="104"/>
</g>
</svg>`,
thunder: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="cloud" fill="#fff" fill-opacity="0.95">
<circle cx="40" cy="55" r="20"/><circle cx="60" cy="42" r="26"/><circle cx="85" cy="55" r="20"/><circle cx="60" cy="70" r="18"/>
</g>
<polygon class="bolt" points="58,70 48,92 62,92 54,118 80,86 64,86 74,70" fill="var(--accent)"/>
</svg>`,
unknown: `<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<g class="cloud" fill="#fff" fill-opacity="0.95">
<circle cx="40" cy="60" r="20"/><circle cx="60" cy="48" r="26"/><circle cx="85" cy="60" r="20"/><circle cx="60" cy="74" r="18"/>
</g>
<text x="60" y="90" text-anchor="middle" fill="var(--accent)" font-size="34" font-weight="bold">?</text>
</svg>`
};
function getWeatherInfo(code) {
const base = { color: '#94a3b8', label: 'Unknown', icon: 'unknown' };
const map = {
0: { color: '#f59e0b', label: 'Clear sky', icon: 'clear' },
1: { color: '#fbbf24', label: 'Mainly clear', icon: 'partlyCloudy' },
2: { color: '#fbbf24', label: 'Partly cloudy', icon: 'partlyCloudy' },
3: { color: '#94a3b8', label: 'Overcast', icon: 'cloudy' },
45: { color: '#cbd5e1', label: 'Fog', icon: 'fog' },
48: { color: '#cbd5e1', label: 'Rime fog', icon: 'fog' },
51: { color: '#60a5fa', label: 'Light drizzle', icon: 'drizzle' },
53: { color: '#60a5fa', label: 'Moderate drizzle', icon: 'drizzle' },
55: { color: '#60a5fa', label: 'Dense drizzle', icon: 'drizzle' },
56: { color: '#60a5fa', label: 'Freezing drizzle', icon: 'drizzle' },
57: { color: '#60a5fa', label: 'Heavy freezing drizzle', icon: 'drizzle' },
61: { color: '#3b82f6', label: 'Slight rain', icon: 'rain' },
63: { color: '#3b82f6', label: 'Moderate rain', icon: 'rain' },
65: { color: '#3b82f6', label: 'Heavy rain', icon: 'rain' },
66: { color: '#3b82f6', label: 'Freezing rain', icon: 'rain' },
67: { color: '#3b82f6', label: 'Heavy freezing rain', icon: 'rain' },
71: { color: '#e2e8f0', label: 'Slight snow', icon: 'snow' },
73: { color: '#e2e8f0', label: 'Moderate snow', icon: 'snow' },
75: { color: '#e2e8f0', label: 'Heavy snow', icon: 'snow' },
77: { color: '#e2e8f0', label: 'Snow grains', icon: 'snow' },
80: { color: '#38bdf8', label: 'Slight showers', icon: 'showers' },
81: { color: '#38bdf8', label: 'Moderate showers', icon: 'showers' },
82: { color: '#38bdf8', label: 'Violent showers', icon: 'showers' },
85: { color: '#e2e8f0', label: 'Snow showers', icon: 'snow' },
86: { color: '#e2e8f0', label: 'Heavy snow showers', icon: 'snow' },
95: { color: '#a855f7', label: 'Thunderstorm', icon: 'thunder' },
96: { color: '#a855f7', label: 'Thunderstorm with hail', icon: 'thunder' },
99: { color: '#a855f7', label: 'Thunderstorm with heavy hail', icon: 'thunder' }
};
return map[code] || base;
}
const query = new URLSearchParams(window.location.search);
const lat = parseFloat(query.get('lat')) || 52.52;
const lon = parseFloat(query.get('lon')) || 13.405;
const name = query.get('name') || 'Berlin';
const today = new Date().toISOString().split('T')[0];
const date = query.get('date') || today;
const locationEl = document.getElementById('location');
const dateEl = document.getElementById('date');
const conditionTextEl = document.getElementById('condition-text');
const iconEl = document.getElementById('icon');
const maxEl = document.getElementById('max');
const minEl = document.getElementById('min');
locationEl.textContent = name;
const dateObj = new Date(date + 'T00:00:00Z');
dateEl.textContent = isNaN(dateObj) ? date : dateObj.toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', timeZone: 'UTC' });
const endpoint = date < today ? '/api/om/archive' : '/api/om/forecast';
const apiParams = new URLSearchParams();
apiParams.set('latitude', lat);
apiParams.set('longitude', lon);
apiParams.set('daily', 'temperature_2m_max,temperature_2m_min,weather_code');
apiParams.set('hourly', 'temperature_2m');
apiParams.set('timezone', 'UTC');
apiParams.set('temperature_unit', 'celsius');
apiParams.set('start_date', date);
apiParams.set('end_date', date);
fetch(`${endpoint}?${apiParams}`)
.then(r => { if (!r.ok) throw new Error('HTTP ' + r.status); return r.json(); })
.then(data => {
if (!data.daily || !data.hourly || !data.daily.time || !data.daily.time.length) {
throw new Error('Incomplete data');
}
const i = data.daily.time.findIndex(t => t.startsWith && t.startsWith(date));
const idx = i >= 0 ? i : 0;
const maxTemp = data.daily.temperature_2m_max[idx];
const minTemp = data.daily.temperature_2m_min[idx];
const code = data.daily.weather_code[idx];
const info = getWeatherInfo(code);
document.documentElement.style.setProperty('--accent', info.color);
maxEl.textContent = Number(maxTemp).toFixed(1);
minEl.textContent = Number(minTemp).toFixed(1);
conditionTextEl.textContent = info.label;
iconEl.innerHTML = svgs[info.icon];
const hourly = data.hourly.time.map((t, idx) => ({
time: t,
temp: data.hourly.temperature_2m[idx]
})).filter(h => h.time.startsWith && h.time.startsWith(date));
drawChart(hourly);
})
.catch(() => {
document.getElementById('content').style.display = 'none';
document.getElementById('error').style.display = 'block';
});
function drawChart(dayData) {
const svg = document.getElementById('chart-svg');
const tooltip = document.getElementById('tooltip');
svg.innerHTML = '';
if (!dayData || dayData.length < 2) return;
const W = 1000, H = 260, PL = 56, PR = 24, PT = 30, PB = 48;
const plotW = W - PL - PR;
const plotH = H - PT - PB;
const temps = dayData.map(d => d.temp);
const minT = Math.min(...temps);
const maxT = Math.max(...temps);
const pad = Math.max((maxT - minT) * 0.15, 0.5);
const yMin = minT - pad;
const yMax = maxT + pad;
const x = i => PL + i * (plotW / (dayData.length - 1));
const y = t => H - PB - ((t - yMin) / (yMax - yMin)) * plotH;
const defs = document.createElementNS('http://www.w3.org/2000/svg', 'defs');
defs.innerHTML = `<linearGradient id="areaGradient" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="var(--accent)" stop-opacity="0.6"/>
<stop offset="100%" stop-color="var(--accent)" stop-opacity="0"/>
</linearGradient>`;
svg.appendChild(defs);
const steps = 4;
for (let s = 0; s <= steps; s++) {
const t = yMin + (yMax - yMin) * (s / steps);
const yp = y(t);
const line = createSVGElement('line', {
x1: PL, x2: W - PR, y1: yp, y2: yp, class: 'grid-line'
});
svg.appendChild(line);
const text = createSVGElement('text', {
x: PL - 10, y: yp + 4, 'text-anchor': 'end', class: 'axis'
});
text.textContent = Math.round(t) + '°';
svg.appendChild(text);
}
let d = `M ${x(0)} ${y(dayData[0].temp)}`;
for (let i = 1; i < dayData.length; i++) d += ` L ${x(i)} ${y(dayData[i].temp)}`;
const area = createSVGElement('path', { d: d + ` L ${x(dayData.length - 1)} ${H - PB} L ${x(0)} ${H - PB} Z`, class: 'area-fill' });
svg.appendChild(area);
const line = createSVGElement('path', { d, class: 'temp-line' });
svg.appendChild(line);
dayData.forEach((pt, i) => {
const c = createSVGElement('circle', { cx: x(i), cy: y(pt.temp), r: 4, class: 'data-point' });
svg.appendChild(c);
});
dayData.forEach((pt, i) => {
if (i % 3 !== 0) return;
const hour = parseInt(pt.time.split('T')[1].split(':')[0], 10).toString().padStart(2, '0');
const text = createSVGElement('text', {
x: x(i), y: H - 16, 'text-anchor': 'middle', class: 'axis'
});
text.textContent = hour + ':00';
svg.appendChild(text);
});
const cursorLine = createSVGElement('line', { id: 'cursor-line', y1: PT, y2: H - PB });
svg.appendChild(cursorLine);
const overlay = createSVGElement('rect', { x: 0, y: 0, width: W, height: H, fill: 'transparent' });
svg.appendChild(overlay);
svg.addEventListener('mousemove', e => {
const rect = svg.getBoundingClientRect();
const vx = (e.clientX - rect.left) * (W / rect.width);
let idx = Math.round((vx - PL) / (plotW / (dayData.length - 1)));
idx = Math.max(0, Math.min(dayData.length - 1, idx));
const pt = dayData[idx];
const px = x(idx);
const py = y(pt.temp);
cursorLine.setAttribute('x1', px);
cursorLine.setAttribute('x2', px);
cursorLine.style.display = 'block';
const hour = parseInt(pt.time.split('T')[1].split(':')[0], 10).toString().padStart(2, '0');
tooltip.textContent = `${hour}:00 — ${pt.temp.toFixed(1)}°C`;
tooltip.style.left = (px / W * rect.width) + 'px';
tooltip.style.top = (py / H * rect.height) + 'px';
tooltip.style.opacity = 1;
});
svg.addEventListener('mouseleave', () => {
cursorLine.style.display = 'none';
tooltip.style.opacity = 0;
});
}
function createSVGElement(tag, attrs) {
const el = document.createElementNS('http://www.w3.org/2000/svg', tag);
for (const [k, v] of Object.entries(attrs)) el.setAttribute(k, v);
return el;
}
</script>
</body>
</html>L1 — cheap deterministic descriptors
| bytes total | 22,014 | html / css / js | 1,608 / 6,074 / 14,332 |
|---|---|---|---|
| dom nodes | 37 | dom depth | 8 |
| css rules | 55 | js present | yes |
| brightness | 38.0 | contrast | 23.3 |
| colorfulness | 13.7 | whitespace | 83.4% |
This slot's telemetry
| prompt tokens | 40,775 | completion tokens | 31,493 |
|---|---|---|---|
| total tokens | 72,268 | wall | 189.5 s |
| cost | — | request id | — |
config.json563 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "kimi-k2.7-code--cli--cursor--dev",
"effort": null,
"family": "kimi",
"m": {
"min": 2,
"q": 2
},
"model_id": "kimi-k2.7-code",
"protocol": "cli",
"served_model": "kimi-k2.7-code",
"telemetry": {
"completion_tokens": 58029,
"cost_usd": null,
"prompt_tokens": 77977,
"total_tokens": 136006,
"wall_ms": 360887
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-s1",
"config_id": "kimi-k2.7-code--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-13T02:10:19.468226+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T02:09:32.797850+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-13T02:13:32.655200+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T02:10:23.151132+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-13T02:14:58.269604+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T02:13:35.811208+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-08-13T02:15:44.158183+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T02:15:01.894521+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
}
}
}