From 7faf42f96b7797a8ea01c718468a0e1fd1a074e4 Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Tue, 23 Jun 2026 21:02:30 +0000 Subject: [PATCH] fix: force AI to output both min and max limits in the norm field for UI visibility --- services/aiService.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/services/aiService.ts b/services/aiService.ts index ae3230f..7472987 100644 --- a/services/aiService.ts +++ b/services/aiService.ts @@ -164,6 +164,7 @@ Sua tarefa principal é transcrever com precisão matemática e zero alucinaçã ### ANÁLISE DE CONFORMIDADE: - Compare os valores reais extraídos com os requisitos mínimos/máximos da norma técnica declarada no certificado. +- FORMATO DO CAMPO "NORM": Sempre que a norma (ou o Banco Local) estabelecer uma FAIXA (um mínimo e um máximo) para um elemento, você DEVE transcrever AMBOS os limites no campo "norm" do JSON (Exemplo: "Min: 0.005% - Max: 0.05%"). Nunca oculte o limite máximo ou mínimo se ambos existirem. - LAUDOS COM DUPLA ESPECIFICAÇÃO (MÚLTIPLAS NORMAS): Se o certificado citar mais de uma norma (ex: "ASTM A572 GR50 / NBR 7007 AR350"), você DEVE adotar sempre o critério MAIS RÍGIDO (o mais conservador e restritivo) entre as normas citadas para garantir que o material atenda a ambas. Exemplo: se a ASTM não possui limite para Carbono Equivalente (CEQ), mas a NBR exige Máx: 0.47%, você DEVE usar Máx: 0.47% como parâmetro de reprovação. - REGRA CRÍTICA DE STATUS GERAL: Se QUALQUER item (mecânico, químico ou outro) for avaliado como "REPROVADO", o status geral do laudo ("compliance.status") DEVE ser OBRIGATORIAMENTE "NÃO CONFORME". Só atribua "CONFORME" se ABSOLUTAMENTE TODOS os itens individuais forem "OK".`;