Skip to content

Commit 63dcc64

Browse files
authored
fix hover and orchestrator 🎼
1 parent 66d07b6 commit 63dcc64

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

index.html

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
1111
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
1212
<!-- Chosen Palette: Stone & Teal -->
13-
<!-- Application Structure Plan: A single-page dashboard guides the user from high-level concepts to implementation details. Flow: 1. Core Architecture, 2. Gateway Deep Dive, 3. Gateway Scanners, 4. Sidecar Architecture, 5. eBPF Enrichment (new), 6. Advanced Interactions, 7. The Role of Judge LLMs, 8. Future Architecture, 9. Feature Locus, 10. Roadmap. This thematic structure is more intuitive than a linear report. -->
13+
<!-- Application Structure Plan: A single-page dashboard guides the user from high-level concepts to implementation details. Flow: 1. Core Architecture, 2. Gateway Deep Dive, 3. Gateway Scanners, 4. Sidecar Architecture, 5. eBPF Enrichment (restored), 6. Advanced Interactions, 7. The Role of Judge LLMs, 8. Future Architecture, 9. Feature Locus, 10. Roadmap. This thematic structure is more intuitive than a linear report. -->
1414
<!-- Visualization & Content Choices: Report Info -> Goal -> Viz/Presentation. | Core Architecture -> Organize -> HTML/CSS Diagram -> Interactive hover/click -> Visualize relationships. | Gateway Comparison -> Compare -> Detailed HTML Table -> Facilitate direct comparison. | eBPF Strategy -> Explain -> Diagram + Comparison table -> Clarify a new, complex technical layer. | All choices avoid SVG/Mermaid and prioritize interaction. -->
1515
<!-- CONFIRMATION: NO SVG graphics used. NO Mermaid JS used. -->
1616
<style>
@@ -111,7 +111,7 @@
111111
<h1 class="text-xl font-bold text-stone-800">AI Control Plane V6</h1>
112112
</div>
113113
<div class="hidden md:block">
114-
<div class="ml-10 flex items-baseline space-x-2 text-xs lg:text-sm">
114+
<div class="ml-10 flex items-baseline space-x-1 lg:space-x-2 text-xs lg:text-sm">
115115
<a href="#architecture" class="nav-link px-2 py-2 font-medium text-stone-600">Architecture</a>
116116
<a href="#gateway-deep-dive" class="nav-link px-2 py-2 font-medium text-stone-600">Gateway</a>
117117
<a href="#gateway-scanners" class="nav-link px-2 py-2 font-medium text-stone-600">Scanners</a>
@@ -142,7 +142,7 @@ <h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4">A Unified Archite
142142
<div class="flex flex-col items-center space-y-6">
143143
<div class="flex items-center space-x-4 text-lg font-semibold"><span>👤</span><p>User</p></div>
144144
<div class="w-px h-8 bg-stone-300"></div>
145-
<div id="diagram-agent-pod" class="diagram-component p-4 border-2 border-dashed border-teal-500 rounded-xl bg-teal-50/30 w-full">
145+
<div id="diagram-agent-pod" class="diagram-component p-4 border-2 border-dashed border-teal-500 rounded-xl bg-teal-50/30 w-full cursor-pointer">
146146
<p class="font-bold text-teal-600 text-center mb-2">Application Pod</p>
147147
<div class="p-4 bg-white rounded-lg shadow text-center relative">
148148
<span class="text-2xl">🤖</span>
@@ -160,15 +160,15 @@ <h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4">A Unified Archite
160160

161161
<!-- Middle Column: Internal & Central Services -->
162162
<div class="flex flex-col items-center space-y-6">
163-
<div id="diagram-mcp" class="diagram-component p-4 border-2 border-dashed border-stone-400 rounded-xl w-full">
163+
<div id="diagram-mcp" class="diagram-component p-4 border-2 border-dashed border-stone-400 rounded-xl w-full cursor-pointer">
164164
<p class="font-bold text-stone-600 text-center mb-2">Internal Tools & Data (MCP)</p>
165165
<div class="space-y-2">
166166
<div class="p-2 bg-white rounded-lg shadow text-center"><span class="text-xl mr-2">🗄️</span>RAG Vector DB</div>
167167
<div class="p-2 bg-white rounded-lg shadow text-center"><span class="text-xl mr-2">🛠️</span>Other Tool Servers</div>
168168
</div>
169169
</div>
170170
<div class="w-px h-8 bg-stone-300"></div>
171-
<div id="diagram-backend" class="diagram-component p-4 border-2 border-dashed border-stone-400 rounded-xl w-full">
171+
<div id="diagram-backend" class="diagram-component p-4 border-2 border-dashed border-stone-400 rounded-xl w-full cursor-pointer">
172172
<p class="font-bold text-stone-600 text-center mb-2">Central Backend Services</p>
173173
<div class="space-y-2">
174174
<div class="p-2 bg-white rounded-lg shadow text-center"><span class="text-xl mr-2">⚖️</span>Policy Engine (OPA)</div>
@@ -180,7 +180,7 @@ <h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4">A Unified Archite
180180

