Dogwood é baseada em lógica temporal e Lógica Temporal de Primeira Ordem com Métricas (MFOTL), um ramo da matemática formal que permite raciocinar sobre eventos e suas relações ao longo do tempo . A MFOTL estende a lógica temporal proposicional com quantificação de primeira ordem e restrições métricas (por exemplo, "nos últimos 5 minutos"), permitindo o monitoramento preciso em tempo real de sequências de eventos .
No Dogwood, a decisão de uma política depende do histórico das ações de um agente dentro de uma sessão, e não apenas da requisição atual . O mecanismo de políticas mantém um registro das chamadas de ferramentas anteriores e suas respostas, e então avalia a requisição atual contra esse histórico antes de permitir ou negar a chamada .
Dogwood estende a linguagem de políticas Cedar (linguagem de autorização existente da AWS desde 2023) adicionando um bloco temporal com condições cientes da sessão . Os principais operadores temporais incluem:
| Operador | Propósito |
|---|---|
formerly | Verifica se uma condição era verdadeira em algum ponto anterior da sessão |
count_within | Conta quantas vezes uma condição ocorreu dentro de uma janela de tempo especificada |
count_distinct_within | Conta valores distintos de um campo que apareceram dentro de uma janela de tempo |
sum_within | Soma um campo numérico sobre eventos dentro de uma janela de tempo |
since | Verifica uma condição relativa à última ocorrência de um evento |
once | Verifica se uma condição já ocorreu alguma vez |
Esses operadores permitem que uma política defina regras como "proibir uma ação de pagamento a menos que uma ação de nota fiscal tenha acontecido anteriormente", ou "proibir se sum_within(amount, 1h) exceder um limite" . Uma política temporal é escrita como uma regra permit ou forbid padrão do Cedar, mas com condições colocadas dentro de um bloco temporal { ... } .
As políticas temporais são impostas na camada do Gateway do AgentCore, fora do código do próprio agente . O gateway intercepta cada chamada de ferramenta em tempo real antes que ela atinja a ferramenta de destino, avalia a política contra o histórico completo de eventos da sessão e, em seguida, permite ou nega a chamada .
Como a decisão de autorização acontece no perímetro — em uma infraestrutura que o agente não pode modificar — ela não pode ser contornada por manipulação de prompt, jailbreaking ou qualquer código que o agente controle . A AWS afirma explicitamente que as políticas são executadas no "perímetro do Gateway do AgentCore, fora do código do próprio agente", tornando-as resistentes à reescrita de suas próprias instruções pelo agente . O mecanismo de política suporta dois modos: LOG_ONLY (auditoria sem bloqueio) e ENFORCE (negar ativamente) .
Dogwood foi integrada ao Amazon Bedrock AgentCore como políticas temporais, anunciadas juntamente com a limitação de taxa no gateway em 6 de agosto de 2026 .
Recursos atualmente disponíveis no Bedrock AgentCore:
sum_within .A linguagem Dogwood e sua implementação de referência estão disponíveis no GitHub sob a licença Apache 2.0, separadas do serviço gerenciado Bedrock AgentCore .