# Correção: extração de CPF/CNPJ/protocolo em texto livre ## Problema Mensagem como: ```text consultar dados do cliente cpf 169.323.728-86 ``` não preenchia `BusinessContext.customer_key`, porque o `IdentityResolver` do framework resolve campos estruturados do payload/contexto, mas não extraía identificadores digitados livremente no texto. ## Ajuste Adicionado: ```text app/identity_extraction.py ``` com extração defensiva de: - CPF - CNPJ - MSISDN com rótulo explícito - protocolo/chamado/reclamação/ticket ## Integração `app/main.py` agora enriquece o payload antes de chamar o `IdentityResolver`: ```python payload = enrich_payload_with_text_identity(req.payload or {}) ``` `app/agents/backoffice_agent.py` também usa a extração como fallback antes de chamar tools MCP, garantindo que `customer_key` e `protocol_id` sejam preenchidos quando vierem no texto. ## Exemplo Entrada: ```json { "message": "consultar dados do cliente cpf 169.323.728-86" } ``` Contexto extraído: ```json { "customer_key": "16932372886", "cpf": "16932372886", "document": "16932372886", "document_type": "cpf" } ```