Dashboard¶
The BenchCI dashboard is the browser-based control center for your workspace.
Dashboard URL:
https://app.benchci.dev
Use it after your first Cloud run to inspect status, events, artifacts, evidence, firmware assurance, DUT identity, coverage, reliability history, and failure context. You can also manage release review workflows and submit customer requests from your active workspace.
Why the dashboard matters¶
The CLI is good for running tests.
The dashboard is good for understanding the state of your hardware validation system:
which benches are online
which runs are queued or running
what failed recently
which workspace resources are available
what artifacts were produced
what evidence, identity, coverage, and firmware-assurance metadata was indexed
whether recent history suggests a flaky test or bench issue
which release bundles are awaiting review
whether a bench is ready for CI use
Login¶
Use your BenchCI email and password.
If you are creating the first account for a company, register a workspace owner account.
If you were invited to an existing workspace, use the invite link. Existing BenchCI users should sign in from the invite link to accept the invite; new users should register from the invite link.
Users who belong to multiple active workspaces can select the active workspace from the dashboard sidebar. CLI users can switch with benchci workspaces use <workspace_id>.
What the dashboard shows¶
The dashboard is designed to show:
workspace health
online/offline benches
queued/running runs
recent failures
run timelines
run events
bench capabilities, including power and measurement resources where available
artifact, evidence JSON/HTML, JUnit, and CTRF downloads where allowed
firmware handling status and artifact audit history
LCOV coverage summaries
configured or UART-verified DUT identity
experimental controlled fault-injection summaries
fuzz campaign summary, seed, first failing case, and log path when fuzzing is used
captured metrics and measurements where available
requirement/test/risk traceability
reliability history, flaky-test warnings, and advisory failure assessments
release review state, hash-linked review events, and release report downloads
customer bug reports and feature requests for the active workspace
starter
bench.yamlandsuite.yamlgenerationworkspace onboarding, artifact policy, teammates, roles, invites, and Agent tokens
Core pages¶
Overview¶
Shows high-level workspace health:
online benches
offline benches
queued runs
running runs
7-day pass rate (shown as “—” when no completed runs exist in the window)
recent failures
benches under warning or failure conditions
release bundles currently under review
Runs This Month — always visible; shows remaining count when a monthly run cap applies
Use this page as the shared workspace status view.
Runs¶
Shows run history and run detail.
Use it to inspect:
status
bench assignment
agent assignment
DUT revision, serial, asset, or fixture-slot filters
duration
error classification
structured failure explanation and suggested checks
advisory reliability and historical failure-source assessment
event timeline
evidence report summary
firmware handling, deletion state, and artifact audit events
configured or verified DUT identity
LCOV coverage summary
imported external test source and downloadable artifacts
fuzzing and experimental fault-injection summaries
requirement/test/risk traceability
artifacts, evidence HTML/JSON, JUnit, and CTRF exports
Workspace owners and admins can remove runs that are not actively assigned or executing. A run included in a release bundle cannot be removed until the bundle is removed. Removing a run deletes its events, audit rows, and stored artifact ZIP; deleting retained firmware bytes is a separate action that keeps the run evidence and audit history.
BenchCI admins can set workspace-specific generated artifact retention from the Admin panel. This controls artifact ZIP cleanup and non-bundled completed/failed run cleanup; release bundle packages and approved review trails are managed separately.
Benches¶
Shows benches visible to your workspace.
Bench cards include:
bench ID
name
status
type
tags
agent
transports
flash backends
node count
startup health status and diagnostic findings
scheduler eligibility
last-10 and last-30 run-history summaries
recent outcomes and top flaky tests where available
Workspace owners and admins can remove a bench that is not currently running by clicking Remove on the bench card. A removed bench can re-register the next time its Agent connects; removing it does not permanently delete the bench record or prevent future use.
Config Builder¶
Creates starter bench.yaml and suite.yaml files in the browser.
The Config Builder is preset-based and export-only. It does not save config to the cloud, deploy Agent settings, or create database records. Use it to choose a common flow, adjust the compact form fields, preview both YAML files, then copy or download them into your repository.
Available presets match benchci init:
uart-smokeflash-uartgpio-reset-readypower-cyclemeasurement-thresholdcan-handshakemodbus-rtumodbus-tcpuart-fuzzcan-fuzzmodbus-rtu-fuzzmodbus-tcp-fuzzi2c-sensor-smokespi-flash-verify
After exporting, validate and inspect the files with the CLI:
benchci doctor --bench bench.yaml
benchci validate --bench bench.yaml --suite suite.yaml
Releases¶
Shows release bundles and their associated hardware run evidence.
Use it to:
create a new release bundle from a name, optional version/description, and completed cloud run IDs
view the latest-result coverage matrix for the bundle, with the full per-run matrix preserved in the downloaded ZIP
inspect included runs, DUT context, LCOV summaries, and coverage trends
submit a draft or rejected bundle for review with a required comment
approve or reject an under-review bundle as a workspace owner/admin
inspect hash-linked review events
download the evidence ZIP
view or download review reports as HTML or PDF
Approved bundles are locked for review integrity. Owners and admins can remove other bundles, but approved bundles cannot be removed through the normal dashboard or API path.
Generated reports are review aids; they are not certification or regulatory approval.
Requests¶
Shows customer request intake for the active workspace.
All active workspace members can submit:
bug reports
feature requests
Requests include:
type
severity
title and description
optional run ID
optional bench ID
the current dashboard page URL
workspace and requester context
The page also shows recent workspace request history and the current request status:
Received
Reviewing
Planned
Done
Rejected
Repeated requests may be grouped during BenchCI review. The dashboard shows the current status, but request submission does not create a public roadmap, vote count, or customer-facing SLA.
Workspace¶
Shows workspace details, status, usage limits, firmware artifact policy, onboarding commands, team access, and Agent token management where your role allows.
Use this page when:
connecting a new Agent
checking Cloud Mode workspace setup
copying CLI commands
selecting the default firmware handling mode and retention policy
inviting teammates
changing teammate roles, suspending access, and removing records where allowed
managing workspace Agent tokens
Run detail evidence¶
For Cloud runs, the run detail panel can show an Evidence Report section with:
firmware filename and SHA256
Git commit, branch, and remote
CI provider and CI job URL
bench ID and Agent ID
suite hash
bench config hash
result status
whether
evidence.htmlandmanifest.jsonare included in artifactsevidence quality warnings for missing or incomplete fields
captured metrics and measurements when the suite records them
protocol fuzzing summary, campaigns, seeds, failures, first failing case, and fuzz log hints when the suite uses fuzzing
configured and UART-verified DUT identity, including verification status and response hash
experimental fault-injection recovery and watchdog summaries
LCOV line, function, and branch coverage
imported external-result source/framework and authenticated artifact downloads
measurement resource, backend, preset, SCPI query, raw response, and instrument address when available
lightweight metric trend previews for repeated numeric measurements
When these artifacts are present, the dashboard can open evidence.html,
download evidence.json, and export JUnit XML or CTRF JSON directly from run
detail. The full evidence package remains available in the artifacts ZIP.
Traceability view¶
If suite.yaml includes traceability fields, the dashboard can show:
requirement IDs
test case IDs
risk IDs
tags
per-test mapping
This helps teams connect a failed or passed hardware run to the requirement, risk, or test case it covers.
Failure context¶
Failed runs can show structured failure information:
category
title
explanation
suggested checks
failed step
relevant artifact paths
This reduces generic “unknown failure” cases and points users toward the right log or hardware check.
Bench health and failure source¶
The dashboard can show bench health on bench cards:
Healthy
Degraded
Failing
Unknown
Bench health panels can include:
health summary
last checked timestamp
scheduling eligibility message
pass/warn/fail/skip counts
warning or failing diagnostic checks
categories and suggested fixes
Failed run details can show a likely failure source:
Firmware
Test logic
Bench infrastructure
Agent / cloud
Configuration
Unknown
This helps users decide whether a failure is more likely to come from the firmware, the test suite, the bench infrastructure, the Agent/cloud path, or configuration.
When enough history exists, run detail can separately show a historical failure assessment with the canonical source, history-suggested source, confidence, reasons, and supporting signals. This is advisory only and never rewrites the canonical failure or run result.
Run detail can also show reliability-history cards:
Possible bench issue
Flaky test
Cross-bench mismatch
These cards use recent completed run history for the same bench and test case. They are warnings for investigation, not automatic pass/fail overrides. The Benches view shows the same history as a bench reliability indicator with last-10 and last-30 summaries, recent outcomes, and top flaky tests when present.
Measurements and metrics¶
Run detail can show measurement cards for values captured by measure and assert_metric steps.
For SCPI-backed measurements, cards can include:
metric name
value and unit
quantity
pass/fail assertion status
resource name
backend, such as
scpi_measurementorscpi_power_supply_measurementpreset, such as
generic,owon_sp,rigol_dp_basic, orkeysight_basicSCPI source query
instrument address
raw response where available
measurement log path where available
This makes electrical evidence visible without requiring every user to open results.json first.