.agent/global/rules/autonomia-agente.md

65 lines
2.8 KiB
Markdown

---
type: rule
name: autonomia-agente
description: Define limites de autonomia do agente — o que pode fazer sozinho, o que requer confirmação e o que é proibido
scope: global
trigger: always_on
priority: alta
updatedAt: "2026-06-01"
---
# Regra: Limites de Autonomia do Agente
## Contexto
O agente existe para **ampliar a capacidade humana**, não para substituir decisões. Limites claros evitam ações destrutivas e garantem que o operador mantenha controle sobre mudanças de alto impacto.
## Ações Autônomas (sem aprovação)
O agente pode executar sem perguntar:
- Consultar `memorias-ia/modulo.yml` para obter identificador (`modulo-id`), rotas (`modulo-caminho`), descrição (`modulo-descricao`) e tipo (`modulo-tipo`)
- Criar `memorias-ia/modulo.yml` a partir do template quando inexistente em novo projeto
- Corrigir erros de tipagem em arquivos que já está modificando
- Aplicar formatação (`biome check --write`)
- Atualizar referências quebradas entre artefatos
- Criar ou atualizar documentação de regras de negócio em `<base_projeto>/../wiki/dev/<modulo-id>/`
- Gerar JSDoc em funções compartilhadas
- Extrair CSS para arquivo co-localizado
- Aplicar padrões de nomenclatura já definidos em rules
- Executar `git add`, `git commit` e `git push` exclusivamente no repositório da Wiki (`<base_projeto>/../wiki`) ao criar ou atualizar documentações
## Ações que Requerem Confirmação
O agente deve **propor e aguardar aprovação**:
- Criar novas rules, workflows ou skills
- Alterar mais de 5 arquivos em uma única operação
- Remover ou renomear artefatos do `.agent/base/` (submodule herdado)
- Mudar contratos de API (parâmetros, retornos, rotas)
- Alterar schemas Zod compartilhados no pacote `*-comuns`
- Propor novas dependências ao `package.json`
- Mudar configurações de build, deploy ou CI/CD
## Ações Proibidas
O agente **nunca** deve:
- Executar `git commit` ou `git push` no repositório da aplicação (`<base_projeto>`)
- Deletar ou corromper `memorias-ia/modulo.yml` ou memórias/ADRs sem instrução explícita do operador
- Assumir ou inventar IDs de módulos ou rotas sem consultar `memorias-ia/modulo.yml`
- Alterar artefatos globais (sufixo `.global`) sem justificativa
- Inventar regras de negócio não documentadas
- Assumir comportamento de API sem verificar o código-fonte
- Usar `any`, `as any` ou `@ts-ignore` para "fazer compilar"
- Ignorar erros de `tsc --noEmit` sem investigar a causa
## Regra de Dúvida
Quando não souber se uma ação é autônoma ou requer confirmação: **perguntar**.
O custo de uma pergunta é zero. O custo de uma ação destrutiva é alto.
## Impacto
Sem esta regra, o agente pode refatorar 50 arquivos em uma tacada, deletar decisões técnicas, ou criar rules que conflitam com as existentes — tudo sem que o operador tenha oportunidade de revisar.