let agentVersions = {sources: {}}; function recordedAgentVersion(ep) { const source = Object.entries(agentVersions.sources).find(([path]) => ep.links?.provenance?.endsWith('/' + path)); return source?.[1]?.[ep.variant] || (ep.harness === 'kinex' ? source?.[1]?.kinex : null); } function agentVersion(ep) { return recordedAgentVersion(ep)?.label || (ep.kinex_version ? 'Kinex v' + ep.kinex_version : ep.codex_version ? 'Codex ' + ep.codex_version : ep.claude_code_version ? 'Claude Code ' + ep.claude_code_version : 'Version not recorded'); } function plusSeedNote(task,variant,ep) { const selection=variant==='kinex'?(ep?.measured_protocol?.seed_selection||task.planned_protocol_by_variant?.kinex?.seed_selection):null; if(!selection)return ''; return ``; } 'use strict'; const plannedProtocol = (task, variant) => task.planned_protocol_by_variant?.[variant] || task.planned_protocol; // RoboEnv LIBERO raw counters include five initialization frames; RoboBridge counters do not. const actionSteps = (value, task, variant=task?.variant || current.variant || filters.variant) => Number.isFinite(value) ? Math.max(0, value - (task?.initialization_control_steps ?? task?.planned_protocol_by_variant?.[variant]?.initialization_control_steps ?? 0)) : null; const currentBudget = task => data.budget_defaults?.tasks?.[task.native_id]?.action_step_limit ?? null; const budgetNote = task => `

${currentBudget(task)==null?'':`Current benchmark default: ${number(currentBudget(task))} action steps. `}${task.family==='task02'?'RoboEnv and rosbridge displays exclude five initialization steps; RoboBridge directly counts agent actions. ':''}Recorded episodes and campaign plans retain their original budgets.

`; const $ = s => document.querySelector(s); const $$ = s => [...document.querySelectorAll(s)]; const esc = value => String(value ?? '').replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); const number = v => v == null ? '—' : Number(v).toLocaleString('en-US'); const compact = v => v == null ? '—' : Math.abs(v) >= 1e9 ? (v/1e9).toFixed(2)+'B' : Math.abs(v) >= 1e6 ? (v/1e6).toFixed(2)+'M' : Math.abs(v) >= 1e3 ? (v/1e3).toFixed(1)+'K' : Math.round(v).toString(); const pct = v => v == null ? '—' : (v*100).toFixed(1)+'%'; const elapsed = v => v == null ? '—' : v >= 3600 ? (v/3600).toFixed(1)+' h' : v >= 60 ? (v/60).toFixed(1)+' min' : v.toFixed(1)+' s'; const arrow = ''; // Text-target Clean 50k presentation. const colors = {'kinex-vlact50k-input-required-text':'#7a6940','kinex-vlact50k-autonomous':'#4674a3','kinex-vlact50k-input-required':'#a96682','kinex-vla-input-required':'#b35349','kinex-vla-autonomous':'#367d96','kinex-vla-input-guided':'#96703b','standalone-oft-all140k':'#547a36','standalone-vlact-clean':'#a75f7f','standalone-vlact-all':'#bd733b','standalone-official':'#39819c','standalone':'#39819c','kinex_policy':'#756ee4','kinex':'#27847a','codex-astra-spectator':'#a76a34','codex-astra':'#39819c','kinex-astra':'#756ee4','cc-opus':'#b48566','kinex-opus':'#958bc8','cc-opus-vertex-high':'#c9875a','cc-opus-vertex-xhigh':'#8c5a3a','kinex-opus-vertex-high':'#5b8bd8','kinex-opus-vertex-xhigh':'#3a5ba6','cc-opus-vertex-high-run2':'#e0a37a','cc-opus-vertex-xhigh-run2':'#a8704a','kinex-opus-vertex-high-run2':'#86aae6','kinex-opus-vertex-xhigh-run2':'#5876c0'}; let data, epoch = 0, current = {}, matrixMetric = 'success'; let filters = {query:'',family:'',status:'',variant:'standalone-vlact-clean',sort:'catalog'}; let sessionState = {filter:'all',query:'',count:40,view:'timeline'}; let imageItems = [], imageIndex = 0; const sessionCache = new Map(), fileCache = new Map(); const episodes = (variant, family) => data.episodes.filter(e => (!variant || e.variant===variant) && (!family || e.family===family)); const reviewFor = (key, variant) => (data.runtime_reviews||[]).find(r => r.task_key===key && r.variant===variant); const epFor = (key, variant) => data.episodes.find(e => e.task_key===key && e.variant===variant); const plannedTasks = variant => data.tasks.filter(t => !variant || t.planned_variants.includes(variant)); const variantFor = id => data.variants.find(v => v.id===id); const familyName = id => data.families.find(f => f.id===id)?.name || id; const variantName = id => {const v=variantFor(id);return v ? `${methodLabel(v)} + ${v.model}` : id;}; const taskRoute = (key, variant='kinex', section='overview') => `#task/${key}/${variant}${section==='overview' ? '' : '/'+section}`; const outcome = e => !e ? 'pending' : e.valid===false ? 'invalid' : typeof e.success!=='boolean' ? 'unreported' : e.success ? 'pass' : 'fail'; const badge = (e, link) => {if(!e&&link){const p=link.split('/'),t=data.tasks.find(t=>t.key===p.slice(1,3).join('/'));if(t&&!t.planned_variants.includes(p[3]))return 'Not scheduled';}if(!e&&link){const p=link.split('/');if(reviewFor(p.slice(1,3).join('/'),p[3]))return `Under review`;}const s=outcome(e),tag=link?'a':'span';return `<${tag} class="badge ${s}" ${link ? `href="${esc(link)}"` : ''}>${s==='pending'?((data.active_campaign?.initialization_blocked||[]).includes((link||'').split('/').slice(1,4).join('/'))?'Blocked':'Pending'):s==='invalid'?'Invalid':s==='unreported'?'Unreported':s==='pass'?'Pass':'Fail'}`;}; const external = (url,label,cls='') => typeof url==='string' && /^(https?:|[a-zA-Z0-9_.-]+\/|[a-zA-Z0-9_.-]+\.json)/.test(url) ? `${esc(label)} ${arrow}` : ''; // Explicit checkpoint and protocol labels. const methodLabel = v => ({ 'kinex-vla-autonomous':'Kinex + Qwen3-VL-OFT · All 140k (autonomous)', 'kinex-vla-input-guided':'Kinex + Qwen3-VL-OFT · All 140k (input-guided)', 'kinex-vla-input-required':'Kinex + Qwen3-VL-OFT · All 140k (input-required · text targets)' }[v.id] || v.label || v.agent); const protocolLabel = v => v.id==='kinex-vlact50k-input-required-text' ? 'Protocol: input-required · text-targets-v1' : v.id==='kinex-vlact50k-input-required' ? 'Protocol: input-required · numeric-target-text-v1' : v.id==='kinex-vlact50k-autonomous' ? 'Protocol: autonomous · verbatim-text-v1' : v.id==='kinex-vla-input-required' ? 'Protocol: five JSON fields · nullable targets' : ''; function checkpointDetails(v) { if(!v.checkpoint_repo)return ''; return ``; } function vlactCampaignProgress() { const c=data.active_campaign;if(!c)return ''; const textTargets=c.input_contract==='text-targets-v1'; const report=textTargets?'text-target-hard50-20261106':'numeric-target-hard50-20261106'; const scope=textTargets?'input-required · text targets':'autonomous and input-required · numeric targets'; return ``; } const modelLabel = v => `${v.model} / ${v.effort} / ${esc(v.provider)}`; const icon = v => ``; function stats(es) { return UsageMetrics.stats(es); } window.benchmarkStats = stats; const tokens = e => e && Number.isFinite(e.usage?.input_tokens) && Number.isFinite(e.usage?.output_tokens) ? e.usage.input_tokens+e.usage.output_tokens : null; function metric(value,label,detail='',attrs='') {return `
${label}${value}${detail?`${detail}`:''}
`;} function variantTabs(selected,taskKey,section) { return `
${data.variants.filter(v=>!taskKey||data.tasks.find(t=>t.key===taskKey)?.planned_variants.includes(v.id)).map(v=>`${icon(v)}${esc(methodLabel(v))}${taskKey?badge(epFor(taskKey,v.id)):''}${modelLabel(v)}`).join('')}
`; } const rangeNumber = (lo,hi,formatter=compact) => UsageMetrics.bounds(lo,hi,formatter); const costValue = s => UsageMetrics.bounds(s.costLow,s.costHigh,UsageMetrics.money); const exactMoney = v => v == null ? '—' : '$'+v.toLocaleString('en-US',{minimumFractionDigits:6,maximumFractionDigits:6}); const costNote = s => !s.n ? 'Not evaluated' : s.costCount!==s.n ? `Pricing available for ${s.costCount} / ${s.n} episodes` : s.conditional ? 'Estimated · 5m cache-write basis' : 'Estimated · recorded session rates'; function taskResult(ep, link) { const s=stats(ep?[ep]:[]), cost=costValue(s); return `${badge(ep,link)}${cost}`; } function usageTiles(s,includeCost=true) { return `
${metric(compact(s.fresh),'Fresh input','',`title="${number(s.fresh)}"`)}${metric(rangeNumber(s.cacheLow,s.cacheHigh),'Cache read','',`title="${rangeNumber(s.cacheLow,s.cacheHigh,number)}"`)}${metric(compact(s.cacheWrite),'Cache write','',`title="${number(s.cacheWrite)}"`)}${metric(compact(s.output),'Output')}${metric(rangeNumber(s.cacheRateLow,s.cacheRateHigh,pct),'Cache hit rate')}${includeCost?metric(costValue(s),'Estimated cost'):''}
`; } function modelGroups() { const groups=new Map(); for (const v of data.variants) { const key=v.model+' / '+v.effort; if(!groups.has(key))groups.set(key,{key,model:v.model,effort:v.effort,variants:[]}); groups.get(key).variants.push(v); } return [{key:'baselines',model:'RoboTwin 2.0 Hard',effort:'Selected seeds',variants:data.variants}]; } let expandedModels=null; function perTaskStats(s) { const average = value => s.n > 0 && Number.isFinite(value) ? value / s.n : null; const result = {...s, perTask: true}; for (const key of ['inclusive','fresh','cacheWrite','input','cached','output','inputLow','inputHigh','cacheLow','cacheHigh','reasoning','costLow','costHigh','knownCost']) result[key] = average(s[key]); result.buckets = s.buckets.map(b => ({...b, tokens: average(b.tokens), lower: average(b.lower), upper: average(b.upper)})); return result; } function comparisonCell(v,f) { if(!plannedTasks(v.id).some(t=>t.family===f.id))return 'Not scheduled'; const s=stats(episodes(v.id,f.id)),mean=perTaskStats(s),link=`#runs/${v.id}?family=${f.id}`; let value; if(matrixMetric==='success')value=`
${pct(s.rate)}${s.n?s.passes+' / '+s.n+' passed':'Not evaluated'}
`; else if(matrixMetric==='tokens')value=`
Fresh input / task
${compact(mean.fresh)}
Cache write / task
${compact(mean.cacheWrite)}
Cache read / task
${rangeNumber(mean.cacheLow,mean.cacheHigh)}
Cache hit
${rangeNumber(s.cacheRateLow,s.cacheRateHigh,pct)}
Output / task
${compact(mean.output)}
`; else value=`
${costValue(mean)}USD / task · ${costNote(s)}
`; return `${value}${s.n} evaluated · ${plannedTasks(v.id).filter(t=>t.family===f.id).length-s.n} pending ${arrow}`; } function comparisonTable() { return `

