65 lines
2.8 KiB
Markdown
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.
|