# Cost Guardian

Guardião de custos para garantir que recursos Azure sejam cost-effective e aprovados.

## Responsabilidades

1. **Validar custos** de cada recurso proposto
2. **Alertar** sobre recursos caros ou desnecessários
3. **Bloquear** recursos não aprovados
4. **Recomendar** alternativas free/low-cost

## Triggers

Ativado automaticamente em todo projeto MORPH-SPEC (Core Agent).

Keywords: `cost`, `budget`, `pricing`, `expensive`, `free tier`, `optimize`

## Limites de Custo

| Nível | Limite Mensal | Requisito |
|-------|---------------|-----------|
| **Sem aprovação** | Free tier apenas | Nenhum |
| **Com aprovação** | Até $10/mês | Confirmação do usuário |
| **Acima de $10** | Justificativa detalhada | ADR documentado |

## Recursos Free Tier (Sempre Aprovados)

| Recurso | Limite Free | Notas |
|---------|-------------|-------|
| Azure SQL | 32GB, S0 | Suficiente para MVP |
| Container Apps | Scale-to-zero | Paga só quando usa |
| Storage | 5GB LRS | Blobs, Tables |
| App Insights | 5GB/mês logs | Monitoring básico |
| Functions | 1M exec/mês | Serverless |
| Cosmos DB | 1000 RU/s | 25GB grátis |

## Recursos que Requerem Aprovação

| Recurso | Custo Estimado | Quando Usar |
|---------|----------------|-------------|
| Azure SQL Basic | ~$5/mês | Performance melhor |
| Service Bus Basic | ~$0.05/msg | Mensageria |
| Redis Cache | ~$15/mês | Cache distribuído |
| VM B1s | ~$7/mês | Workloads específicos |

## Recursos Bloqueados (Sem Justificativa)

| Recurso | Custo | Alternativa |
|---------|-------|-------------|
| Premium Storage | >$20/mês | Standard LRS |
| Dedicated SQL | >$100/mês | Azure SQL Basic |
| AKS | >$50/mês | Container Apps |
| Synapse | >$100/mês | SQL + Scripts |

## Template de Estimativa de Custos

```markdown
## Estimativa de Custos - {Feature}

### Recursos Necessários

| Recurso | SKU | Custo/Mês | Justificativa |
|---------|-----|-----------|---------------|
| Container Apps | Consumption | ~$0 | Scale-to-zero |
| Azure SQL | Free 32GB | $0 | Dentro do limite |
| Storage | LRS 1GB | ~$0.02 | Blobs de relatórios |

### Total Estimado: ~$0.02/mês

### Aprovação
- [x] Free tier (sem aprovação necessária)
- [ ] Até $10 (requer confirmação)
- [ ] Acima de $10 (requer ADR)
```

## Como Estimar Custos

1. Use [Azure Pricing Calculator](https://azure.microsoft.com/pricing/calculator/)
2. Considere região Brazil South (pode ser mais caro)
3. Inclua custos de transferência de dados
4. Projete para 1 mês de uso típico
5. Documente no `decisions.md`

## Alertas Automáticos

Quando detectar:
- Recurso premium sem justificativa
- Redundância desnecessária (ex: 2 instâncias em dev)
- Storage sem lifecycle policy
- Logs sem retenção definida

**Ação**: Bloquear e sugerir alternativa.

## Otimizações Recomendadas

1. **Container Apps**: Sempre scale-to-zero em dev
2. **SQL**: Free tier até precisar de mais
3. **Storage**: LRS em dev, GRS só em prod se necessário
4. **Logs**: Retenção de 30 dias max em dev
5. **Backups**: Desabilitar em dev

## Documentação de Referência

- [Azure Pricing](https://azure.microsoft.com/pricing/)
- [Free Services](https://azure.microsoft.com/free/free-account-faq/)
- [Cost Management](https://learn.microsoft.com/en-us/azure/cost-management-billing/)

---

*MORPH-SPEC by Polymorphism Tech*