Compare methods

${[['success','Success rate'],['tokens','Tokens / task'],['cost','Cost / task']].map(([k,l])=>``).join('')}
${modelGroups().map((g,i)=>`
${esc(g.model)}${g.key==='baselines'?'One episode per task':esc(g.effort)+' effort'}${g.variants.length} variants ⌄
${g.variants.map(v=>``).join('')}${data.families.map(f=>`${g.variants.map(v=>comparisonCell(v,f)).join('')}`).join('')}
Environment${icon(v)}${esc(methodLabel(v))} ${arrow}${modelLabel(v)}
${f.id.slice(-2)}${esc(f.name)}${f.tasks} tasks
`).join('')}
`; } function recordingPilotProgress(){ const p=data.recording_pilot;if(!p)return ''; return `
Codex + RoboBridge · GPT-6 Astra / high · GPU recording pilot

${number(p.completed)} / ${number(p.planned)} independent attempts published: LIBERO, RoboTwin, and two RoboDojo recording conditions. This pilot does not cover the full benchmark.

LIBERO and RoboTwin use independent 720-high spectator cameras. RoboDojo compares native camera recording with online HD recording. Both keep native agent camera resolution, but the RTX control test found that extra HD cameras change subsequent native image pixels. The HD control is shown separately.

Videos play at 4× simulation speed. Session galleries contain images actually submitted to the agent. One model episode per condition cannot establish a success-rate effect.

`; } function recordingComparisonNote(ep){ if(!ep.recording_comparison)return ''; const hd=ep.recording_mode==='spectator'; return ``; } function opusPilotProgress(){ const c=data.pilot_campaigns?.['cc-opus'];if(!c)return '';const n=c.counts||{}; return `
Claude Code · Opus 5.5 / high

${number(n.finished||0)} / ${number(c.planned_episodes)} episodes completed · ${number(n.running||0)} running · ${number(n.queued||0)} pending${n.needs_review?' · '+number(n.needs_review)+' under review':''}${n.interrupted?' · '+number(n.interrupted)+' interrupted':''}.

${c.quota_waiting?'Waiting for model-service quota recovery · ':''}${number(c.published_episodes)} episode records published · Results and protocol ↗

`; } function methodology() { return `
Reading the Hard benchmarkProtocol, metrics & provenance+

Full-suite comparison and input-guided pilot

RoboTwin 2.0 Hard, ALOHA AgileX, demo_randomized. The five original conditions cover 50 tasks each. Earlier All 140k autonomous and input-required results cover 50 RLE tasks, retaining their first ten results. The VLAct Clean 50k comparison adds 100 fresh episodes: 50 tasks in each of its two protocols. Input-guided retains its first 10 RLE tasks. Completion and denominators are shown separately. Successes and valid failures are both retained; no completed, protocol-valid agent outcome was retried. This is RoboTwin 2.0 Hard, not RoboTwin 2.0-Plus.

Instruction protocols

Pure Kinex and all Kinex + VLA conditions use the revised RLE Hard templates and public scene bindings. VLA checkpoints and archived Kinex results retain original upstream unseen instructions. Each episode records the exact measured instruction and its authorship policy.

Checkpoint identity

Base 40k: StarVLA/Qwen3-VL-OFT-Robotwin2. VLAct Clean 50k: StarVLA/VLAct_Qwen3OFT_Robotwin_Finetune. VLAct All 100k: StarVLA/VLAct_Qwen3OFT_Robotwin_all_Finetune. Non-VLAct All 140k: StarVLA/Qwen3-VL-OFT-RoboTwin2-All, trained on 27,500 clean and randomized demonstrations. Full revisions and weight checksums are linked below. Pure Kinex uses GPT-6 Astra / high. The three earlier Kinex + VLA protocols use All 140k. The new autonomous and input-required conditions use VLAct Clean 50k, with 50 fresh Hard episodes per condition, 32-action chunks and the released wrap decoder. In the retained All 140k study, autonomous left input selection unguided, input-guided added optional context suggestions, and input-required used five JSON fields with nullable targets. The new VLAct Clean 50k autonomous condition leaves caller text unconstrained. Its input-required condition uses numeric-target-text-v1: instruction and one or two numerical TCP/joint targets, with optional feedback. Targets include an observation timestamp, source and uncertainty; desired joint targets may be derived by IK. Null or qualitative targets are rejected. Validation checks syntax, not grounding, reachability or learned compliance. The full JSON enters the frozen model as language text without a trained numerical encoder. Both modes leave VLA invocation and action execution to Kinex; zero VLA calls are valid. These are distinct protocols, and historical records retain their original descriptions.

Execution and seeds

Standalone VLA uses official expert admission from scene seed 100000 and official take_action with full predicted chunks. Current pure Kinex uses rosbridge at 25 Hz and the authored RLE manifest seeds and overrides, frozen before model use. No seed substitution or expert-success filtering is performed during this campaign. Seeds, admission rules and physical durations are not matched across the interfaces; this is not a paired causal comparison. Per-episode seeds and budgets are retained. In the superseded protocol study, two preliminary guided attempts were native successes but are excluded because a profile serialization defect corrupted their interface; their diagnostics are retained in the protocol report. Two further attempts were interrupted by provider quota exhaustion (HTTP 429) and restarted with unchanged seeds and budgets after quota recovery; both interruption records are preserved. The Kinex + VLA protocols share RLE instructions, authored seeds, budgets and the nominal 60 ms data clock resampled to 40 ms controls; prefixes and other control choices belong to the agent. Historical standalone results use native TOPP and are not an execution-matched baseline for this comparison.

