From faec1129fbf21ec292a147f670c7993b64bc88ca Mon Sep 17 00:00:00 2001 From: Pastorsimon1798 Date: Tue, 26 May 2026 19:51:02 -0700 Subject: [PATCH] fix(template): replace hardcoded era data with dynamic LEARNING.topicEvolution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Chart 2 (Topic Evolution): was hardcoded with Liminal project era data (Era 1/2/3 refs caused era scanner false positives on all other projects) Now reads from LEARNING.topicEvolution — shows noData() if absent - search_timeline: use s.query || s.title with 'Searched for' prefix stripped (defensive fallback handles both field name conventions) --- archaeology/visualization/template.html | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/archaeology/visualization/template.html b/archaeology/visualization/template.html index e73718f..0681d6f 100644 --- a/archaeology/visualization/template.html +++ b/archaeology/visualization/template.html @@ -1637,13 +1637,8 @@ svg.setAttribute('viewBox',`0 0 ${W} ${H}`); svg.style.cssText = 'width:100%;height:100%'; - const eras = [ - {name:'Pre-seed\n(Feb 1-27)',coding_agents:80,local_ai:19,llm_models:136,agent_arch:49,ml_fund:6,creative:0}, - {name:'Era 1\n(Feb 28-Mar 18)',coding_agents:29,local_ai:3,llm_models:48,agent_arch:32,ml_fund:1,creative:0}, - {name:'Dormancy\n(Mar 8-17)',coding_agents:9,local_ai:4,llm_models:31,agent_arch:15,ml_fund:0,creative:1}, - {name:'Era 2\n(Mar 19-31)',coding_agents:22,local_ai:8,llm_models:63,agent_arch:38,ml_fund:15,creative:1}, - {name:'Era 3\n(Apr 1-6)',coding_agents:30,local_ai:10,llm_models:52,agent_arch:42,ml_fund:10,creative:3}, - ]; + const eras = LEARNING.topicEvolution || []; + if (!eras.length) { noData(el, 'Topic evolution data not available', 380); return; } const topics = ['coding_agents','llm_models','agent_arch','ml_fund','local_ai','creative']; const colors = [COLORS.claude, '#9775fa', '#e599f7', '#ff922b', '#20c997', '#ffd43b']; @@ -1967,7 +1962,8 @@ text.setAttribute('text-anchor', above ? 'start' : 'end'); text.setAttribute('font-family', 'var(--font-mono)'); const maxLen = 28; - let txt = s.query; + let raw = s.query || s.title || ''; + let txt = raw.replace(/^Searched for /i, ''); if (txt.length > maxLen) txt = txt.slice(0, maxLen) + '...'; text.textContent = `"${txt}"`; svg.appendChild(text);