fix(dashboard): remove localStorage cache entirely

- mergeCachedResults() deleted — no more hidden cache layer
- startAgentResearch() / startCellResearch() — no longer save to localStorage
- load() — pure API/JSON driven, no localStorage clearing logic
- Page now shows exactly what API returns — easier to verify fixes
This commit is contained in:
Deploy Bot
2026-05-28 13:17:56 +01:00
parent a7a90129ce
commit c969a3c230

View File

@@ -161,7 +161,6 @@ async function load(){
agents.forEach(a=>{for(const[m,s] of Object.entries(a.evaluations)){modelScores[m]=(modelScores[m]||0)+s;}});
allModels=Object.keys(modelScores).filter(m=>modelScores[m]>0).sort();
mergeCachedResults();
renderTable();
}
@@ -294,32 +293,6 @@ function setProgress(pid,percent,label){
wrap.classList.remove('hidden'); txt.textContent=label; bar.style.width=percent+'%';
}
function mergeCachedResults(){
try{
const store=JSON.parse(localStorage.getItem('__researchResults')||'{}');
for(const[agent,rec] of Object.entries(store)){
if(!reportData.agents[agent]){
reportData.agents[agent]={name:agent,evaluations:{},info:[],best_model:'',best_score:0};
}
for(const r of (rec.models||[])){
const shortM=modelShort(r.model);
// Only fill gaps — never override existing DB scores
const existing=reportData.agents[agent].evaluations[shortM];
if(existing===undefined||existing===0){
reportData.agents[agent].evaluations[shortM]=r.score;
}
if(r.score>reportData.agents[agent].best_score){
reportData.agents[agent].best_model=shortM;
reportData.agents[agent].best_score=r.score;
}
if(!allModels.includes(shortM)) allModels.push(shortM);
if(!allAvailableModels.some(m=>modelShort(m)===shortM)) allAvailableModels.push(shortM);
}
}
allModels.sort();
}catch(e){}
}
function renderTable(){
const agents=Object.values(reportData.agents).filter(a=>Object.values(a.evaluations).some(s=>s>0));
let html='<table><thead><tr><th>Agent</th>';
@@ -405,9 +378,6 @@ async function startAgentResearch(){
html+='</tbody></table>';
$('agentResults').innerHTML=html;
$('agentProgressText').textContent='Done! Best score: '+Math.round(best);
const store=JSON.parse(localStorage.getItem('__researchResults')||'{}');
store[agent]={models:results,ts:Date.now()};
localStorage.setItem('__researchResults',JSON.stringify(store));
$('agentStartBtn').disabled=false;
$('evolveAgentBtn').disabled=false;
}
@@ -463,11 +433,6 @@ async function startCellResearch(){
updateCell(agent,result.model,result.score);
$('cellResults').innerHTML='<table class="result-table"><tbody><tr onclick="openDetail(\''+agent+'\',\''+result.model+'\')"><td>'+result.model+'</td><td>'+Math.round(result.score)+'</td></tr></tbody></table>';
$('cellProgressText').textContent='Done! Score: '+Math.round(result.score);
const store=JSON.parse(localStorage.getItem('__researchResults')||'{}');
if(!store[agent]) store[agent]={models:[],ts:Date.now()};
store[agent].models=store[agent].models.filter(m=>m.model!==result.model);
store[agent].models.push(result);
localStorage.setItem('__researchResults',JSON.stringify(store));
}
load().catch(e=>$('matrix').innerHTML='Error: '+e);