> ## 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.

# Interactive App Controls, Enhanced Looker Integration, and Agent Testing Framework

> Dynamic parameter controls for apps, full Looker platform integration, and LLM-as-judge testing

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

<img src="https://mintcdn.com/oxy-internal/tuVd3hdZBsq8mVY5/changelog/images/2026-03-12/interactive-controls-looker-agent-testing.png?fit=max&auto=format&n=tuVd3hdZBsq8mVY5&q=85&s=cc7ef464a286f35c4086d3961c9ab15c" alt="" width="1920" height="1080" data-path="changelog/images/2026-03-12/interactive-controls-looker-agent-testing.png" />

### New Features

#### Interactive App Controls

Dynamic parameter controls for data applications:

* **Control Types** - Select dropdowns, toggles, and date pickers with dynamic or static options
* **Jinja Integration** - Control values injected into SQL queries and templates via `controls` context
* **Smart Caching** - Results cached based on parameter hashes for improved performance
* **Row Layout** - New `RowDisplay` type enables side-by-side child displays in grid layout
* **API Support** - Endpoints updated to retrieve controls alongside displays and accept control parameters

<img src="https://mintcdn.com/oxy-internal/tuVd3hdZBsq8mVY5/changelog/images/2026-03-12/interactive-controls-dashboard.png?fit=max&auto=format&n=tuVd3hdZBsq8mVY5&q=85&s=3c30f60f67e0edf3891c660eda6b7c9b" alt="" width="2508" height="2592" data-path="changelog/images/2026-03-12/interactive-controls-dashboard.png" />

Example configuration:

```yaml theme={null}
controls:
  - name: store
    type: select
    label: "Store"
    options: [1, 2, 3]
  - name: start_date
    type: date
    default: "2024-01-01"
```

#### Enhanced Looker Integration

Complete Looker platform integration with agentic capabilities:

* **Metadata Sync** - `oxy looker sync` fetches and stores explore metadata locally with automatic `oxy build` integration
* **CLI Commands** - `oxy looker list` and `oxy looker test` for management and verification
* **Workflow Tasks** - New `looker_query` task type with integration, model, explore, fields, filters, and limit configuration
* **Agentic Workflows** - `AutoLookerQuery` FSM trigger for autonomous querying with natural language objectives
* **Frontend Integration** - Complete UI components for task configuration, tool forms, workflow diagram nodes, and result rendering
* **OAuth2 Client** - Secure Looker API client with token management

#### Agent Testing Framework

Comprehensive testing infrastructure with LLM-as-judge correctness evaluation:

* **Standalone Test Files** - New `*.agent.test.yml` / `*.aw.test.yml` format with semantic correctness checks
* **Project-Wide Discovery** - `oxy test` command with tag filtering, accuracy thresholds, and JSON output
* **Advanced Evaluation** - Cross-model judging support and deterministic tool-use verification

***

### Platform Improvements

#### Type Safety Enhancements

* **Typed Task Outputs** - Introduced `TaskOutput` enum (boolean, text, table, list, map, none) replacing generic JSON values
* **Typed Displays** - Refactored `AppResultDisplay` to strongly typed enum with dedicated structs for charts, tables, and markdown
* **Task Kind Identification** - New `TaskKind` enum for better downstream processing clarity

#### Database & Concurrency

* **PostgreSQL Advisory Locks** - Serialized concurrent run creation to prevent unique constraint violations
* **Improved Error Handling** - Transient error retry logic for concurrent run index conflicts
* **Better Caching** - SHA-256 hash-based result cache filenames for improved uniqueness

#### UI/UX Improvements

* **Error Alert Components** - Reusable `ErrorAlert` and `ErrorAlertMessage` for consistent error display
* **Sidebar Consistency** - Standardized submenu indentation and spacing across Apps, Threads, and Workflows
* **Recursion Fixes** - Prevented infinite loops in workflow run and log selectors using set-based tracking
* **Visual Polish** - Improved padding, alignment, and cursor feedback throughout the application

<img src="https://mintcdn.com/oxy-internal/tuVd3hdZBsq8mVY5/changelog/images/2026-03-12/sidebar-ui-improvements.png?fit=max&auto=format&n=tuVd3hdZBsq8mVY5&q=85&s=45dc38b1c0bcccf1a4b2796d59e00958" alt="" width="1888" height="1598" data-path="changelog/images/2026-03-12/sidebar-ui-improvements.png" />

#### File Scanning

* **Hidden Directory Skip** - File scanning now skips hidden directories (`.git`, `.checkpoint`, `.oxy_state`, `.db`) for better performance

#### Example Files

* **Business Metrics Dashboard** - New example showcasing monthly revenue and active user trends with controls
* **Looker Examples** - Workflow, agent, and agentic workflow examples for Looker integration
* **Loop Procedures** - Added `fruit_loop_report` and `fruit_summary` procedure examples

#### Dependencies Update

* **Latest Versions** - Updated Rust and all dependencies to latest versions for improved performance and security
* **Radix UI** - Added `radix-ui` dependencies for future UI enhancements
