chore(openspec): archive task execution visibility

This commit is contained in:
2026-07-15 12:10:14 +08:00
parent 77d4813bb2
commit 96e403ee47
17 changed files with 372 additions and 64 deletions
@@ -1,40 +1,102 @@
# 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, refreshed on the console's existing polling interval.
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
- **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 tasks and, for a selected task, its full per-step history including any captured screenshots, sourced from the Host Agent's local task metadata store and timeline.
#### Scenario: Operator lists recent tasks
- **WHEN** an authenticated operator opens the Host Agent local console's task list page
- **THEN** it shows tasks from the local task metadata store, most recent first, including tasks that have already reached a terminal state
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 specific completed task
- **THEN** the page shows each recorded step in order, including its tool call, result, and any captured screenshot
- **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
- **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 the separate Runtime `console/` frontend.
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
- **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