181181
<!-- Right Column: Gateway & External Services -->
182182
<div class="flex flex-col items-center space-y-6">
183-
<div id="diagram-gateway" class="diagram-component p-4 border-2 border-dashed border-sky-500 rounded-xl bg-sky-50/30 w-full">
183+
<div id="diagram-gateway" class="diagram-component p-4 border-2 border-dashed border-sky-500 rounded-xl bg-sky-50/30 w-full cursor-pointer">
184184
<p class="font-bold text-sky-600 text-center mb-2">LLM Gateway</p>
185185
<div class="p-4 bg-white rounded-lg shadow text-center relative">
186186
<span class="text-2xl">🛡️</span>
@@ -189,7 +189,7 @@ <h2 class="text-3xl md:text-4xl font-bold tracking-tight mb-4">A Unified Archite
189189
</div>
190190
</div>
191191
<div class="w-px h-8 bg-stone-300"></div>
192-
<div id="diagram-external" class="diagram-component p-4 border-2 border-dashed border-stone-400 rounded-xl w-full">
192+
<div id="diagram-external" class="diagram-component p-4 border-2 border-dashed border-stone-400 rounded-xl w-full cursor-pointer">
193193
<p class="font-bold text-stone-600 text-center mb-2">External Services</p>
194194
<div class="space-y-2">
195195
<div class="p-2 bg-white rounded-lg shadow text-center"><span class="text-xl mr-2">☁️</span>Primary LLM Providers</div>
@@ -455,7 +455,7 @@ <h2 class="text-3xl md:text-4xl font-bold tracking-tight text-center mb-4">Phase
455455
dataFlow: [
456456
{ step: 1, title: 'Ingestion', icon: '📥', description: 'The OTEL Collector (Go) in the sidecar receives a constant stream of trace data from the Agentic App via gRPC on `localhost`.'},
457457
{ step: 2, title: 'Batching', icon: '📦', description: 'The `batch` processor groups individual spans into batches to optimize processing and network traffic.'},
458-
{ step: 3, title: 'Orchestration', icon: ' orchestrator', description: 'A Custom Go Processor iterates through spans, evaluates simple rules, and triggers deeper analysis for complex cases.'},
458+
{ step: 3, title: 'Orchestration', icon: '🎼', description: 'A Custom Go Processor iterates through spans, evaluates simple rules, and triggers deeper analysis for complex cases.'},
459459
{ step: 4, title: 'Async RPC Call', icon: '⚡️', description: 'For complex analysis, the Go processor makes a non-blocking gRPC call to the Python Analysis Service within the same pod.'},
460460
{ step: 5, title: 'Specialized Analysis', icon: '🔬', description: 'The Python service uses libraries like `sentence-transformers` or an embedded Judge LLM for tasks like hallucination detection, then returns a structured result.'},
461461
{ step: 6, title: 'Telemetry Enrichment', icon: '✏️', description: 'The Go processor receives the analysis result and enriches the original span with new attributes (e.g., `validation.score = 0.85`).'},
@@ -624,8 +624,8 @@ <h4 class="font-bold text-lg text-teal-700">${item.title}</h4>
624624
const diagramComponents = document.querySelectorAll('.diagram-component');
625625
const diagramInfo = document.getElementById('diagram-info');
626626
diagramComponents.forEach(comp => {
627-
const id = comp.id.split('-')[1];
628-
comp.addEventListener('mouseenter', () => { diagramInfo.textContent = appData.diagramInfo[id] || appData.diagramInfo.default; });
627+
const key = comp.id.replace('diagram-', '');
628+
comp.addEventListener('mouseenter', () => { diagramInfo.textContent = appData.diagramInfo[key] || appData.diagramInfo.default; });
629629
comp.addEventListener('mouseleave', () => { diagramInfo.textContent = appData.diagramInfo.default; });
630630
});
631631

@@ -648,3 +648,4 @@ <h4 class="font-bold text-lg text-teal-700">${item.title}</h4>
648648
</script>
649649
</body>
650650
</html>
651+

0 commit comments

Comments
 (0)