AWS liberó el código de Dogwood esta semana: un lenguaje de política que extiende Cedar para gobernar secuencias de llamadas de herramientas de agente, no solo solicitudes individuales. El intérprete de referencia está activo bajo Apache 2.0, y AgentCore Policy —la capa de control entre modelo y llamada de herramienta MCP— lo admite hoy. Cedar autoriza una solicitud a la vez sin memoria de acciones anteriores. Los agentes operan en secuencias.

El diseño sin estado de Cedar es intencional. La misma solicitud produce la misma respuesta independientemente del estado anterior, haciendo que el razonamiento automatizado y la auditoría sean manejables. Pero Cedar puede aislar una sola acción; no puede describir una secuencia. Las restricciones que los equipos desean viven en secuencias: obtener aprobación antes de actuar, mantenerse por debajo de un total acumulado, dejar de contactar partes externas después de tocar datos confidenciales. Estas reglas son inaplicables en la capa de política hoy.

Dogwood añade una cláusula `when temporal` al `when` de Cedar. Una condición temporal lee el histórico de eventos del agente —solicitudes de llamada de herramienta, resultados, argumentos de entrada, principal solicitante. El esquema de acción coincide con el manifiesto de herramienta MCP del agente, una acción por herramienta. El intérprete traduce la condición temporal en un campo de contexto Cedar rellenado desde el registro de eventos. Cuatro operadores cubren la superficie práctica: `formerly` (¿sucedió algo en una ventana?), `count_within` (¿cuántas veces?), `count_distinct_within` (¿cuántos valores distintos?) y `sum_within` (total acumulado). Un operador `bind` asigna un agregado a un nombre para comparación con la solicitud actual.

El detalle más instructivo es una trampa de concurrencia. Un límite de velocidad expresado como suma sobre eventos de respuesta falla contra llamadas de herramientas paralelas: tres transferencias de $2.000 llegan antes de que alguna se liquide, la política que suma respuestas no ve nada en vuelo, y las tres superan un límite de $5.000. Sumar eventos de solicitud en su lugar niega el tercero. Una palabra separa el funcionamiento de lo roto. En configuraciones multiagente donde las llamadas se intercalan, la exposición se multiplica.

Las condiciones temporales conllevan dos costos explícitos. El tiempo de evaluación escala con la longitud del registro de eventos, no solo la solicitud actual. Más significativamente, las condiciones temporales renuncian al razonamiento automatizado de Cedar —una política que usa `when temporal` no puede ser formalmente analizada para completitud o contradicción. AWS construyó un lenguaje separado en lugar de extender Cedar porque las dos propiedades están en tensión. Las políticas Cedar existentes siguen siendo políticas Dogwood válidas sin migración requerida. La semántica de negar por defecto y prohibir-se-impone-sobre-permitir permanecen sin cambios.

Los requisitos de producción que AWS enumera equivalen a construir un registro de eventos confiable. Los timestamps deben verificarse, los eventos autenticados, los nombres de campos y acciones deben ser consistentes en el rastreo, los históricos de inquilino aislados, las decisiones registradas con contexto completo. Los históricos de llamadas de herramientas contienen datos sensibles; la retención importa. El intérprete de referencia no es para producción — AWS lo presenta como exploración y prueba mientras el lenguaje se estabiliza.

El lanzamiento se alinea con la especificación MCP 2026-07-28, que añadió encabezados obligatorios de método y nombre de herramienta para hacer el tráfico de agente legible para la infraestructura HTTP. Los dos resuelven mitades adyacentes del mismo problema: los encabezados MCP permiten que una puerta de enlace vea qué herramienta llama un agente; Dogwood expresa lo que una secuencia de llamadas puede totalizar. Ambos son requisitos previos para ejecutar agentes de herramientas nombradas dentro de un límite de cumplimiento.

La conclusión del arquitecto: la aplicación de política con estado en la capa de puerta de enlace ahora está disponible sin trabajo personalizado, pero la carga de corrección se desplaza del motor de política al registro de eventos. Ese registro es tu problema a construir.