Skip to content

Dashboard: fall back to trace data for committed experiments when result.tasks is missing - #66

Open
PredictiveManish wants to merge 3 commits into
evo-hq:mainfrom
PredictiveManish:fix/tasks-array-check
Open

PredictiveManish wants to merge 3 commits into
evo-hq:mainfrom
PredictiveManish:fix/tasks-array-check

Conversation

@PredictiveManish

Copy link
Copy Markdown

Complements #65
& Completely fixes #56

Problem

The Tasks panel currently builds its task map from benchmark_result.tasks.

When that field is missing, the dashboard falls back to per-task trace files only for active experiments:

else if (isActive && Object.keys(traces).length > 0)

As a result, committed experiments with valid task_<id>.json traces but no aggregated result.tasks display:

No benchmark task results recorded.

even though task data is available through the traces endpoint.

Solution

Remove the isActive restriction from the trace fallback path.

Before:

else if (isActive && Object.keys(traces).length > 0)

After:

else if (Object.keys(traces).length > 0)

The dashboard now uses trace data whenever benchmark_result.tasks is unavailable, regardless of experiment status.

Behavior

Scenario Result
result.tasks present Use aggregated result data
result.tasks missing + traces available Build task map from traces
No task data available Show existing empty state

Notes

This is a defensive UI fallback and complements the evo run --check validation that prevents new benchmarks from omitting result.tasks. It does not change precedence: aggregated result data still takes priority when present.

Add validation in _cmd_run_check to ensure that when benchmarks
write multiple per-task trace files, the result.json includes a
tasks array containing those results.

This catches a common bug where benchmarks write task_*.json files
but omit the tasks array from result.json, causing empty Tasks
panels in the dashboard for committed experiments.

Fixes evo-hq#56
Remove the isActive && condition so that dashboard falls back to tracing
directory for task data when benchmark.result.tasks is missing, regardless
of experiment status. This ensures Tasks panel shows data from trace files
even for committed experiments when benchmark failed to aggregate results.

This complements the --check validation that prevents such benchmarks
from passing validation in the first place.

Fixes the UI aspect of evo-hq#56

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

evo run --check passes when benchmark omits tasks-in-result, breaking dashboard per-task panel

1 participant