Initialization provenance

Five infrastructure startup attempts produced no completed model response and are excluded from the original 200 valid outcomes. For hanging_mug, a minimal runtime repair retains native language bindings if the expert path fails before finishing. Selected seed 0, task physics and the native verifier are preserved.

Usage and costs

Estimated API-equivalent costs use recorded Pi session values. Actual account charges and GPU costs are not measured. Standalone VLA has zero language-agent API calls, not zero compute cost.

`; } const expandedTaskVariants = new Set(); const visibleTaskVariants = () => data.variants.filter(v => expandedTaskVariants.has(v.id)); function taskColumnPicker() { return `
Choose methods to compare

All method columns are collapsed. Select one or more to compare.

${data.variants.map(v=>``).join('')}
`; } function taskColumnHeaders() { return 'Task' + visibleTaskVariants().map(v=>`
${esc(methodLabel(v))}
${esc(v.model)} · ${esc(v.effort)}Native result · Estimated USD`).join(''); } function syncTaskColumns() { if(current.type==='runs')return; const variants=visibleTaskVariants(), table=$('#task-comparison'); table.querySelector('thead tr').innerHTML=taskColumnHeaders(); table.classList.toggle('has-methods',variants.length>0); table.style.setProperty('--method-count',variants.length); $$('[data-task-column].task-column-toggle').forEach(button=>{ const expanded=expandedTaskVariants.has(button.dataset.taskColumn); button.setAttribute('aria-expanded',expanded); button.querySelector('.column-toggle-icon').textContent=expanded?'−':'+'; }); $('#task-column-status').textContent=variants.length?`${variants.length} of ${data.variants.length} method columns expanded. Select another method to compare.`:'All method columns are collapsed. Select one or more to compare.'; $('[data-task-columns="none"]').disabled=variants.length===0; $('[data-task-columns="all"]').disabled=variants.length===data.variants.length; } function taskBrowser(variant=null) { return `
${variant?'Episode index':'Browse the benchmark'}

Explore tasks ${plannedTasks(variant).length}

${variant?'':taskColumnPicker()}
${variant?'':``}
${variant?'':taskColumnHeaders()}
TaskNative resultFresh inputExcludes read and writeCache readCache writeCache hitOutputTotal costEstimated USDAction steps
`; } function renderRows() { const variant=current.type==='runs'?current.variant:null, selected=variant||filters.variant, q=filters.query.trim().toLowerCase(); let tasks=plannedTasks(variant).filter(t=>(!filters.family||t.family===filters.family)&&(!filters.status||outcome(epFor(t.key,selected))===filters.status)&&(!q||[t.key,t.title,t.catalog_instruction,t.native_id,familyName(t.family)].some(s=>s?.toLowerCase().includes(q)))); if(filters.sort==='name') tasks.sort((a,b)=>a.title.localeCompare(b.title)); if(filters.sort==='tokens') tasks.sort((a,b)=>(UsageMetrics.usage(epFor(b.key,selected)).fresh??-1)-(UsageMetrics.usage(epFor(a.key,selected)).fresh??-1)); if(filters.sort==='cost') tasks.sort((a,b)=>(UsageMetrics.price(epFor(b.key,selected))?.upper??-1)-(UsageMetrics.price(epFor(a.key,selected))?.upper??-1)); syncTaskColumns(); $('#task-rows').innerHTML=tasks.length?tasks.map(t=>{const ep=epFor(t.key,selected),us=UsageMetrics.usage(ep),cs=stats(ep?[ep]:[]);return `${esc(t.title)} ↗${familyName(t.family)} · ${t.key}${data.task_notes[t.key]?'◆ Native note':''}${variant?`${badge(ep,taskRoute(t.key,selected))}${compact(us.fresh)}${rangeNumber(us.cacheLow,us.cacheHigh)}${compact(us.cacheWrite)}${rangeNumber(us.cacheRateLow,us.cacheRateHigh,pct)}${compact(us.output)}${costValue(cs)}${number(actionSteps(ep?.steps,t))}${ep?'of '+number(actionSteps(ep.measured_protocol?.max_steps,ep)):number(actionSteps(plannedProtocol(t,selected).max_control_steps,t))+' campaign plan'}`:visibleTaskVariants().map(v=>`${taskResult(epFor(t.key,v.id),taskRoute(t.key,v.id))}`).join('')}`;}).join(''):`No tasks match these filters. `; $('#task-count').textContent=`${tasks.length} of ${data.tasks.length} tasks`; $('#filter-context').textContent=variant?variantName(variant):'Outcome filter & usage/cost sort: '+variantName(filters.variant); } function researchRerunNote() { const r=data.research_update;if(!r)return ''; return ``; } function overview() { current={type:'overview'}; $('#main').innerHTML=`
RLE-Bench · Embodied agent evaluation

RoboTwin 2.0.
Hard evaluation.

demo_randomized · one episode per selected task.
Kinex and the paired Kinex + VLA study use RLE revised instructions; four standalone VLA checkpoints retain native instructions.

${data.families.length}environment
${data.tasks.length}distinct tasks
${data.variants.length}agent–model variants
${data.benchmark_complete?'Evaluation complete':'Evaluation in progress'} · selected seeds
${vlactCampaignProgress()}${researchRerunNote()}${recordingPilotProgress()}${opusPilotProgress()}
${data.variants.map(v=>{const s=stats(episodes(v.id));return `
${icon(v)}${esc(methodLabel(v))}${s.n===plannedTasks(v.id).length?'Complete':s.n?'Partial':'Planned'}

${modelLabel(v)}

${pct(s.rate)}native success
${s.n?s.passes+' / '+s.n:'—'} passed${costValue(s)} total costEstimated USD
${s.n} / ${plannedTasks(v.id).length} evaluated${s.n?'Explore runs':'View planned'} ${arrow}
`;}).join('')}
${comparisonTable()}
Instructions audit

Compare current RLE goals with native descriptions, runtime language pools and recorded episode instructions.

${taskBrowser()}${methodology()}`; ModelCards.mount($('.agent-cards'), 'hard'); renderRows(); } function runsPage(variant,params,restoredFilters=null) { if(!variantFor(variant)){overview();return;} if(current.type!=='runs'||current.variant!==variant)filters={query:'',family:'',status:'',variant,sort:'catalog'}; current={type:'runs',variant};filters.variant=variant; if(params.has('family')){filters.family=params.get('family');filters.status='';filters.query='';} if(restoredFilters)filters={...restoredFilters}; const v=variantFor(variant),s=stats(episodes(variant)); $('#main').innerHTML=`${variantTabs(variant)}
${s.n?'Selected results':'Planned evaluation'}

${esc(methodLabel(v))} × ${v.model}

${esc(v.effort)} effort · One seed per task · ${s.n} evaluated · ${plannedTasks(variant).length-s.n} pending

