Spaces:
Runtime error
Runtime error
Zhen Ye Claude Opus 4.6 (1M context) commited on
Commit ·
3954da2
1
Parent(s): 5940d42
fix: replace model names with analyst-style labels in reasoning trace
Browse filesGPT-4o → Primary Analyst, Claude → Validator A, Gemini → Validator B.
Loading text now reads "Cross-validating with intelligent analysts..."
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- demo/js/explain.js +7 -7
demo/js/explain.js
CHANGED
|
@@ -44,7 +44,7 @@ async function loadExplainability(jobId, trackId) {
|
|
| 44 |
if (_explainAbort) _explainAbort.abort();
|
| 45 |
_explainAbort = new AbortController();
|
| 46 |
|
| 47 |
-
panel.innerHTML = '<div class="explain-loading"><div class="explain-spinner"></div><span>
|
| 48 |
|
| 49 |
try {
|
| 50 |
const resp = await fetch(`${ISR.API_BASE}/inspect/explain/${jobId}/${encodeURIComponent(trackId)}`, { signal: _explainAbort.signal });
|
|
@@ -97,9 +97,9 @@ function renderExplainGraph(data, container) {
|
|
| 97 |
+ '</div></div>';
|
| 98 |
|
| 99 |
var llmHtml = '<div class="ex-llm-strip">'
|
| 100 |
-
+ '<span class="ex-llm-tag active">
|
| 101 |
-
+ '<span class="ex-llm-tag' + (data.consensus_bar && data.consensus_bar.validators_available >= 1 ? ' active' : '') + '">
|
| 102 |
-
+ '<span class="ex-llm-tag' + (data.consensus_bar && data.consensus_bar.validators_available >= 2 ? ' active' : '') + '">
|
| 103 |
+ '</div>';
|
| 104 |
|
| 105 |
// Trunk line
|
|
@@ -348,7 +348,7 @@ function render3DGraph(data, wrap) {
|
|
| 348 |
html += '<strong style="color:' + node.color + ';font-size:12px">' + ISR.escHtml(node.label) + '</strong>';
|
| 349 |
if (node.nodeType === 'feature' && node.nodeData.feat) {
|
| 350 |
var f = node.nodeData.feat;
|
| 351 |
-
if (f.reasoning) html += '<div style="margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,0.1);color:#cbd5e1"><span style="color:#10b981;font-weight:600">
|
| 352 |
var vals = f.validators || {};
|
| 353 |
Object.keys(vals).forEach(function(name) {
|
| 354 |
var v = vals[name];
|
|
@@ -358,10 +358,10 @@ function render3DGraph(data, wrap) {
|
|
| 358 |
});
|
| 359 |
} else if (node.nodeType === 'category' && node.nodeData.features) {
|
| 360 |
html += '<div style="margin-top:4px;color:#94a3b8">' + node.nodeData.features.length + ' features analyzed</div>';
|
| 361 |
-
if (validatorsAvailable > 0) html += '<div style="color:#94a3b8">
|
| 362 |
} else if (node.nodeType === 'verdict') {
|
| 363 |
if (node.nodeData.reasoning_summary) html += '<div style="margin-top:4px;color:#cbd5e1">' + ISR.escHtml(node.nodeData.reasoning_summary) + '</div>';
|
| 364 |
-
if (validatorsAvailable > 0) html += '<div style="margin-top:3px;color:#94a3b8">
|
| 365 |
} else if (node.nodeType === 'input') {
|
| 366 |
if (data.reasoning_summary) html += '<div style="margin-top:4px;color:#cbd5e1">' + ISR.escHtml(data.reasoning_summary) + '</div>';
|
| 367 |
html += '<div style="margin-top:3px;color:#94a3b8">Mission: ' + ISR.escHtml((ISR.STATE.mission || 'N/A').slice(0, 50)) + '</div>';
|
|
|
|
| 44 |
if (_explainAbort) _explainAbort.abort();
|
| 45 |
_explainAbort = new AbortController();
|
| 46 |
|
| 47 |
+
panel.innerHTML = '<div class="explain-loading"><div class="explain-spinner"></div><span>Cross-validating with intelligent analysts...</span></div>';
|
| 48 |
|
| 49 |
try {
|
| 50 |
const resp = await fetch(`${ISR.API_BASE}/inspect/explain/${jobId}/${encodeURIComponent(trackId)}`, { signal: _explainAbort.signal });
|
|
|
|
| 97 |
+ '</div></div>';
|
| 98 |
|
| 99 |
var llmHtml = '<div class="ex-llm-strip">'
|
| 100 |
+
+ '<span class="ex-llm-tag active">Primary Analyst</span>'
|
| 101 |
+
+ '<span class="ex-llm-tag' + (data.consensus_bar && data.consensus_bar.validators_available >= 1 ? ' active' : '') + '">Validator A</span>'
|
| 102 |
+
+ '<span class="ex-llm-tag' + (data.consensus_bar && data.consensus_bar.validators_available >= 2 ? ' active' : '') + '">Validator B</span>'
|
| 103 |
+ '</div>';
|
| 104 |
|
| 105 |
// Trunk line
|
|
|
|
| 348 |
html += '<strong style="color:' + node.color + ';font-size:12px">' + ISR.escHtml(node.label) + '</strong>';
|
| 349 |
if (node.nodeType === 'feature' && node.nodeData.feat) {
|
| 350 |
var f = node.nodeData.feat;
|
| 351 |
+
if (f.reasoning) html += '<div style="margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,0.1);color:#cbd5e1"><span style="color:#10b981;font-weight:600">Primary Analyst:</span> ' + ISR.escHtml(f.reasoning) + '</div>';
|
| 352 |
var vals = f.validators || {};
|
| 353 |
Object.keys(vals).forEach(function(name) {
|
| 354 |
var v = vals[name];
|
|
|
|
| 358 |
});
|
| 359 |
} else if (node.nodeType === 'category' && node.nodeData.features) {
|
| 360 |
html += '<div style="margin-top:4px;color:#94a3b8">' + node.nodeData.features.length + ' features analyzed</div>';
|
| 361 |
+
if (validatorsAvailable > 0) html += '<div style="color:#94a3b8">Cross-validated by independent analysts</div>';
|
| 362 |
} else if (node.nodeType === 'verdict') {
|
| 363 |
if (node.nodeData.reasoning_summary) html += '<div style="margin-top:4px;color:#cbd5e1">' + ISR.escHtml(node.nodeData.reasoning_summary) + '</div>';
|
| 364 |
+
if (validatorsAvailable > 0) html += '<div style="margin-top:3px;color:#94a3b8">Validator A: ' + claudeAgreed + '/' + claudeTotal + ' \u00b7 Validator B: ' + geminiAgreed + '/' + geminiTotal + '</div>';
|
| 365 |
} else if (node.nodeType === 'input') {
|
| 366 |
if (data.reasoning_summary) html += '<div style="margin-top:4px;color:#cbd5e1">' + ISR.escHtml(data.reasoning_summary) + '</div>';
|
| 367 |
html += '<div style="margin-top:3px;color:#94a3b8">Mission: ' + ISR.escHtml((ISR.STATE.mission || 'N/A').slice(0, 50)) + '</div>';
|