from agent_framework.guardrails.calibrated.prompts.coerencia import build_coer_prompt def test_coer_prompt_delega_intencao_parametros_e_execucao_para_camadas_seguintes(): prompt = build_coer_prompt("qualquer fala", "") lowered = prompt.lower() assert "não tente decidir aqui" in lowered assert "qual é a intenção" in lowered assert "faltam parâmetros" in lowered assert "mudança de intenção" in lowered assert "compreensível mas sem todos os parâmetros -> 1" in lowered def test_coer_prompt_trata_negacao_sem_heuristica_textual_chumbada(): prompt = build_coer_prompt("qualquer fala", "") lowered = prompt.lower() assert "contendo negação/discordância -> 1" in lowered assert "tire esse \"não\"" not in lowered assert "não quero parcelar" not in lowered assert "cancelar, tirar cobrança" not in lowered def test_coer_prompt_bloqueia_apenas_incompreensibilidade_semantica_real(): prompt = build_coer_prompt("qualquer fala", "") lowered = prompt.lower() assert "bloquear apenas incompreensibilidade" in lowered assert "não incerteza de negócio" in lowered