> ## Documentation Index
> Fetch the complete documentation index at: https://oxy.tech/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Agentic Agents, Testing UI Fixes, and Platform Improvements

> A new .agentic.yml agent type with end-to-end reasoning pipelines, app generation, and human-in-the-loop support

<Icon icon="calendar" iconType="regular" size={16} /> **April 2, 2026**

### New Features

#### Agentic Agents

A new agent type — defined in `.agentic.yml` files — that runs a multi-step reasoning pipeline autonomously, rather than a single LLM call with tools. Two kinds are supported:

**Analytics agents** answer natural language data questions through an end-to-end pipeline: clarify → specify metrics and dimensions → generate SQL → execute → interpret results.

```yaml theme={null}
# analytics.agentic.yml
llm:
  ref: claude-sonnet-4-6
  max_tokens: 16000
databases:
  - my_warehouse
context:
  - ./semantics/*.view.yml
  - ./semantics/*.topic.yml
  - ./workflows/**/*.procedure.yml
states:
  clarifying:
    max_retries: 10
  specifying:
    max_retries: 10
  solving:
    max_retries: 10
```

**App builder agents** generate a complete `.app.yml` Data App from a natural language description.

```yaml theme={null}
# app_builder.agentic.yml
llm:
  ref: openai-4o-mini
  max_tokens: 4096
thinking: effort::medium
context:
  - ./semantics/*.view.yml
  - ./workflows/**/*.procedure.yml
```

Both agent types support all Oxygen connector types (DuckDB, PostgreSQL, BigQuery, Snowflake, ClickHouse) and the Airlayer semantic layer. Analytics agents can also be configured to use an external semantic backend instead of generating raw SQL.

#### Human-in-the-Loop Suspension

Agentic runs can pause mid-pipeline to ask the user a clarifying question:

* **Suspension Events** — The frontend receives a `suspended` event when the agent needs additional input before continuing
* **User Prompt** — The UI prompts the user for a response inline within the reasoning trace
* **Seamless Resume** — The run resumes exactly where it left off via `POST /analytics/runs/:id/answer`, preserving all pipeline state

#### Agentic Thread UI

The thread detail page now renders agentic runs with a dedicated reasoning interface:

* **Reasoning Trace** — Each pipeline stage is shown in sequence, giving full visibility into how the agent reached its answer
* **Artifact Sidebar** — SQL results, charts, and the final narrative answer are surfaced in a dedicated panel
* **Suspension Prompt** — When the agent needs human input, an inline prompt appears within the thread view
* **Procedure DAG Panel** — When the agent delegates to a workflow, the procedure execution graph is displayed

<img src="https://mintcdn.com/oxy-internal/ZOc853NmrgCDe_HI/changelog/images/2026-04-02/agentic-reasoning-trace.png?fit=max&auto=format&n=ZOc853NmrgCDe_HI&q=85&s=571eb20c73126c24d6c7ebe19d2253ea" alt="Agentic reasoning trace showing the clarifying pipeline stage" width="1554" height="1138" data-path="changelog/images/2026-04-02/agentic-reasoning-trace.png" />

<img src="https://mintcdn.com/oxy-internal/ZOc853NmrgCDe_HI/changelog/images/2026-04-02/agentic-results-chart.png?fit=max&auto=format&n=ZOc853NmrgCDe_HI&q=85&s=c1ec612e98e38bbde0412ce544ea2266" alt="Agentic analytics result with chart and narrative answer" width="1518" height="2364" data-path="changelog/images/2026-04-02/agentic-results-chart.png" />

#### New API Endpoints

Analytics runs:

| Method | Path                                | Description                                              |
| ------ | ----------------------------------- | -------------------------------------------------------- |
| `POST` | `/analytics/runs`                   | Start an analytics run for a given agent and question    |
| `GET`  | `/analytics/runs/:id/events`        | SSE stream of live reasoning steps and results           |
| `POST` | `/analytics/runs/:id/answer`        | Resume a suspended run with a human answer               |
| `GET`  | `/analytics/threads/:thread_id/run` | Get run summary with status, answer, and UI event replay |

App builder runs:

| Method | Path                             | Description                                  |
| ------ | -------------------------------- | -------------------------------------------- |
| `POST` | `/analytics/app-runs`            | Start an app builder run                     |
| `GET`  | `/analytics/app-runs/:id/events` | SSE stream of build steps and generated app  |
| `POST` | `/analytics/app-runs/:id/answer` | Resume a suspended build with a human answer |
| `POST` | `/analytics/app-runs/:id/cancel` | Cancel a running or suspended build          |

***

### Platform Improvements

#### Bug Fixes

* **Testing UI Progress Bar** — Fixed a stale state issue where the progress bar did not appear when clicking "Run All" on the Test Dashboard until the page was remounted