${checkpointDetails(v)}
${metric(pct(s.rate),'Native success',s.n?`${s.passes} passed / ${s.n} evaluated`:'No recorded episodes')}${metric(costValue(s),'Total cost',costNote(s))}${metric(number(s.responses??s.usageMessages),s.responses==null&&s.usageMessages!=null?'Session usage messages':'Model responses',s.n?(s.responses==null&&s.usageMessages!=null?'Provider response identity unavailable':'Recorded response count'):'Not yet measured')}${metric(elapsed(s.wall==null?null:s.wall/s.n),'Mean wall time',s.n?'Per evaluated episode':'Not yet measured')}
${usageTiles(s,false)}
${data.families.map(f=>{const fs=stats(episodes(variant,f.id));if(!plannedTasks(variant).some(t=>t.family===f.id))return '';return ``;}).join('')}
${taskBrowser(variant)}${methodology()}`; renderRows(); } function nativeNote(task,ep) { const note=data.task_notes[task.key];if(!note)return ''; return ``; } function videoPanel(ep,mini=false) { const m=ep.media||{},speed=m.speed||1,links=ep.links; return `
Native recording${m.width||'—'} × ${m.height||'—'} · ${m.duration_s==null?'':m.duration_s.toFixed(2)+' s'}
${external(links.video,'Video','button small')}${external(links.terminal_frame,'Still','button small')}
`; } function episodeMetrics(ep) { const u=ep.usage||{},s=stats([ep]); return `
${usageTiles(s)}
${u.response_count==null&&Number.isFinite(u.known_response_count)?number(u.known_response_count)+'+':number(u.response_count??u.usage_message_count)} ${u.response_count==null&&u.usage_message_count!=null?'session usage messages':'model responses'}${number(ep.call_activity?.model_tool_calls)} tool calls${external(ep.links.usage,'Usage accounting record')}
`; } // Align words and punctuation while preserving the exact original whitespace. function instructionDiff(original, revised) { const split = text => text.match(/\s+|[\p{L}\p{N}_]+|[^\s]/gu) || []; const a=split(original), b=split(revised); const lcs=Array.from({length:a.length+1},()=>new Uint16Array(b.length+1)); for(let i=a.length-1;i>=0;i--)for(let j=b.length-1;j>=0;j--) lcs[i][j]=a[i]===b[j]?lcs[i+1][j+1]+1:Math.max(lcs[i+1][j],lcs[i][j+1]); const before=[],after=[]; const append=(list,text,changed)=>{const last=list.at(-1);if(last&&last.changed===changed)last.text+=text;else list.push({text,changed});}; let i=0,j=0; while(i=lcs[i+1][j]))append(after,b[j++],true); else append(before,a[i++],true); } const html=(parts,kind)=>parts.map(p=>p.changed&&p.text.trim()?`<${kind==='removed'?'del':'mark'} class="instruction-${kind}">${esc(p.text)}`:esc(p.text)).join(''); return {original:html(before,'removed'),revised:html(after,'added')}; } function instructionPair(task, ep) { const candidate = ep ? measuredInstructions.episodes[ep.id] : null; const record = candidate && candidate.initial_goal === ep.instruction && candidate.task_key === task.key ? candidate : null; const recordedNative = record?.observed_native || (ep ? ep.native_instruction : task.native_instruction); const measured = record?.text || (ep ? (ep.instruction || (ep.instruction_policy === 'original_native' ? recordedNative : null)) : null); const reference = catalogInstructionAudit.tasks.find(item => item.published_task_key === task.key && item.id === task.native_id); const nativeReference = !recordedNative && reference?.native ? reference : null; const native = recordedNative || nativeReference?.native; return {record, native, measured, nativeReference}; } function instructionPanel(task,ep) { const {record,native,measured:recorded,nativeReference}=instructionPair(task,ep); const measured=ep?recorded:(task.catalog_instruction_by_variant?.[current.variant]||task.catalog_instruction); const initial=record&&record.initial_goal!==measured?record.initial_goal:null; const changed=Boolean(native&&measured&&native!==measured); const diff=changed?instructionDiff(native,measured):null; const choices=[['measured',ep?'Measured':'Planned',measured],['native','Original native',native],['current','Current catalog',null]].filter(([key,,text])=>text&&(key!=='current'||(ep&&text!==measured&&text!==initial))); const currentChanged=native&&task.catalog_instruction&&native!==task.catalog_instruction; const description=!ep?'The current catalog instruction for the planned evaluation.':record?.kind==='scene_bound_goal'?"The measured goal with this episode's objects and targets filled in from the agent's session.":record?.kind==='native_received'?'The native instruction received by the agent during this episode.':'The task instruction supplied for this episode.'; return `

Task instruction

${description}

${choices.map(([k,label],i)=>``).join('')}
${nativeReference?`

Native comparison uses the pinned upstream full_description reference${ep?'; native text was not recorded in this episode':''}. ${external(nativeReference.source_url,'Native source')}

`:''}${choices.map(([k,,text],i)=>{ const comparison=k==='current'?(currentChanged?instructionDiff(native,text):null):diff; const html=comparison?(k==='native'?comparison.original:comparison.revised):esc(text); const note=comparison?(k==='native'?'Struck-through text was removed or replaced in the '+(ep?'measured':'planned')+' instruction.':'Highlighted text was added or replaced relative to the original native instruction.'):(native?'No changes from the original native instruction.':'Original native text is unavailable for comparison.'); return `

${comparison?``:''}${note}${k==='current'?' This catalog text is not the measured episode instruction.':''}

${html}
`; }).join('')}${record&&initial?`

${record.kind==='scene_bound_goal'?'Object names are resolved for display; the measured completion requirements are preserved.':'The initial input contained a generic placeholder; this native instruction was received in the recorded session.'} Original instruction record ↗ · Session evidence ↗

`:''}
`; } function overviewDetail(task,ep) { const seedLimit=data.active_campaign?.native_seed_selection?.[task.key]; const initializationNote=task.initialization_note_by_variant?.[ep?.variant]||task.initialization_note; const initializationBlocked=(data.active_campaign?.initialization_blocked||[]).includes(task.key+'/'+current.variant); const review=reviewFor(task.key,current.variant); if(!ep&&review)return `
Under review

Native success recorded; runtime finalization failed

${esc(review.reason)}

Original harness verdict: invalid. Recording manifest: incomplete. This attempt is excluded from formal success metrics; its usage is retained separately.

Native terminal steps
${number(actionSteps(review.native_terminal_steps,task,current.variant))}
Fresh input
${number(review.usage.fresh_input_tokens)}
Cache read
${number(review.usage.cached_input_tokens)}
Output
${number(review.usage.output_tokens)}
Model responses
${number(review.usage.response_count)}
Estimated API-equivalent cost
${exactMoney(review.estimated_api_equivalent_usd)}

Both original camera streams decode successfully. Their completion manifest was not sealed, so they are retained as review evidence.

${instructionPanel(task,null)}`; if(!ep)return `
○${initializationBlocked?'Initialization blocked':'Awaiting evaluation'}

${seedLimit?.exhausted?'No native-valid seed at or below '+number(seedLimit.max_seed):initializationBlocked?'Native seed 0 could not initialize':'No recorded episode yet'}

${variantName(current.variant)} / ${esc(variantFor(current.variant).effort)}

${metric(number(actionSteps(plannedProtocol(task,current.variant).max_control_steps,task)),'Campaign planned action steps')}${metric(String(task.planned_seed_by_variant?.[current.variant]??plannedProtocol(task,current.variant).seed),'Seed')}${metric(plannedProtocol(task,current.variant).control_frequency_hz+' Hz','Control frequency')}

${seedLimit?.exhausted?'Native checks exhausted seeds 1–'+number(seedLimit.max_seed)+'. No Codex model attempt was launched. The original Kinex result is retained; this unavailable Codex task is excluded from success rates.':initializationBlocked?'No model was called. The authored seed could not initialize; a seed-selection decision is pending. This case is excluded from native success rates.':'This task is included in the planned catalog. Results and usage will appear after evaluation.'}

${instructionPanel(task,null)}
${seedLimit?.evidence_url?external(seedLimit.evidence_url,'Native seed selection evidence'):''}${nativeNote(task,null)}`; const m=ep.media||{},u=ep.usage||{},a=ep.analysis||{}; const reason=a.evidence_note||a.failure_reason||a.cause||a.observed||a.visible_completion; return `
${videoPanel(ep)}

${m.playback_kind==='official_action_index'?'Head + left wrist + right wrist · 4× official recording, not simulation time. Wrist views update only at inference boundaries. Native 320 × 240 views are upscaled for display; action-limit recordings omit the post-final-action frame.':ep.recording_mode==='native'?'Native camera recording · cached agent-resolution frames · '+(m.speed||1)+'× simulation speed.':ep.provider==='robobridge'&&m.playback_kind==='live_spectator'?'Independent spectator cameras · 720 px high per view · overview + wrist views · '+(m.speed||1)+'× simulation speed. Agent images retain native resolution and orientation.':m.playback_kind==='native_observation_snapshots'?'Native observation snapshots · 10 FPS playback; this is not simulation time.':`${m.source_fps?m.source_fps+' FPS source capture · ':''}${m.speed||1}× simulation speed.`} Session timestamps use wall time and are not synchronized to video frames.

${nativeNote(task,ep)}${ep.post_terminal_review?``:""}${initializationNote?``:''}${ep.usage_review?``:""}${ep.native_clock_review?``:""}${ep.collector_review&&ep.collector_review.schema!=="rlebench/collector-recovery/1"?``:""}${ep.provenance?.protocol_exception?.same_seed_comparison===false?``:''}${recordingComparisonNote(ep)}${episodeMetrics(ep)}
${instructionPanel(task,ep)}

Episode notes

Recorded observations and task-specific interpretation.

${reason?`

${esc(reason)}

`:`

${esc(a.outcome||'The native result and original evidence are retained for this episode.')}

`}
Read recorded analysis${Object.entries(a).filter(([k])=>k!=='preflight').map(([k,v])=>`
${esc(k.replaceAll('_',' '))}

${esc(typeof v==='string'?v:JSON.stringify(v))}

`).join('')}
≡
Read the full session${number(ep.session_counts?.visible_events)} events · ${number(ep.session_counts?.observed_images)} observations
${arrow}
⌘
Inspect agent artifacts${ep.resources?.length||0} saved files · workspace & evidence
${arrow}
`; } function taskPage(key,variant,section='overview') { const task=data.tasks.find(t=>t.key===key);if(!task||!variantFor(variant)){notFound();return;} if(!task.planned_variants.includes(variant)){current={type:'not-scheduled'};$('#main').innerHTML=`

