<?xml version="1.0" encoding="UTF-8"?><oembed><type>video</type><version>1.0</version><html>&lt;iframe src=&quot;https://www.loom.com/embed/f81fc1f273c24ccaaf26f62766cb6b9e&quot; frameborder=&quot;0&quot; width=&quot;1920&quot; height=&quot;1440&quot; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;</html><height>1440</height><width>1920</width><provider_name>Loom</provider_name><provider_url>https://www.loom.com</provider_url><thumbnail_height>1440</thumbnail_height><thumbnail_width>1920</thumbnail_width><thumbnail_url>https://cdn.loom.com/sessions/thumbnails/f81fc1f273c24ccaaf26f62766cb6b9e-6e3bf28ea7212944.gif</thumbnail_url><duration>577.4</duration><title>Voice Refund Agent Demo, Policy Bound</title><description>This Loom demonstrates a policy-driven refund agent with live voice integration. The presenter shows a happy path refund approval for order ORD 1001 and an edge case denial for KC’s order 1003 due to final sale under policy R2, plus a decline when the order does not belong to the requesting customer under R6 and a refusal to handle non-refund requests. The system runs the same six tool calls and deterministic policy engine for both text chat and voice using OpenAI’s real-time API over WebRTC, with tool calls executed server-side via a single executor. It includes failure handling with retries, a simulated 503 flow, and escalation to a human per policy R4, and notes adversarial sweep loops with 44 findings logged in sweeps.md.</description></oembed>