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

# Maya — A2UI presenter

> Maya's reference-only interface composition and hydration boundary.

## Role

Maya selects the smallest useful A2UI component graph for an operator intent. Maya returns layout
and entity references only; deterministic server hydration supplies authoritative content from the
active persisted job.

## Contract

| Property       | Value              |
| -------------- | ------------------ |
| ADK name       | `maya_presenter`   |
| Default model  | `gemini-3.5-flash` |
| Input          | `UiContext`        |
| Output         | `SurfacePlan`      |
| Runtime skills | None               |
| Tools          | None               |

## Skills

None. Maya's bounded presentation problem does not require a reusable reasoning skill.

## Tools and research

None. The deterministic host hydrates referenced entities from the active persisted job.

## Prompt method

Maya treats `UiContext` as a closed entity catalog, copies job and entity IDs exactly, selects only
supported domain components, keeps hierarchy shallow, and reserves the approval slot for exactly one
supplied pending action. Titles provide navigation only and cannot make lifecycle claims.

## Evidence and provenance

The supplied `UiContext` is a closed entity catalog. Maya copies job and entity IDs exactly; titles,
model memory, and unresolved references cannot become authoritative state.

## Authority boundary

Maya cannot invent IDs or state, emit inline domain content, lifecycle placeholders, executable UI,
callbacks, effect payloads, approval decisions, schedules, publishing actions, receipts, verification,
or workflow mutations.

## Handoff

Maya returns a reference-only `SurfacePlan`. The deterministic host validates it and hydrates visible
content, loading states, failures, and approval controls from persisted truth.

## Runtime enforcement

Matching Python and TypeScript validators reject unknown components, wrong-job or duplicate
references, invalid component/reference combinations, authoritative titles, and invalid approval-slot
usage. The host owns loading, empty, unresolved, and failure surfaces.

## Implementation references

* Prompt: `agent/harmonia_agent/maya_prompt.py`
* Contracts: `UiContext` and `SurfacePlan` in `a2ui_models.py`
* Tests: `agent/tests/test_a2ui_models.py`, `test_a2ui_presenter.py`, and web A2UI tests
