fix: enforce min/max range separation in norm builder and enforce non-compliant overall status in analyzer
This commit is contained in:
@@ -162,7 +162,8 @@ Sua tarefa principal é transcrever com precisão matemática e zero alucinaçã
|
|||||||
5. **Orientação:** Rotacione mentalmente a imagem para ler corretamente.
|
5. **Orientação:** Rotacione mentalmente a imagem para ler corretamente.
|
||||||
|
|
||||||
### ANÁLISE DE CONFORMIDADE:
|
### ANÁLISE DE CONFORMIDADE:
|
||||||
- Compare os valores reais extraídos com os requisitos mínimos/máximos da norma técnica declarada no certificado.`;
|
- Compare os valores reais extraídos com os requisitos mínimos/máximos da norma técnica declarada no certificado.
|
||||||
|
- 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".`;
|
||||||
|
|
||||||
if (standardsContext && standardsContext.length > 0) {
|
if (standardsContext && standardsContext.length > 0) {
|
||||||
prompt += `\n\n=== BANCO DE NORMAS LOCAL (USO OBRIGATÓRIO) ===\n`;
|
prompt += `\n\n=== BANCO DE NORMAS LOCAL (USO OBRIGATÓRIO) ===\n`;
|
||||||
@@ -529,7 +530,7 @@ RESPONDA APENAS UM JSON VÁLIDO no seguinte formato EXATO:
|
|||||||
Regras Cruciais:
|
Regras Cruciais:
|
||||||
1. USE APENAS NÚMEROS (floats/ints) nos valores. NUNCA use strings como "0.25" ou "250". Use 0.25 e 250.
|
1. USE APENAS NÚMEROS (floats/ints) nos valores. NUNCA use strings como "0.25" ou "250". Use 0.25 e 250.
|
||||||
2. Se a norma não especifica um limite máximo ou mínimo para um elemento, coloque null (sem aspas).
|
2. Se a norma não especifica um limite máximo ou mínimo para um elemento, coloque null (sem aspas).
|
||||||
3. O nome da chave dentro de mecânicos/químicos/físicos deve ser em minúsculo, sem acentos, com underscores, e deve conter a unidade ou a palavra min/max (ex: "limite_escoamento_min_mpa", "carbono_max_percentual", "espessura_min_microns").
|
3. O nome da chave dentro de mecânicos/químicos/físicos deve ser em minúsculo, sem acentos, com underscores, e DEVE conter a palavra "_min_" ou "_max_" (ex: "limite_escoamento_min_mpa", "carbono_max_percentual"). Se a norma define uma FAIXA (um mínimo e um máximo) para o mesmo elemento, você DEVE criar DUAS chaves separadas (ex: "columbio_min_percentual" e "columbio_max_percentual"). NUNCA combine min e max na mesma chave.
|
||||||
4. Crie APENAS os grupos (mecanicos, quimicos, fisicos) que fazem sentido para a norma solicitada.
|
4. Crie APENAS os grupos (mecanicos, quimicos, fisicos) que fazem sentido para a norma solicitada.
|
||||||
5. DEVOLVA APENAS O JSON, sem nenhuma formatação ou texto explicativo ao redor.`;
|
5. DEVOLVA APENAS O JSON, sem nenhuma formatação ou texto explicativo ao redor.`;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user