## ADDED Requirements ### Requirement: Device status dashboard The web console SHALL display a list of registered devices with their current status, fetched from `console-status-api`, and SHALL show an explicit empty state when no devices are registered. #### Scenario: Devices registered - **WHEN** an operator opens the dashboard while devices are registered - **THEN** each device is shown with its name/id and current status, refreshed without a full page reload #### Scenario: No devices registered - **WHEN** an operator opens the dashboard while no devices are registered - **THEN** an empty-state message is shown inviting the operator to add a device ### Requirement: Task list and timeline replay The web console SHALL let an operator browse the task list, open a task's detail view, and step through its recorded timeline including screenshots. #### Scenario: Browse tasks - **WHEN** an operator opens the task list view - **THEN** tasks are shown most-recent-first with their goal, device, and status, and can be filtered by device or status #### Scenario: Replay a task's timeline - **WHEN** an operator opens a completed or failed task's detail view - **THEN** the console renders each recorded step in order, showing its tool call, result, and screenshot (when available) ### Requirement: Device configuration The web console SHALL let an operator register a new device (choosing a supported driver type and entering its connection info) and remove an existing device, surfacing any validation error returned by `console-config-api`. #### Scenario: Add a device successfully - **WHEN** an operator submits the add-device form with valid driver type and connection info - **THEN** the new device appears in the dashboard without a page reload #### Scenario: Add a device with invalid input - **WHEN** an operator submits the add-device form with an unsupported driver type - **THEN** the console displays the error returned by the API and does not add the device to the list #### Scenario: Remove a device - **WHEN** an operator confirms removal of a registered device - **THEN** the device disappears from the dashboard without a page reload ### Requirement: Runtime parameter configuration The web console SHALL let an operator view and edit adjustable runtime parameters (currently `max_steps`) through a settings form. #### Scenario: Update a runtime parameter - **WHEN** an operator changes `max_steps` in the settings form and saves - **THEN** the console shows the updated value on success, or the validation error if the API rejects it