## MODIFIED Requirements ### Requirement: Runtime task evidence retains UI-tree inspection results The Runtime SHALL retain, for each step, the UI-tree elements present in that step's fused `Scene` (the elements produced by `perception/scene_builder.py::build_scene()` with `source == "ui"`) as a `ui_tree_results` list on the Timeline record. The Host Agent task-detail UI SHALL render those elements in a structured, collapsible view. The Runtime SHALL NOT require a dedicated UI-tree tool call to capture this data, and SHALL NOT change the tool response contract or duplicate the result in a separate persistence field. #### Scenario: A step's scene contains UI-tree elements - **WHEN** a task step's planning `Scene` contains one or more elements with `source == "ui"` - **THEN** the Timeline record's `ui_tree_results` includes each such element's type, visible text or identifier, bounds, and available confidence, and the Host Agent task-detail page displays them #### Scenario: A step's scene has no UI-tree elements - **WHEN** a task step's planning `Scene` contains no elements with `source == "ui"` (e.g. UI-tree parsing failed and degraded to an empty list) - **THEN** the Timeline record's `ui_tree_results` is an empty list and the Host Agent task-detail page does not render an empty UI-tree section #### Scenario: A legacy Timeline record has no `ui_tree_results` field - **WHEN** a Timeline record was persisted before this field existed - **THEN** the Runtime exposes it as an empty `ui_tree_results` list without failing to render the record