Upload 8 files
Browse files- web/static/app.js +6 -5
- web/static/progress.js +5 -4
web/static/app.js
CHANGED
|
@@ -1511,6 +1511,7 @@ function numberFromEvents(events=[],keys=[]){
|
|
| 1511 |
return null;
|
| 1512 |
}
|
| 1513 |
function readRunLatencyPayload(p={}){
|
|
|
|
| 1514 |
const smoke=p.generation_smoke||p.tests?.generation_smoke||p.summary?.generation_smoke||p.state?.generation_smoke||{};
|
| 1515 |
const gate=p.inference_gate||p.summary?.inference_gate||{};
|
| 1516 |
const summary=p.summary||{};
|
|
@@ -1518,15 +1519,15 @@ function readRunLatencyPayload(p={}){
|
|
| 1518 |
const validation=gate.validation||summary.validation||{};
|
| 1519 |
const eventLatency=numberFromEvents(p.events||[],['latency_seconds','observed_latency_seconds']);
|
| 1520 |
const eventDuration=numberFromEvents(p.events||[],['recommended_zerogpu_duration_seconds','recommended_zero_gpu_duration_seconds','recommended_duration_seconds','zero_gpu_duration_recommendation']);
|
| 1521 |
-
const latency=firstPositiveNumber(smoke.latency_seconds,smoke.observed_latency_seconds,summary.latency_seconds,summary.observed_latency_seconds,p.latency_seconds,p.observed_latency_seconds,manual.latency_seconds,manual.observed_latency_seconds,eventLatency);
|
| 1522 |
-
const duration=firstPositiveNumber(smoke.recommended_zerogpu_duration_seconds,smoke.recommended_zero_gpu_duration_seconds,smoke.recommended_duration_seconds,summary.recommended_zerogpu_duration_seconds,summary.recommended_zero_gpu_duration_seconds,summary.recommended_duration_seconds,manual.recommended_zero_gpu_duration_seconds,gate.recommended_zerogpu_duration_seconds,gate.recommended_zero_gpu_duration_seconds,gate.zero_gpu_duration_recommendation,eventDuration);
|
| 1523 |
-
const source=smoke.recommendation_source||summary.recommendation_source||manual.recommendation_source||gate.recommendation_source||(manual.status==='success'?'linked Space Test':'')||(eventLatency?'generation_smoke event':'');
|
| 1524 |
-
const hardware=manual.hardware_used_for_validation||manual.recommendation_hardware||summary.hardware_used_for_validation||summary.recommendation_hardware||p.hardware_used_for_validation||p.recommendation_hardware||p.state?.selected_hardware||summary.selected_hardware||'';
|
| 1525 |
const failureType=smoke.failure_type||validation.failure_type||gate.failure_type||'';
|
| 1526 |
const failureOwner=smoke.failure_owner||validation.failure_owner||gate.failure_owner||'';
|
| 1527 |
const missingArgument=smoke.missing_argument||validation.missing_argument||gate.missing_argument||'';
|
| 1528 |
const error=smoke.error||smoke.message||validation.failure_reason||gate.message||'';
|
| 1529 |
-
return {smoke,gate,latency,duration,source,hardware,failureType,failureOwner,missingArgument,error};
|
| 1530 |
}
|
| 1531 |
function smokeFailureLatencyNote({smoke={},failureType='',failureOwner='',missingArgument='',error=''}={}){
|
| 1532 |
const status=String(smoke.status||'').toLowerCase();
|
|
|
|
| 1511 |
return null;
|
| 1512 |
}
|
| 1513 |
function readRunLatencyPayload(p={}){
|
| 1514 |
+
const metrics=p.validation_metrics||p.view?.validation_metrics||p.summary?.validation_metrics||{};
|
| 1515 |
const smoke=p.generation_smoke||p.tests?.generation_smoke||p.summary?.generation_smoke||p.state?.generation_smoke||{};
|
| 1516 |
const gate=p.inference_gate||p.summary?.inference_gate||{};
|
| 1517 |
const summary=p.summary||{};
|
|
|
|
| 1519 |
const validation=gate.validation||summary.validation||{};
|
| 1520 |
const eventLatency=numberFromEvents(p.events||[],['latency_seconds','observed_latency_seconds']);
|
| 1521 |
const eventDuration=numberFromEvents(p.events||[],['recommended_zerogpu_duration_seconds','recommended_zero_gpu_duration_seconds','recommended_duration_seconds','zero_gpu_duration_recommendation']);
|
| 1522 |
+
const latency=firstPositiveNumber(metrics.latency_seconds,metrics.observed_latency_seconds,smoke.latency_seconds,smoke.observed_latency_seconds,summary.latency_seconds,summary.observed_latency_seconds,p.latency_seconds,p.observed_latency_seconds,manual.latency_seconds,manual.observed_latency_seconds,eventLatency);
|
| 1523 |
+
const duration=firstPositiveNumber(metrics.recommended_zero_gpu_duration_seconds,metrics.recommended_zerogpu_duration_seconds,smoke.recommended_zerogpu_duration_seconds,smoke.recommended_zero_gpu_duration_seconds,smoke.recommended_duration_seconds,summary.recommended_zerogpu_duration_seconds,summary.recommended_zero_gpu_duration_seconds,summary.recommended_duration_seconds,manual.recommended_zero_gpu_duration_seconds,gate.recommended_zerogpu_duration_seconds,gate.recommended_zero_gpu_duration_seconds,gate.zero_gpu_duration_recommendation,eventDuration);
|
| 1524 |
+
const source=metrics.source||smoke.recommendation_source||summary.recommendation_source||manual.recommendation_source||gate.recommendation_source||(manual.status==='success'?'linked Space Test':'')||(eventLatency?'generation_smoke event':'');
|
| 1525 |
+
const hardware=metrics.hardware_used_for_validation||metrics.recommendation_hardware||manual.hardware_used_for_validation||manual.recommendation_hardware||summary.hardware_used_for_validation||summary.recommendation_hardware||p.hardware_used_for_validation||p.recommendation_hardware||p.state?.selected_hardware||summary.selected_hardware||'';
|
| 1526 |
const failureType=smoke.failure_type||validation.failure_type||gate.failure_type||'';
|
| 1527 |
const failureOwner=smoke.failure_owner||validation.failure_owner||gate.failure_owner||'';
|
| 1528 |
const missingArgument=smoke.missing_argument||validation.missing_argument||gate.missing_argument||'';
|
| 1529 |
const error=smoke.error||smoke.message||validation.failure_reason||gate.message||'';
|
| 1530 |
+
return {smoke,gate,metrics,latency,duration,source,hardware,failureType,failureOwner,missingArgument,error};
|
| 1531 |
}
|
| 1532 |
function smokeFailureLatencyNote({smoke={},failureType='',failureOwner='',missingArgument='',error=''}={}){
|
| 1533 |
const status=String(smoke.status||'').toLowerCase();
|
web/static/progress.js
CHANGED
|
@@ -1023,17 +1023,18 @@ function renderDiagnostics(d={},header={}){
|
|
| 1023 |
}
|
| 1024 |
function renderSpaceTestPreview(s={}){
|
| 1025 |
const policy=s.policy||s.space_test_policy||{};
|
|
|
|
| 1026 |
const status=policy.mode||s.status||'pending';
|
| 1027 |
const st=$('spaceTestStatus');
|
| 1028 |
if(st){
|
| 1029 |
st.textContent=policy.label||badgeLabel(status);
|
| 1030 |
st.className='badge '+(policy.enabled?statusClass(status):'neutral');
|
| 1031 |
}
|
| 1032 |
-
const endpointLabel=policy.requires_endpoint_discovery?'Discovery first':(s.endpoint||policy.endpoint||s.output_artifact||'—');
|
| 1033 |
setText('spaceTestEndpoint',endpointLabel);
|
| 1034 |
-
setText('spaceTestOutput','Not launched');
|
| 1035 |
-
const latency=policy.smoke_latency_seconds||s.smoke_latency_seconds||s.latency_seconds||'';
|
| 1036 |
-
if(latency)setText('spaceTestLatency',`${formatLatencySeconds(latency)} from automatic smoke`);
|
| 1037 |
setText('spaceTestVerdict',policy.message||s.verdict||'pending');
|
| 1038 |
}
|
| 1039 |
function animateProgressBar(progress,status,currentStep){
|
|
|
|
| 1023 |
}
|
| 1024 |
function renderSpaceTestPreview(s={}){
|
| 1025 |
const policy=s.policy||s.space_test_policy||{};
|
| 1026 |
+
const metrics=s.validation_metrics||{};
|
| 1027 |
const status=policy.mode||s.status||'pending';
|
| 1028 |
const st=$('spaceTestStatus');
|
| 1029 |
if(st){
|
| 1030 |
st.textContent=policy.label||badgeLabel(status);
|
| 1031 |
st.className='badge '+(policy.enabled?statusClass(status):'neutral');
|
| 1032 |
}
|
| 1033 |
+
const endpointLabel=policy.requires_endpoint_discovery?'Discovery first':(s.endpoint||policy.endpoint||metrics.api_name||s.output_artifact||'—');
|
| 1034 |
setText('spaceTestEndpoint',endpointLabel);
|
| 1035 |
+
setText('spaceTestOutput',metrics.output_artifact||s.output_artifact||'Not launched');
|
| 1036 |
+
const latency=metrics.latency_seconds||metrics.observed_latency_seconds||policy.smoke_latency_seconds||s.smoke_latency_seconds||s.latency_seconds||'';
|
| 1037 |
+
if(latency)setText('spaceTestLatency',`${formatLatencySeconds(latency)} from ${metrics.source||'automatic smoke'}`);
|
| 1038 |
setText('spaceTestVerdict',policy.message||s.verdict||'pending');
|
| 1039 |
}
|
| 1040 |
function animateProgressBar(progress,status,currentStep){
|