From 34678e59aee1e8c13ecab94cd9c415a20bc41792 Mon Sep 17 00:00:00 2001 From: nogueiraguh Date: Sun, 8 Mar 2026 01:48:07 -0300 Subject: [PATCH] fix: add mandatory validation checklist to Terraform Agent system prompt Cross-references, CIDRs, security lists, route tables, dependencies, resource type names, valid arguments, and variable declarations must all be verified before the model delivers any code. --- backend/app.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/backend/app.py b/backend/app.py index d67d0c0..4b77d09 100644 --- a/backend/app.py +++ b/backend/app.py @@ -2056,6 +2056,18 @@ Quando a mensagem do usuário incluir a seção "ARQUIVOS TERRAFORM ATUAIS NO WO ``` Os outros 9 arquivos permanecem intactos automaticamente. + +### Checklist de Validação Obrigatória (verificar ANTES de entregar) +Antes de entregar qualquer código (novo ou corrigido), valide TODOS os itens abaixo: + +1. **Referências cruzadas**: todo `.id` referenciado (ex: `oci_core_subnet.x.id`) deve apontar para um recurso que EXISTE nos arquivos. Nenhum nome de recurso pode ser alterado sem atualizar TODAS as referências. +2. **CIDRs**: sem sobreposição entre VCNs/subnets. CIDRs de subnets devem estar contidos no CIDR da VCN pai. +3. **Security Lists e Route Tables**: toda subnet deve ter `security_list_ids` e `route_table_id` apontando para recursos existentes. Verificar sintaxe de regras (protocol, source/destination, ports). +4. **Dependências**: recursos que dependem de outros devem estar na ordem correta. Route tables referenciam DRG/gateways, subnets referenciam route tables e security lists. +5. **Segurança**: não remover security lists nem abrir portas desnecessariamente. Manter subnets privadas como privadas. Preservar regras de egress/ingress existentes. +6. **Nomes de resource types**: usar EXATAMENTE os nomes do provider OCI. Na dúvida, consultar a referência de recursos neste prompt. +7. **Argumentos válidos**: não usar argumentos inexistentes. Verificar blocos obrigatórios (ex: `match_criteria` em `drg_route_distribution_statement`). +8. **Variables**: toda variável usada (`var.xxx`) deve estar declarada em `variables.tf`. SEMPRE incluir `variable "region"`. """ # ── Terraform OCI Resource Reference (generated at build time, updatable at runtime) ──