## ADDED Requirements ### Requirement: Cloud Control Plane persists each resolved planner decision for later retrieval The Cloud Control Plane's planner-decision endpoint SHALL, for each request it successfully resolves to a tool-call decision, persist the request's system prompt, user prompt, the resolved tool name and arguments, and an assigned step index (scoped to the request's `task_id`/`attempt`) to a durable, bounded-retention store, in addition to returning the decision to the requesting Host Agent. The Cloud Control Plane SHALL NOT persist screenshot bytes from these requests. #### Scenario: A planner-decision request resolves successfully - **WHEN** the Cloud Control Plane resolves a planner-decision request to a tool-call decision - **THEN** it persists the request's system prompt, user prompt, the resolved tool name and arguments, and a step index for that `task_id`/`attempt`, before returning the decision to the Host Agent #### Scenario: A planner-decision request fails - **WHEN** the configured provider call fails and the endpoint returns a structured failure response - **THEN** no row is persisted for that request #### Scenario: A screenshot was included in the request - **WHEN** a planner-decision request includes a screenshot - **THEN** the screenshot bytes are used only to call the LLM provider and are not written to the persisted decision log ### Requirement: Persisted planner decisions are retained within a bounded window The Cloud Control Plane SHALL prune persisted planner decisions once their owning task has been in a terminal state for longer than a configurable retention window, so that indefinite operation does not cause unbounded growth of the decision log. #### Scenario: A task's retention window has elapsed since reaching a terminal state - **WHEN** a task reached a terminal state more than the configured retention window ago - **THEN** the Cloud Control Plane removes that task's persisted planner decisions #### Scenario: A task is still active or within its retention window - **WHEN** a task is still active, or reached a terminal state less than the configured retention window ago - **THEN** its persisted planner decisions remain available for query ### Requirement: Cloud-side planner decision history is scoped to hosts using the cloud-proxy transport The Cloud Control Plane's persisted planner decision log SHALL only ever contain entries for hosts whose planner calls were routed through the cloud-proxy transport; it SHALL NOT contain entries, synthesized or otherwise, for hosts using the direct-to-provider transport. #### Scenario: A host uses the direct-to-provider transport - **WHEN** a Host Agent configured for the direct-to-provider transport executes an assignment - **THEN** no planner decision entries for that assignment appear in the Cloud Control Plane's persisted decision log