🔧 Tarefa 1: trocar o modelo de um serviço local
Antes de qualquer tarefa que edita código: árvore limpa no git. Isso transforma rollback em git checkout .. Depois, o contrato. O agente localiza a configuração (sem você apontar), edita, reinicia o serviço e prova com um grep e a página aberta.
Copie e rode
Preparar o terreno: garantir árvore limpa e um ponto de retorno
cd <PASTA_DO_PROJETO>
git status --short # deve vir vazio
git add -A && git commit -m "ponto de retorno antes do Astra" 2>/dev/null || true
git log --oneline -1
Copie e rode
Contrato da tarefa 1, no app ou no CLI
Resultado: o serviço em http://localhost:<PORTA> passa a usar o modelo "gpt-6-astra" no provedor Codex. Serviço reiniciado e respondendo.
Onde: esta pasta.
Prova: (1) saída de `git diff --stat`, (2) saída de `grep -rn "gpt-6-astra" --include=*.{toml,json,yaml,yml,env,ts,js,py} .`, (3) screenshot da página com o modelo selecionado.
Não faça: não altere outros provedores, não instale nada, não faça commit.
💡 Diff pequeno é o sinal de saúde
Trocar um modelo é uma linha. Se o diff --stat mostra cinco arquivos, o agente "aproveitou" para arrumar outras coisas. Peça rollback dos extras e ajuste o "Não faça".
🎨 Tarefa 2: refatorar a UI sem mudar comportamento
Abra um fork da sessão principal (a original continua estável). No contrato, feche o escopo: só CSS e marcação, nenhuma rota, nenhum dado, nenhuma dependência. Dê critérios: contraste, espaçamento, hierarquia. Peça o antes/depois capturado pelo próprio agente.
Copie e rode
Contrato da refatoração visual (rodar num fork da sessão)
Resultado: a tela principal com visual mais limpo e moderno. Critérios de aceite:
- texto principal com contraste mínimo 4.5:1 sobre o fundo;
- espaçamento consistente (escala de 4/8/16/24 px);
- hierarquia clara: título > seções > itens;
- nenhuma rota, dado, chamada de API ou dependência alterada.
Onde: esta pasta; só arquivos de estilo e marcação da tela principal.
Prova: `git diff --stat`, screenshot antes (./ui-antes.png) e depois (./ui-depois.png) da mesma tela na mesma largura.
Não faça: não toque em lógica, não instale pacotes, não faça commit.
✓ Critério de aceite verificável
- ✓Contraste numérico
- ✓Lista do que não pode mudar
- ✓Screenshot na mesma largura
- ✓Nenhum arquivo fora de uma lista
✗ Critério que não verifica
- ✗"mais bonito"
- ✗"mais profissional"
- ✗"como um app moderno"
- ✗"você decide"
⏪ Tarefa 3: rollback quando ficou pior
Copie e rode
Rollback total ou seletivo do que o agente mudou (sem commit feito)
# ver o que mudou
git status --short && git diff --stat
# voltar TUDO ao último commit
git checkout -- . && git clean -fd
# OU guardar a tentativa para comparar depois e voltar
git stash push -m "ui rodada 1"
# ...depois, se quiser rever: git stash list / git stash apply
Copie e rode
Rodada 2: pedir a nova versão dizendo o que reprovou na primeira
Voltei ao estado anterior (git checkout). A rodada anterior ficou pior: mais escura e com menos informação visível. Refaça com estes critérios adicionais:
- manter TODA a informação que existia (nenhum item some);
- agrupar os itens por <CRITÉRIO, ex.: data>;
- mostrar as ligações entre <ELEMENTOS> de forma visível;
- fundo não mais escuro que o atual.
Mesmas provas: git diff --stat + ui-antes.png + ui-depois.png.
Ciclo de iteração
Rodada N
Contrato com critérios. Prova.
Reprovar com motivo
Uma frase sobre o que ficou pior. Isso vira critério da próxima.
Rollback
git checkout ou stash. Estado limpo.
Rodada N+1
Mesmo contrato + critérios novos. Quando aprovar: commit com mensagem que diz o que foi aceito.
🧭 Trabalhar com projetos que você não conhece
Copie e rode
Reconhecimento de um repositório desconhecido, sem mudanças
Leia este repositório. Não altere nada. Responda:
1. Stack e como sobe (comando exato).
2. Onde está a configuração de modelos de IA (arquivo:linha). Se houver mais de um lugar, liste todos e diga qual é o efetivo em runtime.
3. Existe teste? Comando.
4. Os 5 arquivos mais arriscados de tocar e por quê.
Formato: lista curta, caminhos relativos.
Copie e rode
Limitar o raio de ação a uma lista de arquivos
Você só pode editar estes arquivos: <A>, <B>, <C>. Qualquer outra mudança necessária: pare e me pergunte antes.
Tarefa: <CONTRATO>.
💡 Dois lugares de config
Projetos crescidos têm a mesma configuração em dois lugares (arquivo e variável de ambiente, ou dois arquivos). Pergunte qual vale em runtime antes de editar; o agente costuma saber, mas só se você perguntar.
🤖 Astra dentro do seu agente local
Se você roda um agente próprio ou um painel de agentes local, ele provavelmente tem perfis de modelo. Um perfil apontando para o provedor Codex usa o login da sua assinatura. A troca é exatamente a tarefa 1 deste módulo, com um perfil novo em vez de uma edição: o agente do Codex cria o perfil, reinicia e prova.
Copie e rode
Delegar a criação de um perfil de modelo no seu agente local
Resultado: no <NOME_DO_SEU_AGENTE_OU_PAINEL> rodando em http://localhost:<PORTA>, existe um perfil novo chamado "astra" que usa o modelo gpt-6-astra via provedor Codex (login da assinatura, sem chave de API). O perfil aparece no seletor e responde.
Onde: esta pasta.
Prova: `git diff --stat`, o trecho de config do perfil novo, e a resposta do perfil a "qual modelo você é?".
Não faça: não remova perfis existentes, não altere o perfil padrão, não faça commit.
✓ Diff saudável nessa troca
- ✓Um bloco de perfil novo num arquivo de configuração
- ✓Referência ao provedor Codex, sem credencial
- ✓Perfis existentes intactos
- ✓Nenhuma dependência adicionada
✗ Reprove na hora
- ✗Qualquer string sk-, token ou secret escrita em arquivo
- ✗Perfil padrão alterado sem você pedir
- ✗Perfis antigos removidos "para limpar"
- ✗Novo pacote instalado para "suportar o provedor"
⚠️ Chave de API em texto no diff
Se o diff mostra uma chave (sk-..., token, secret) escrita num arquivo, reprove na hora. Perfis via Codex não precisam de chave; se apareceu uma, o agente inventou um caminho. Rollback e "sem chave de API" em maiúsculas no contrato.
📋 Prática: as três tarefas em sequência
Roteiro (40 min)
Git limpo
status vazio, commit de ponto de retorno.
Tarefa 1
Trocar modelo. Prova: diff --stat, grep, página.
Commit 1
"troca modelo para gpt-6-astra (verificado: página + grep)".
Fork + tarefa 2
Refatoração visual com critérios. Antes/depois.
Reprovar ou aceitar
Reprovou: rollback + rodada 2 com o motivo como critério. Aceitou: commit 2.
Tarefa 3 (opcional)
Perfil "astra" no seu agente local. Commit 3.
Copie e rode
Commit final que registra o que foi verificado (você commita, não o agente)
git add -A
git commit -m "UI: rodada 2 aceita (contraste ok, nada sumiu, diff só em estilos)"
git log --oneline -3
🧪 Teste rápido do módulo
Três perguntas. Clique numa opção para ver a resposta.
1. Trocar um modelo produziu um diff em cinco arquivos. O que isso indica?
2. Qual critério de aceite é verificável?
3. A rodada de redesign ficou pior. Primeiro passo: