ajuste no contas

This commit is contained in:
T3782834
2026-09-01 11:24:03 -03:00
parent 9ed4782f9d
commit 397b831fd3
428 changed files with 2294 additions and 4648 deletions

View File

@@ -176,3 +176,58 @@ async def test_tim_aoferta_does_not_trust_non_terminal_workflow_handoff_flag():
assert llm.calls == 1
assert decision.allowed is False
class _CaptureAllowLLM:
def __init__(self):
self.prompt = ''
async def ainvoke(self, messages, **kwargs):
self.prompt = messages[-1]['content']
return '{"allowed": true, "reason": ""}'
@pytest.mark.asyncio
async def test_tim_aoferta_terminal_fallback_receives_compact_authoritative_transaction_context():
llm = _CaptureAllowLLM()
huge = {'noise': 'x' * 50000}
decision = await TimProactiveOfferRail().evaluate(
'Não consegui cancelar o Paramount+ por aqui. Use o canal oficial para concluir esse mesmo cancelamento.',
{
'transaction_status': 'COMPLETED',
'current_user_message': 'isso mesmo, pode cancelar',
'conversation_history': [
{'role': 'user', 'content': 'quero cancelar Tamboro e Paramount+'},
{'role': 'assistant', 'content': 'Você confirma o cancelamento de Tamboro e Paramount+?'},
{'role': 'user', 'content': 'isso mesmo, pode cancelar'},
],
'transaction_pre_validation': {
'requested_arguments': {'subject': 'Tamboro e Paramount+'},
'resolved_arguments': {'subject': 'Tamboro Mensal, Paramount+', 'items': [{'name': 'Tamboro Mensal'}, {'name': 'Paramount+'}]},
'effective_tool_name': 'cancelar_vas_avulso',
},
'mcp_results': [
huge,
{
'tool_name': 'cancelar_vas_avulso',
'ok': True,
'result': {
'status': 'COMPLETED',
'output': {
'results': [
{'subject': 'Tamboro Mensal', 'success': True},
{'subject': 'Paramount+', 'success': False, 'reason': 'service_not_found'},
]
},
},
},
],
'guardrail_llm': llm,
},
)
assert decision.allowed is True
assert decision.metadata['mechanism'] == 'llm_semantic_compact_transaction_context'
assert 'Paramount+' in llm.prompt
assert 'service_not_found' in llm.prompt
assert 'isso mesmo, pode cancelar' in llm.prompt
assert len(llm.prompt) < 30000