let DATA;
const $=q=>document.querySelector(q);
async function boot(){
DATA=await (await fetch('./demo-data.json')).json();
$('#metrics').innerHTML=DATA.metrics.map(([l,v])=>`
${v}${l}
`).join('');
const s=DATA.scenario;
$('#question').textContent=s.question;
$('#conditions').innerHTML=Object.entries(s.conditions).map(([k,v])=>`${k}${v}
`).join('');
draw('#retrieval',DATA.retrieval,['Dense baseline','Section-aware','Hybrid RRF — selected','Reranker ablation']);
draw('#agent',DATA.agent,['Analytical tools','Agentic investigation','Agentic + verifier — final']);
}
function draw(sel,items,labels){
$(sel).innerHTML=items.map(([v,s],i)=>``).join('');
}
function runDemo(){
$('#placeholder').style.display='none';
$('#result').classList.remove('active');
$('#loading').classList.add('active');
const stages=['Retrieving historical incidents...','Running bounded analytics...','Assessing evidence sufficiency...','Generating ranked hypotheses...','Verifying claims and citations...'];
let i=0; $('#loading-status').textContent=stages[0];
const timer=setInterval(()=>{i++;if(i``).join('');
$('#evidence').innerHTML=s.evidence.map(([c,t,x])=>``).join('');
$('#analytics').innerHTML=s.analytics.map(([n,v,d])=>``).join('');
$('#result').classList.add('active');
}
document.addEventListener('DOMContentLoaded',boot);