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.
This commit is contained in:
nogueiraguh
2026-03-08 01:48:07 -03:00
parent fe4eb95c46
commit 34678e59ae

View File

@@ -2056,6 +2056,18 @@ Quando a mensagem do usuário incluir a seção "ARQUIVOS TERRAFORM ATUAIS NO WO
<conteúdo completo corrigido de networking.tf>
```
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) ──