atualização de agent

This commit is contained in:
Luiz Silva 2026-09-05 08:56:56 -03:00
parent f8d8627be2
commit d0e6567652
16 changed files with 260 additions and 100 deletions

View file

@ -27,6 +27,7 @@ O agente pode executar sem perguntar:
- 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
@ -44,6 +45,7 @@ O agente deve **propor e aguardar aprovação**:
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

View file

@ -1,34 +1,38 @@
---
type: rule
name: proibido-commit-ia
description: A IA nunca pode executar git commit, git push ou qualquer operação que altere o histórico do repositório
description: A IA nunca mexe no git da aplicação principal; commit e push são permitidos e obrigatórios exclusivamente no repositório da Wiki (../wiki)
scope: global
trigger: always_on
updatedAt: "2026-06-19"
updatedAt: "2026-09-05"
---
# Regra: Proibido Commit pela IA
# Regra: Proibido Commit pela IA na Aplicação e Exceção Obrigatória da Wiki
## Contexto
O controle de versão é responsabilidade exclusiva do usuário humano. A IA pode preparar alterações, criar arquivos, editar código e até sugerir mensagens de commit — mas NUNCA deve executar comandos que alterem o histórico do repositório.
O controle de versão do código-fonte da aplicação principal é de responsabilidade exclusiva do usuário humano. A IA pode preparar alterações, criar arquivos, editar código e até sugerir mensagens de commit — mas NUNCA deve executar comandos que alterem o histórico do repositório da aplicação.
Por outro lado, o repositório central de documentação (`<base_projeto>/../wiki`), que hospeda a Wiki do Usuário (Pilar 3) e a Wiki de Desenvolvimento (Pilar 4), é uma base viva de documentação. Quando atualizado pelo agente (ex.: via `/doc`, `/documentacao` ou workflows DDD), o commit e o push DEVEM ser executados automaticamente pelo agente, restritos exclusivamente a esse repositório.
## Regra
A IA **NUNCA** deve executar os seguintes comandos (nem variações deles):
### 1. Na Aplicação Principal (`<base_projeto>`) — RIGOROSAMENTE PROIBIDO MEXER NO GIT
- `git commit`
- `git push`
- `git merge`
- `git rebase`
- `git tag`
- `git reset`
- `git revert`
- `git cherry-pick`
- `git stash drop`
- `git branch -d` / `git branch -D`
A IA **NUNCA** deve executar comandos que alterem o histórico do repositório da aplicação (nem variações deles):
### Comandos permitidos (somente leitura e staging)
- `git commit` ❌
- `git push` ❌
- `git merge` ❌
- `git rebase` ❌
- `git tag` ❌
- `git reset` ❌
- `git revert` ❌
- `git cherry-pick` ❌
- `git stash drop` ❌
- `git branch -d` / `git branch -D` ❌
**Comandos permitidos na aplicação (somente leitura e staging):**
- `git status` ✅
- `git diff` ✅
@ -39,37 +43,52 @@ A IA **NUNCA** deve executar os seguintes comandos (nem variações deles):
- `git ls-files` ✅
- `git show` ✅
## Exemplos
### 2. No Repositório da Wiki (`<base_projeto>/../wiki`) — COMMIT E PUSH OBRIGATÓRIOS
❌ **Errado** — commitar automaticamente:
```sh
git add -A && git commit -m "fix: corrigir bug"
Sempre que a documentação em `<base_projeto>/../wiki` for criada ou modificada (manuais de usuário em `<modulo-id>/`, regras de negócio em `dev/<modulo-id>/`, ADRs em `dev/<modulo-id>/adrs/`, etc.), o agente **DEVE obrigatoriamente** realizar o commit e push das alterações:
```bash
# Executar estritamente apontando para a pasta ../wiki
git -C <base_projeto>/../wiki add -A
git -C <base_projeto>/../wiki commit -m "docs(<modulo-id>): <descrição sucinta das alterações>"
git -C <base_projeto>/../wiki push
```
❌ **Errado** — push automático:
**Fronteira Inegociável:** Esta permissão é restrita e isolada ao repositório `<base_projeto>/../wiki`. A IA **nunca** deve executar commit ou push na aplicação principal.
## Exemplos
### ❌ Errado — commitar automaticamente na aplicação
```sh
# Na raiz da aplicação (<base_projeto>): PROIBIDO
git add -A && git commit -m "fix: corrigir bug"
git push origin main
```
✅ **Correto** — preparar e informar:
### ✅ Correto — na aplicação principal, apenas preparar e sugerir
```sh
git add -A
git status
# Informar ao usuário: "Alterações staged. Revise e faça o commit quando estiver pronto."
# Informar ao usuário: "Alterações staged na aplicação. Revise e faça o commit quando estiver pronto."
# Sugestão de commit: git commit -m "feat: adicionar validação de schema"
```
✅ **Correto** — sugerir mensagem de commit:
```
Sugestão de commit:
git commit -m "feat: adicionar validação de schema no endpoint /usuarios"
### ✅ Correto — na Wiki, commitar e enviar automaticamente
```sh
# No repositório de documentação (<base_projeto>/../wiki): OBRIGATÓRIO
git -C ../wiki add -A
git -C ../wiki commit -m "docs(e-licencie): atualizar regras de negócio e manuais"
git -C ../wiki push
```
## Impacto
- **Segurança:** o usuário mantém controle total sobre o que entra no histórico
- **Revisão:** toda alteração pode ser inspecionada antes de ser commitada
- **Reversibilidade:** evita commits acidentais que poluem o histórico
- **Segurança na aplicação:** O desenvolvedor mantém controle total sobre o histórico de código da aplicação.
- **Agilidade e perenidade na wiki:** A documentação fica sempre sincronizada e publicada imediatamente sem fricção manual.
- **Isolamento de escopo:** Fronteira clara e explícita entre repositório de aplicação e repositório de documentação.
## Referências
- Princípio de autonomia controlada: a IA executa, o humano decide
- Rule: `rules/ddd-documentacao-primeiro.md`
- Skill: `skills/documentacao/SKILL.md`
- Workflow: `global/workflows/documentacao.md`