Not scheduled

${esc(variantFor(variant).agent)} is not included for ${esc(familyName(task.family))} in this campaign.

View the scheduled evaluation ${arrow}
`;return;} const ep=epFor(key,variant), validSections=['overview','session','tools','policy','artifacts','evidence','attempts']; if(!validSections.includes(section)||(!ep&&!['overview','attempts'].includes(section)))section='overview'; current={type:'task',key,variant,section,ep,task}; sessionState={filter:'all',query:'',count:40,view:'timeline'}; const taskList=plannedTasks(variant),index=taskList.indexOf(task),history=data.attempt_history.filter(h=>h.task_key===key&&h.variant===variant); document.title=`${task.title} · ${variantFor(variant).agent} — Programmable VLA`; $('#main').innerHTML=`
${familyName(task.family)} · ${key}

${esc(task.title)}

${esc(task.native_id)}

${index?`←`:''}${index→`:''}
${budgetNote(task)}${plusSeedNote(task,variant,ep)}${variantTabs(variant,key,section)}
${section==='overview'?overviewDetail(task,ep):section==='session'?sessionShell(ep):section==='tools'?toolsShell(ep):section==='policy'?policyShell(ep):section==='artifacts'?artifactsPanel(ep):section==='evidence'?evidencePanel(task,ep):historyPanel(history,task)}
`; setupVideo(); if(section==='session')loadSession(ep,epoch); if(section==='tools')loadTools(ep,epoch); if(section==='policy')loadPolicy(ep,epoch); if(section==='artifacts'&&ep.resources?.length)loadResource(0,epoch); } function setupVideo() { const v=$('#episode-video');if(!v)return; v.onerror=()=>{if($('#video-error'))$('#video-error').hidden=false;}; } function sessionShell(ep) { return `

Session & observations

Loading the original transcript…

Loading session…
`; } async function loadSession(ep,token) { try { if(!sessionCache.has(ep.id)) { const response=await fetch(ep.links.transcript);if(!response.ok)throw Error('HTTP '+response.status); const raw=await response.json();const entries=Array.isArray(raw)?raw:raw.messages||raw.entries||raw.events||[]; if(!Array.isArray(entries))throw Error('Unsupported transcript format'); sessionCache.set(ep.id,entries); if(sessionCache.size>6)sessionCache.delete(sessionCache.keys().next().value); } if(token!==epoch)return; const entries=sessionCache.get(ep.id),images=entries.flatMap((m,i)=>(m.parts||[]).filter(p=>p.type==='image'&&p.src).map(p=>({url:new URL(p.src,new URL(ep.links.transcript,location.href)).href,label:`Event ${i+1} · ${m.id||m.role||'Observation'}`}))); $('#session-summary').textContent=`${number(entries.length)} events · ${number(images.length)} observation images · ${entries.filter(e=>e.error).length} tool errors. Event timestamps are in UTC.`; renderSession(); } catch(error) {if(token!==epoch)return;$('#session-events').innerHTML=`
Transcript preview could not load (${esc(error.message)}).
${external(ep.links.transcript,'Open original transcript')}
`;} } function sessionText(entry) {return [entry.id,entry.role,entry.tool,...(entry.parts||[]).map(p=>p.text||JSON.stringify(p.input||p))].join('\n');} function renderSession() { const entries=sessionCache.get(current.ep.id);if(!entries)return; const {filter,query,count,view}=sessionState, q=query.trim().toLowerCase(); let matches=entries.map((entry,i)=>({entry,index:i})).filter(({entry:e})=>(filter==='all'||filter==='assistant'&&e.role==='assistant'||filter==='tools'&&e.role==='toolResult'||filter==='errors'&&e.error||filter==='images'&&(e.parts||[]).some(p=>p.type==='image')||filter==='context'&&['user','system','developer'].includes(e.role))&&(!q||sessionText(e).toLowerCase().includes(q))); imageItems=[]; const imagePart=(p,index,entry,cls='observation')=>{ const url=new URL(p.src,new URL(current.ep.links.transcript,location.href)).href;if(!/^https?:/.test(url))return ''; const n=imageItems.length;imageItems.push({url,label:`Event ${index+1} · ${entry.id||entry.role||'Observation'}`}); return ``; }; if(view==='gallery') { const images=matches.flatMap(({entry,index})=>(entry.parts||[]).filter(p=>p.type==='image'&&p.src).map(part=>({entry,index,part}))); $('#session-events').innerHTML=images.length?``:'
No observation images match these filters.
'; $('#event-count').textContent=`${Math.min(count,images.length)} / ${images.length} images`;$('#more-events').hidden=count>=images.length; } else { $('#session-events').innerHTML=matches.length?`
${matches.slice(0,count).map(({entry:e,index})=>{ const role=e.role==='toolResult'?'Tool result':e.role==='assistant'?'Assistant':({user:'User',system:'System',developer:'Developer'}[e.role]||e.role||e.type||'Event'); const tool=e.tool||(e.parts||[]).find(p=>p.type==='tool')?.name; return `
${index+1}
${esc(role)}${tool?`${esc(tool)}`:''}${e.error?'Error':''}
${(e.parts||[{type:'text',text:typeof e==='string'?e:JSON.stringify(e,null,2)}]).map(p=>{ if(p.type==='image'&&p.src)return imagePart(p,index,e); if(p.type==='tool')return `
Tool call · ${esc(p.name)}${esc((typeof p.input==='string'?p.input:JSON.stringify(p.input)).slice(0,130))}
${esc(typeof p.input==='string'?p.input:JSON.stringify(p.input,null,2))}
`; const txt=p.text??p.thinking??JSON.stringify(p,null,2); if(txt==='')return 'No text recorded.'; if(p.type==='thinking'||p.type==='reasoning')return `
Recorded reasoning
${esc(txt)}
`; if(e.role==='toolResult'||txt.length>1800)return `
${e.role==='toolResult'?'Tool output':'Message'}${esc(txt.slice(0,160))}
${esc(txt)}
`; return `
${esc(txt)}
`; }).join('')}
${esc(e.id||'')}
`; }).join('')}
`:'
No events match these filters.
'; $('#event-count').textContent=`${Math.min(count,matches.length)} / ${matches.length} events`;$('#more-events').hidden=count>=matches.length; } $('#more-events').textContent=view==='gallery'?'Load more observations':'Load next 40 events'; } function artifactsPanel(ep) { const resources=ep.resources||[]; return `

Agent artifacts

Final files created during this episode. Their edit history remains in the session.

${resources.length?`
${esc(resources[0].name)}

Loading file…
`:'
No standalone tool or memo files were saved in this episode. The original session and workspace evidence remain available.
'}
${evidenceCard('Execution evidence','Original verdict, protocol and runtime identity.',[['verdict','Native verdict'],['protocol','Protocol'],['provenance','Source identity']],ep)}${evidenceCard('Session & interactions','Original tool calls, observations and edited workspace.',[['native_session','Native session'],['trace','Trace'],['workspace_changes','Workspace changes']],ep)}
`; } async function fetchText(url) { if(fileCache.has(url))return fileCache.get(url); const r=await fetch(url);if(!r.ok)throw Error('HTTP '+r.status); if(Number(r.headers.get('content-length'))>3e6)throw Error('File exceeds the 3 MB preview limit; use Open file'); const text=await r.text();if(text.length>3e6)throw Error('File exceeds the preview limit; use Open file'); fileCache.set(url,text);if(fileCache.size>20)fileCache.delete(fileCache.keys().next().value);return text; } async function loadResource(index,token) { const r=current.ep?.resources?.[index];if(!r)return; current.resource=index;$('#resource-name').textContent=r.name;$('#resource-open').href=r.file;$('#resource-kind').textContent=r.kind||'Final workspace snapshot';$('#resource-preview').textContent='Loading file…'; $$('[data-resource]').forEach(b=>{b.classList.toggle('active',+b.dataset.resource===index);b.setAttribute('aria-pressed',+b.dataset.resource===index);}); try{const text=await fetchText(r.file);if(token===epoch&¤t.resource===index){$('#resource-preview').textContent=text;current.resourceText=text;}} catch(e){if(token===epoch&¤t.resource===index){$('#resource-preview').textContent='Preview unavailable: '+e.message;current.resourceText=null;}} } const evidenceGroups=[ ['Native evaluation','Owner verdicts, measured task and control protocol.',[['verdict','Native verdict'],['timing','Episode timing'],['protocol','Measured protocol'],['native_goal','Task instructions'],['owner_journal','Owner action journal']]], ['Session & workspace','The original agent trajectory and final files.',[['native_session','Native session'],['transcript','Readable transcript'],['trace','Agent trace'],['workspace','Workspace archive'],['workspace_changes','Workspace manifest']]], ['Recording & review','Published media and checks against the recorded evidence.',[['native_video','Original head recording'],['video','Video'],['poster','Poster'],['terminal_frame','Terminal frame'],['recording_manifest','Recording manifest'],['media_check','Media validation'],['analysis','Episode analysis']]], ['Usage & provenance','Provider counters and the actual code used by the episode.',[['usage','Token usage'],['provider_usage','Provider usage ledger'],['provenance','Source identities'],['tool_errors','Tool errors']]] ]; function evidenceCard(title,description,items,ep) { return `

${title}

${description}

${items.filter(([k])=>ep.links[k]).flatMap(([k,l])=>(Array.isArray(ep.links[k])?ep.links[k]:[ep.links[k]]).map((url,i)=>external(url,l+(Array.isArray(ep.links[k])?' '+(i+1):'')))).join('')}
`; } function evidencePanel(task,ep) { const used=new Set(evidenceGroups.flatMap(g=>g[2].map(x=>x[0]))),extras=Object.keys(ep.links).filter(k=>!used.has(k)); const source={...data.variant_sources[ep.variant],...(ep.source_dataset_revision?{dataset_revision:ep.source_dataset_revision}:{})}; return `

Evidence & provenance

Original files retained with their published checksums. Native verdicts and measured source identities remain unchanged.

${evidenceGroups.map(([title,desc,items])=>evidenceCard(title,desc,items,ep)).join('')}${extras.length?evidenceCard('Additional records','Episode-specific checks and retained references.',extras.map(k=>[k,k.replaceAll('_',' ')]),ep):''}

Recorded identity

Source and protocol belonging to this episode.

Episode
${esc(ep.source_episode_id)}
Model
${esc(ep.model)} / ${ep.effort}
Space
${external('https://huggingface.co/spaces/'+source.space,source.space)}
Original evidence revision
${source.evidence_revision}
${ep.kinex_revision?`
Kinex revision
${esc(ep.kinex_revision)}
`:''}${Object.entries(ep.provenance?.sources||{}).map(([k,v])=>`
${esc(k)}
${esc(v.revision||'Unrecorded revision')}${v.dirty?' Local changes recorded':''}
`).join('')}
Recorded action-step budget
${number(actionSteps(ep.measured_protocol?.max_steps,ep))} steps
Campaign planned action-step budget
${number(actionSteps(plannedProtocol(task,current.variant).max_control_steps,task))} steps
Current benchmark default
${number(currentBudget(task))} action steps
Inspect the measured protocol JSON
${esc(JSON.stringify(ep.measured_protocol,null,2))}

Preview an evidence file

Inspect the recorded JSON without leaving this page.

`; } function historyPanel(history,task) { return `

Previous attempts

Archived attempts are preserved separately and excluded from the current success rate, usage and costs.

Full archive ↗
${history.length?history.map(h=>`
${badge(h)}${h.valid===false?'Interrupted / invalid':typeof h.success==='boolean'?'Archived result':'Verdict not recorded'}
${esc((h.status||'Archived attempt').replaceAll('_',' '))}

${esc(h.id||h.job||h.dataset_revision||'Historical record')}

${h.steps!=null?number(actionSteps(h.steps,task))+' action steps · ':''}${h.usage?'Fresh input '+compact(UsageMetrics.usage(h).fresh)+' · cache read '+compact(h.usage.cached_input_tokens)+' · cache write '+compact(UsageMetrics.usage(h).cacheWrite)+' · output '+compact(UsageMetrics.usage(h).output)+' · ':''}${h.dataset_revision?'Revision '+h.dataset_revision.slice(0,8):''}${h.analysis?.execution?`

${esc(h.analysis.execution)}

`:''}${h.instruction?`
Measured instruction

${esc(h.instruction)}

`:''}
`).join(''):'
No earlier attempts are listed for this task and agent combination.
'}
`; } function notFound() {$('#main').innerHTML='

Page not found

Return to the benchmark

';} // Keep each task list's view with its browser history entry. history.scrollRestoration = 'manual'; let taskListReturn = null; const navigationHash = () => location.hash || '#overview'; function saveTaskList(row = null) { if (!['overview', 'runs'].includes(current.type) || !$('#task-rows')) return; row ||= $$('#task-rows tr[data-task]').find(r => r.getBoundingClientRect().bottom > 100); const view = { hash: navigationHash(), filters: {...filters}, x: window.scrollX, y: window.scrollY, task: row?.dataset.task, offset: row?.getBoundingClientRect().top, tableX: $('#tasks .table-scroll').scrollLeft, matrixMetric, expandedModels: $$('[data-model-group][open]').map(el => el.dataset.modelGroup) }; history.replaceState({...history.state, benchmarkNavigation: {list: view}}, ''); return view; } function restoreTaskList(view) { const row = $$('#task-rows tr[data-task]').find(r => r.dataset.task === view.task); const y = row && view.offset != null ? window.scrollY + row.getBoundingClientRect().top - view.offset : view.y; $('#tasks .table-scroll').scrollLeft = view.tableX; window.scrollTo({left: view.x, top: y, behavior: 'instant'}); } document.addEventListener('click', event => { const link = event.target.closest('a[href]'); if (!link || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || link.target === '_blank' || !link.getAttribute('href').startsWith('#')) return; const view = saveTaskList(link.closest('tr[data-task]')); if (view && link.getAttribute('href').startsWith('#task/')) taskListReturn = view; }, true); window.addEventListener('pagehide', () => saveTaskList()); function route() { epoch++;$$('video').forEach(v=>{v.pause();v.removeAttribute('src');v.load();}); const [hash,query='']=location.hash.slice(1).split('?'),parts=hash.split('/'),params=new URLSearchParams(query); const saved = history.state?.benchmarkNavigation; const returning = current.type === 'task' && taskListReturn && (taskListReturn.hash === navigationHash() || ['#overview', '#tasks'].includes(taskListReturn.hash) && ['#overview', '#tasks'].includes(navigationHash())); const view = saved?.list?.hash === navigationHash() ? saved.list : returning ? taskListReturn : null; if (parts[0] === 'task') { taskListReturn = saved ? saved.origin || null : (['overview', 'runs', 'task'].includes(current.type) ? taskListReturn : null); history.replaceState({...history.state, benchmarkNavigation: {origin: taskListReturn}}, ''); } else if (view) { filters = {...view.filters}; matrixMetric = view.matrixMetric; expandedModels = new Set(view.expandedModels); } document.title='Programmable VLA — RLE-Bench'; if(parts[0]==='task')taskPage(parts[1]+'/'+parts[2],parts[3],parts[4]||'overview'); else if(parts[0]==='instructions'){current={type:'instructions'};const auditEpoch=epoch;InstructionAudit.render({panel:'hard',root:'../',data,measuredInstructions,diff:instructionDiff,isCurrent:()=>epoch===auditEpoch});} else if(parts[0]==='runs')runsPage(parts[1],params,view?.filters); else overview(); $$('[data-nav]').forEach(a=>a.setAttribute('aria-current',a.dataset.nav===(hash||'overview')?'page':'false')); if(view && $('#task-rows'))restoreTaskList(view); else if(hash==='tasks') { const row = $$('#task-rows tr[data-task]').find(r => r.dataset.task === params.get('task')); (row || $('#tasks')).scrollIntoView({block: row ? 'center' : 'start', behavior: 'instant'}); } else if(hash==='methodology'){$('#methodology').open=true;$('#methodology').scrollIntoView();} else window.scrollTo({left:0,top:0,behavior:'instant'}); if(parts[0]!=='task')taskListReturn=null; } function resetFilters() {filters={query:'',family:'',status:'',variant:filters.variant,sort:'catalog'};if(current.type==='runs')runsPage(current.variant,new URLSearchParams());else overview();$('#tasks').scrollIntoView();} function showToast(text){$('#toast').textContent=text;$('#toast').classList.add('visible');setTimeout(()=>$('#toast').classList.remove('visible'),2200);} function exportCSV(variant) { const ids=variant==='all'?data.variants.map(v=>v.id):[variant]; const rows=[['task','environment','title','agent','model','effort','status','native_success','fresh_input_tokens','cache_read_tokens','cache_write_tokens','cache_write_counter_source','input_tokens_fresh_plus_cache_write','input_tokens_lower','input_tokens_upper','cached_tokens','cached_tokens_lower','cached_tokens_upper','cache_hit_rate','cache_hit_rate_lower','cache_hit_rate_upper','output_tokens','inclusive_input_tokens_original','cache_write_tokens_original','estimated_cost_usd','estimated_cost_lower_usd','estimated_cost_upper_usd','cost_basis','cache_write_basis','cache_write_assumed','steps','episode_id','reasoning_output_tokens','recorded_budget','planned_budget','source_episode_id','inclusive_total_tokens_original','seed','planned_seed','agent_execution','reported_harness_valid','post_terminal_provider_error','host_collector_recovered','harness_result_origin','agent_wall_time_limit_s','requested_wall_time_limit_s','wall_time_guard_adjusted','raw_steps','raw_recorded_budget','raw_planned_budget','current_action_step_budget']]; for(const t of data.tasks)for(const id of ids){ if(!t.planned_variants.includes(id))continue; const e=epFor(t.key,id),v=variantFor(id),u=UsageMetrics.usage(e),c=UsageMetrics.price(e); rows.push([t.key,familyName(t.family),t.title,v.agent,v.model,v.effort,outcome(e),e?e.success:'',u.fresh,u.cached,u.cacheWrite,e?u.writeBasis:null,u.input,u.inputLow,u.inputHigh,u.cached,u.cacheLow,u.cacheHigh,u.cacheRate,u.cacheRateLow,u.cacheRateHigh,u.output,u.inclusive,e?.usage?.cache_write_input_tokens,c&&c.lower===c.upper?c.lower:null,c?.lower,c?.upper,c?.basis,c?.cache_write_basis,c?.cache_write_assumed,actionSteps(e?.steps,t,id),e?.id,e?.usage?.reasoning_output_tokens,actionSteps(e?.measured_protocol?.max_steps,t,id),actionSteps(plannedProtocol(t,id).max_control_steps,t,id),e?.source_episode_id,tokens(e),e?.seed,t.planned_seed_by_variant[id],e?.execution?.status,e?(Object.prototype.hasOwnProperty.call(e,"harness_valid")?e.harness_valid:e.valid):null,e?Boolean(e.post_terminal_review):null,e?Boolean(e.collector_review):null,e?(e.harness_result_origin||"harbor"):null,e?.measured_protocol?.timeout_s,e?(e.measured_protocol?.requested_timeout_s??e.measured_protocol?.timeout_s):null,e?Boolean(e.collector_review?.operational_wall_time_adjustment):null,e?.steps,e?.measured_protocol?.max_steps,plannedProtocol(t,id).max_control_steps,currentBudget(t)]); } const csv=rows.map(row=>row.map(v=>'"'+String(v??'').replaceAll('"','""')+'"').join(',')).join('\r\n'); const url=URL.createObjectURL(new Blob([csv],{type:'text/csv;charset=utf-8'})),a=document.createElement('a');a.href=url;a.download='kinex-benchmark-'+variant+'.csv';a.click();setTimeout(()=>URL.revokeObjectURL(url),1000); } function showImage(index) { if(!imageItems.length)return;imageIndex=(index+imageItems.length)%imageItems.length;const item=imageItems[imageIndex];$('#large-image').src=item.url;$('#image-original').href=item.url;$('#image-caption').textContent=`${imageIndex+1} / ${imageItems.length} · ${item.label}`;if(!$('#image-viewer').open)$('#image-viewer').showModal(); } $('#main').addEventListener('click',async event=>{ const b=event.target.closest('button,a');if(!b)return; if(b.dataset.taskColumn || b.dataset.taskColumns){ const id=b.dataset.taskColumn, wasEmpty=expandedTaskVariants.size===0; if(id){ if(expandedTaskVariants.has(id))expandedTaskVariants.delete(id);else expandedTaskVariants.add(id); if(wasEmpty){filters.variant=id;$('#task-variant').value=id;} }else{ expandedTaskVariants.clear(); if(b.dataset.taskColumns==='all')data.variants.forEach(v=>expandedTaskVariants.add(v.id)); } renderRows(); if(b.classList.contains('column-close'))$(`[data-task-column="${id}"].task-column-toggle`).focus({preventScroll:true}); } if(b.dataset.matrix){expandedModels=new Set($$('[data-model-group][open]').map(x=>x.dataset.modelGroup));matrixMetric=b.dataset.matrix;$('#comparison-mount').innerHTML=comparisonTable();} if(b.dataset.familyLink){filters.family=b.dataset.familyLink;filters.query='';filters.status='';if(location.hash==='#tasks'){overview();$('#tasks').scrollIntoView();}} if(b.dataset.reportFamily){filters.family=filters.family===b.dataset.reportFamily?'':b.dataset.reportFamily;$('#task-family').value=filters.family;$$('[data-report-family]').forEach(x=>x.classList.toggle('active',x.dataset.reportFamily===filters.family));renderRows();$('#tasks').scrollIntoView({behavior:'smooth'});} if(b.id==='reset-filters'||b.hasAttribute('data-reset'))resetFilters(); if(b.dataset.export)exportCSV(b.dataset.export); if(b.dataset.instruction){$$('[data-instruction]').forEach(x=>x.setAttribute('aria-pressed',x===b));$$('.instruction-version').forEach(x=>x.hidden=x.id!=='instruction-'+b.dataset.instruction);} if(b.id==='final-frame'){const v=$('#episode-video');if(v.readyState<1)await new Promise(r=>v.addEventListener('loadedmetadata',r,{once:true}));v.pause();v.currentTime=Math.max(0,v.duration-.001);} if(b.dataset.sessionView){sessionState.view=b.dataset.sessionView;sessionState.count=40;$$('[data-session-view]').forEach(x=>x.setAttribute('aria-pressed',x===b));renderSession();} if(b.id==='more-events'){sessionState.count+=40;renderSession();} if(b.hasAttribute('data-image'))showImage(+b.dataset.image); if(b.hasAttribute('data-resource'))loadResource(+b.dataset.resource,epoch); if(b.hasAttribute('data-retry-session'))loadSession(current.ep,epoch); if(b.id==='copy-resource'){if(current.resourceText!=null){try{await navigator.clipboard.writeText(current.resourceText);showToast('File copied to clipboard');}catch{showToast('Copy unavailable. Use Open file to select the text.');}}} }); $('#main').addEventListener('input',event=>{ if(event.target.id==='task-search'){filters.query=event.target.value;renderRows();} if(event.target.id==='event-search'){sessionState.query=event.target.value;sessionState.count=40;renderSession();} }); $('#main').addEventListener('change',async event=>{ const {id,value}=event.target; if(id==='task-family'){filters.family=value;renderRows();$$('[data-report-family]').forEach(x=>x.classList.toggle('active',x.dataset.reportFamily===value));} if(id==='task-variant'){filters.variant=value;renderRows();} if(id==='task-status'){filters.status=value;renderRows();} if(id==='task-sort'){filters.sort=value;renderRows();} if(id==='playback-speed')$('#episode-video').playbackRate=Number(value); if(id==='event-filter'){sessionState.filter=value;sessionState.count=40;renderSession();} if(id==='evidence-select'){ const preview=$('#evidence-preview'),token=epoch;preview.hidden=!value;if(!value)return;preview.textContent='Loading evidence…'; try{const text=await fetchText(current.ep.links[value]);if(token!==epoch||$('#evidence-select').value!==value)return;try{preview.textContent=JSON.stringify(JSON.parse(text),null,2);}catch{preview.textContent=text;}} catch(e){if(token===epoch)preview.textContent='Preview unavailable: '+e.message;} } }); $('#close-viewer').onclick=()=>$('#image-viewer').close();$('#previous-image').onclick=()=>showImage(imageIndex-1);$('#next-image').onclick=()=>showImage(imageIndex+1); $('#image-viewer').addEventListener('click',event=>{if(event.target===$('#image-viewer'))$('#image-viewer').close();}); $('#image-viewer').addEventListener('keydown',event=>{if(event.key==='ArrowLeft'){event.preventDefault();showImage(imageIndex-1);}if(event.key==='ArrowRight'){event.preventDefault();showImage(imageIndex+1);}}); let catalogInstructionAudit={tasks:[],families:[]}; let measuredInstructions={episodes:{}}; let evidenceRoot = ''; const evidenceURL = path => { if (typeof path !== 'string' || !evidenceRoot || path.endsWith('.html')) return path; if (/^(?:experiments|official|policy-contract|research|data|history|probes|hard)\//.test(path) || /^[a-zA-Z0-9_-]+\.json$/.test(path)) return new URL(path, evidenceRoot).href; return path; }; // Resolve published file references for display; downloaded evidence remains byte-identical. function resolveEvidence(value) { if (typeof value === 'string') return evidenceURL(value); if (Array.isArray(value)) return value.map(resolveEvidence); if (value && typeof value === 'object') return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, resolveEvidence(item)])); return value; } let resultFiles = {}; const resultURL = name => evidenceURL(resultFiles[name]?.url || name); let policyRecord=null; function policyShell(ep) { return `

VLA input/output

${number(ep.vla_calls)} recorded inferences · model inputs, action outputs and agent tool results.

Loading recorded calls…
`; } async function loadPolicy(ep,token) { try {const response=await fetch(ep.links.vla_io);if(!response.ok)throw Error(response.status);const record=resolveEvidence(await response.json());if(token!==epoch)return;policyRecord=record;renderPolicy(0);}catch(e){if(token===epoch)$('#policy-body').textContent='Preview unavailable: '+e.message;} } function jsonBlock(title,value,open=false) {return `
${esc(title)}
${esc(JSON.stringify(value,null,2))}
`;} function renderPolicy(index) { const record=policyRecord,c=record.calls[index],ep=current.ep; if(ep.provider==='robotwin-official')return renderOfficialPolicy(index); if(!c){$('#policy-body').innerHTML='
No VLA inference was made in this episode.
';return;} const images=c.images.map(im=>`
${esc(im.camera)} model input, call ${index+1}
${esc(im.camera)} · ${im.model_size.join(' × ')}
Recorded RGB · ${im.recorded_size.join(' × ')} ↗
`).join(''); const caller=c.caller; const textParts=p=>(p||[]).filter(x=>x.type!=='image'); const toolImages=caller?caller.tool_result.parts.filter(p=>p.type==='image').map(p=>{const url=new URL(p.src,new URL(ep.links.transcript,location.href)).href;return `Observation returned to the language agent`;}).join(''):''; const cols=record.contract.output_layout; const response=c.service_response, actions=response?.waypoints||response?.actions||[]; const timing=response?`${response.inference_s.toFixed(3)} s · ${actions.length} × ${actions[0]?.length||0} actions`:'No output recorded'; $('#policy-body').innerHTML=`

Caller-supplied condition text

${esc(c.request.task)}
${images}

${esc(record.contract.image_preprocessing||"Model images follow the recorded checkpoint preprocessing.")} Additional information reaches the model only when present in the request and rendered language below.

${jsonBlock('Complete model-service request',c.request)}${c.model_input_text!==undefined?jsonBlock('Language passed to predict_action · recorded',c.model_input_text,true):''}${c.backbone_messages?jsonBlock('Backbone message · reconstructed from executed code',c.backbone_messages):''}

Model-service output

${response?.waypoints?'Untimed joint waypoints consumed by the recorded caller. Kinex or agent-authored code determines their physical timing.':'The recorded action response consumed by the caller.'} Joint values are absolute radians; grippers use −1 open, +1 closed.

${cols.map(x=>``).join('')}${actions.map((row,i)=>`${row.map(x=>``).join('')}`).join('')}
Action${esc(x.replace('left_','L ').replace('right_','R '))}
${i+1}${x.toFixed(5)}
${jsonBlock('Recorded model output · full precision',c.service_response)}${c.execution?jsonBlock('Actual execution · target count and world time',{executor:c.planner,...c.execution},true):''}${jsonBlock('Internal diagnostic · denormalized training-order actions',c.internal_diagnostics.denormalized_actions)}${caller?`

Kinex tool call & result

This inference is joined to the recorded tool call and result below. Agent-authored code may consume the model output directly; the language agent receives the displayed tool response.

${jsonBlock('Agent tool call',caller.tool_call,true)}${jsonBlock('Tool result received by the language agent',{...caller.tool_result,parts:textParts(caller.tool_result.parts)},true)}${c.executed_tool_source?jsonBlock('Agent-authored code at this call',c.executed_tool_source):''}`:'

An exact caller-to-inference join is unavailable. Inspect the recorded Kinex session and authored code.

'}
Recording coverage & model contract

See the per-run contract below for recorded and reconstructed fields. Original requests and rendered language are retained in the current rich-input run; older runs have different recording coverage.

${esc(JSON.stringify(record.contract,null,2))}
`; $('#policy-call').onchange=e=>renderPolicy(Number(e.target.value)); } function toolsShell(ep) {return `

Tool calls

Original tool inputs and outputs from the agent trace.

${external(ep.links.tool_calls,'Tool calls JSON')}
Loading tool calls…
`;} async function loadTools(ep,token) { try{const r=await fetch(ep.links.tool_calls);if(!r.ok)throw Error(r.status);const calls=await r.json();if(token!==epoch)return;$('#tools-body').innerHTML=calls.length?calls.map((c,i)=>`
${i+1} · ${esc(c.name)}${c.is_error?' · Error':''}

${esc(c.call_id)}

Input

${esc(JSON.stringify(c.input,null,2))}

Output

${esc(typeof c.output==='string'?c.output:JSON.stringify(c.output,null,2))}
`).join(''):'
No language-agent tool calls in this episode.
';}catch(e){if(token===epoch)$('#tools-body').textContent='Preview unavailable: '+e.message;} } async function boot(){try{ const source=await fetch('data-source.json');if(!source.ok)throw Error('Result source unavailable'); const sourceConfig=await source.json();evidenceRoot=sourceConfig.evidence_root;resultFiles=sourceConfig.files; document.querySelectorAll('[data-result-file]').forEach(link=>{link.href=resultURL(link.dataset.resultFile);}); const r=await fetch(resultURL('data.json'));if(!r.ok)throw Error('HTTP '+r.status);data=resolveEvidence(await r.json()); for(const variant of data.variants)if(variant.id==='kinex')variant.label='Kinex'; const vr=await fetch('../agent-versions.json');if(!vr.ok)throw Error('Agent versions unavailable');agentVersions=await vr.json(); const ir=await fetch(resultURL('measured-instructions.json'));if(!ir.ok)throw Error('Instruction evidence unavailable');measuredInstructions=resolveEvidence(await ir.json()); const nr=await fetch('../instruction-audit/hard.json');if(!nr.ok)throw Error('Instruction audit unavailable');catalogInstructionAudit=await nr.json(); try{const c=await fetch(resultURL('cost-data.json'));if(c.ok)UsageMetrics.init(resolveEvidence(await c.json()));}catch{UsageMetrics.init({episodes:{},sources:[]});} for(const task of data.tasks){ if(task.family==='task02'){ const {suite_name,task_id}=task.native_identity; task.title=`LIBERO-${suite_name.replace(/^libero_/, '')}-${String(task_id+1).padStart(2,'0')}`; } } window.benchmarkData=data;$('#updated').textContent='Results updated '+data.updated_at.slice(0,10);window.addEventListener('hashchange',route);route();}catch(e){$('#main').innerHTML=`

Results could not load

${esc(e.message)}

Download the results index
`;}} boot(); function renderOfficialPolicy(index) { const r=policyRecord,c=r.calls[index],ep=current.ep; const ims=c.images.map(im=>`
${esc(im.camera)} model input
${esc(im.camera)} · ${im.model_size.join(' × ')}
Recorded RGB · ${im.recorded_size.join(' × ')} ↗
`).join(''); $('#policy-body').innerHTML=`

Task instruction

${esc(c.request.task)}
${ims}

Exact transmitted RGB pixels. No joint state or agent conversation is passed to the VLA.

${jsonBlock('Complete model request · image arrays linked as PNGs',c.request.wire_payload)}

Native action chunk

Reordered model output consumed by the official evaluator. Absolute joint radians; gripper opening: 0 closed, 1 open.

${r.contract.output_layout.map(x=>``).join('')}${(c.service_response.waypoints||c.service_response.actions).map((row,i)=>`${row.map(x=>``).join('')}`).join('')}
Action${esc(x.replace('left_','L ').replace('right_','R '))}
${i+1}${x.toFixed(5)}
${jsonBlock('Complete recorded StarVLA response · full precision',c.raw_response)}${jsonBlock('Reordered native actions · full precision',c.service_response.actions)}

Standalone execution; no language-agent session or tool call. Token and API costs cover the language agent only; local GPU cost is not reported.

${jsonBlock('Recording coverage & model contract',r.contract)}`; $('#policy-call').onchange=e=>renderPolicy(Number(e.target.value)); }