feat(bench): live flight-recorder dashboard (e2ebench -mode serve) - #7941
Closed
esengine wants to merge 1 commit into
Closed
feat(bench): live flight-recorder dashboard (e2ebench -mode serve)#7941esengine wants to merge 1 commit into
esengine wants to merge 1 commit into
Conversation
A local dashboard for watching a bench run while it writes trajectories: 'e2ebench -mode serve -trajectories <dir>' re-summarizes every trajectory per poll behind /api/state and serves one self-contained dark instrument page. The run renders as a strip of task segments; each task as a recessed per-round trace whose win/break polarity is carried by geometry (up/down off the baseline) because the green/red pair alone fails CVD validation. The renderer is incremental - DOM nodes are keyed, new rounds pop in, numbers tween, hover survives polling. A replay engine scrubs the whole run by wall-clock timestamp (play/pause, 30-600x, jump-to-task), so a finished run can be watched back round by round. Suite awareness lists queued tasks as ghosts and prices the remaining time. summarizeTrajectory splits into scanTrajectoryFile + finish so the dashboard can read the raw outcome series the summary discards; rounds gain their observation timestamp for the replay timeline.
esengine
force-pushed
the
feat/e2ebench-dashboard
branch
from
August 8, 2026 07:03
ad0ad1a to
79cf9d9
Compare
Owner
Author
|
Self-review notes (no code change needed): CSP-free local page, all state derived from /api/state; the renderer is keyed so polling cannot destroy hover/replay state; replay bounds guard division by zero when a run has a single round; task IDs come from local trajectory filenames (trusted input for a localhost dev tool). One deliberate trade-off documented here: the dashboard does not yet render the debt/TTFDC fields added later in the stack — follow-up once the enforcement experiments need them on screen. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #7937 (uses its outcome series). Live local dashboard for e2ebench runs.
What
e2ebench -mode serve -trajectories <dir> [-suite <root>] [-addr host:port]: serves a self-contained dark "flight recorder" page polling/api/stateevery 2s while a bench run writes trajectories.summarizeTrajectorysplits intoscanTrajectoryFile+finishso the dashboard can read the raw per-round series; outcome rounds carry their observation timestamp (additive JSONL fieldt).Verification
go vet ./cmd/e2ebench/andgo test ./cmd/e2ebench/pass; page exercised against the recorded 49-task run (live view, replay, tooltips, jump-to-card) with headless-Chromium screenshots in light/dark.Documentation-impact: none - e2ebench is a developer benchmarking tool; its flags are self-documented via -h and not covered by docs/*.md