# host-agent-console-task-pages Specification ## Purpose Define the authenticated, same-origin task-history views served by the Host Agent local console. ## Requirements ### Requirement: Host Agent local console exposes step-level status for the current assignment The Host Agent's local console SHALL display, for its currently executing assignment, the current step index, step status, and a short summary, sourced from the Host Agent's local task metadata store and refreshed on the console's existing polling interval. #### Scenario: An assignment is currently executing - **WHEN** an operator views the Host Agent local console dashboard while an assignment is executing - **THEN** the dashboard shows the current step index, step status, and a short summary for that assignment, updating on subsequent polls #### Scenario: No assignment is currently executing - **WHEN** an operator views the dashboard while the Host Agent is idle - **THEN** the dashboard shows no in-progress step information ### Requirement: Host Agent local console exposes read-only task history with per-step detail and screenshots The Host Agent's local console SHALL provide authenticated, read-only pages listing recently executed local tasks and, for a selected task, its full per-step history from the Host-local metadata store and Timeline. The task detail SHALL show available before and after screenshots, operation details and arguments, execution result, OCR observations, and normalized UI-tree results. It SHALL render legacy Timeline records that only have a single screenshot as a post-action image. #### Scenario: Operator lists recent Host executions - **WHEN** an authenticated operator opens the Host Agent local console's task list page - **THEN** it shows local executions most recent first, including terminal tasks and any available Cloud task ID and attempt correlation #### Scenario: Operator inspects a completed task's step history - **WHEN** an authenticated operator opens the detail page for a completed Host execution - **THEN** the page shows each recorded step in order with its tool call, result, and available before/after screenshots #### Scenario: OCR was captured for a step - **WHEN** the selected Timeline record contains OCR observations - **THEN** the detail page shows each observation's text, confidence, and bounds #### Scenario: A UI-tree tool returned normalized nodes - **WHEN** the selected Timeline record invoked `get_ui_tree` or `ui_tree` and its result contains normalized nodes - **THEN** the detail page exposes a structured, collapsible node view while retaining the persisted result JSON #### Scenario: A legacy Timeline record is displayed - **WHEN** a Timeline record has only `screenshot_path` - **THEN** the detail page renders it as the post-action image without failing #### Scenario: Unauthenticated request - **WHEN** a request to the task list or task detail pages is made without a valid Host Agent console session - **THEN** the Host Agent rejects the request the same way it rejects unauthenticated requests to its other console pages ### Requirement: Host Agent local console task pages require no new cross-origin surface The Host Agent local console's task pages SHALL be served same-origin from the Host Agent's existing web application, without introducing new CORS allowances or a dependency on a separate Runtime frontend. #### Scenario: Task pages are requested - **WHEN** an operator's browser requests the Host Agent local console's task pages - **THEN** the pages are served by the Host Agent's own application using its existing session/CSRF protections, with no additional cross-origin configuration required ### Requirement: Host Agent console is the authority for actual execution evidence The Host Agent local console SHALL be the web authority for task evidence produced by that Host's in-process execution path. A standalone Runtime service/UI SHALL NOT be required or consulted to inspect a Host execution. #### Scenario: A Cloud task is executed by a Host Agent - **WHEN** an operator opens that Host Agent's task page after execution starts - **THEN** the page reads the same Host-local metadata and Timeline that the executing `TaskRunner` writes