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
Skills
None. Maya’s bounded presentation problem does not require a reusable reasoning skill.
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
Last modified on August 28, 2026