You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`commit` + `push` na branch da tarefa | Ações destrutivas/irreversíveis (drop de schema, `reset --hard` em remoto, mudar visibilidade do repo) | Transações financeiras |
106
+
| Abrir PR (`gh pr create`) | Adicionar **nova dependência** (vai no CPM) | Resolver CAPTCHA, mudar settings de segurança |
107
+
| Acompanhar CI, ler/responder comentários do PR | Qualquer coisa "para fora" além do PR | — |
> O **merge é sempre seu** — eu nunca mergeio. O app do Claude Code ainda pode te mostrar um prompt do harness para autorizar alguns comandos (push, etc.); isso é a UI de permissões, separada deste acordo de fluxo.
111
+
112
+
Detalhe dos itens autônomos:
113
+
114
+
-**Leitura irrestrita.** Qualquer comando de leitura/inspeção em qualquer parte do sistema: ler/listar/buscar arquivos, `git` de leitura (`status`, `log`, `diff`, `show`, `branch`, `ls-files`, …), inspecionar build/testes, etc.
115
+
-**Inspecionar arquivos, rodar quaisquer testes e analisar os resultados.**
116
+
-**Executar e acompanhar os checks/CI.** Disparar/aguardar o CI, ler os resultados (`gh run`, `gh pr checks`) e diagnosticar falhas.
117
+
-**Ler e responder comentários do PR no GitHub** (`gh pr view`/`comment`, review comments).
-**Esperar o CI, corrigir o que for necessário, commitar e fazer push de novo** — iterar até o PR ficar verde.
121
+
122
+
### Ciclo de cada task (executar autonomamente, sem pedir confirmação)
123
+
124
+
Para cada item do `plan.md` (ou tarefa equivalente), seguir este ciclo de ponta a ponta:
125
+
126
+
1.**Criar a branch** a partir do `master` atualizado (`git branch --show-current` p/ confirmar que não está no master antes de codar/commitar).
127
+
2.**Escrever todo o código necessário** (e os testes).
128
+
3.**Clean build / rebuild quando necessário** — na dúvida sobre cache, apagar `obj/bin` ou usar `--no-incremental`.
129
+
4.**Criar e executar todos os testes**; ler a linha real `Passed!/Failed!` e `Build succeeded/FAILED`.
130
+
5.**Se tudo estiver verde** (0 falhas, build ok): **commit, push e abrir o PR**.
131
+
6.**Após abrir o PR, acompanhar os check-runs até concluírem** (`check runs until done`) — confirmando que o `headRefOid` do PR == último commit.
132
+
7.**Se precisar refazer algum passo** (CI vermelho, conflito, etc.): corrigir, commitar e push de novo, e repetir 3–6 até o PR ficar verde. Tudo isso é permitido sem nova confirmação.
133
+
134
+
Só **parar e pedir confirmação** no final (merge) e nas exceções abaixo.
135
+
136
+
Ainda exigem confirmação explícita: **merge de PR**, deletar branch remota de terceiros, force-push, e ações destrutivas/irreversíveis (`reset --hard` em remoto, mudar visibilidade do repo, dropar schema, etc.).
137
+
138
+
## Lições operacionais (erros já cometidos — não repetir)
139
+
140
+
1.**Confirme a branch ANTES de commitar.** Sempre `git branch --show-current` antes de `git add`/`commit`. Já commitei direto no `master` por engano (só não quebrou porque sou admin). Todo trabalho em branch própria.
141
+
2.**NUNCA commite/pushe com build ou teste vermelho.** Antes de `git commit`, leia a linha real `Build succeeded`/`Passed!`/`Failed!` do escopo alterado. Se houver `Failed: N>0` ou `Build FAILED`, não commite. Já afirmei "verde" sem verificar e mergeei PR vermelho — inaceitável.
142
+
3.**Build local incremental MENTE.**`obj/bin` em cache já mascarou erro real de compilação (CS0246) que só apareceu no CI. Na dúvida, `--no-incremental` ou apague `obj/bin` e rebuilde do zero antes de confiar no verde.
143
+
4.**Edit que falha com "file modified since read" NÃO foi aplicado.** Re-leia e refaça; nunca assuma que entrou. Docs (ADR/plan) já não entraram em commits por isso.
144
+
5.**Um comando por vez ao diagnosticar.** Lotes grandes em paralelo cancelam em cascata no primeiro erro e corrompem a visão de estado.
145
+
6.**CI tem cache de status.**`gh pr checks` / `commits/<sha>/check-runs` pode mostrar run antigo. Confirme `headRefOid` do PR == seu último commit antes de confiar no resultado.
146
+
7.**Resultados podem chegar fora de ordem.** Ao notar incoerência, PARE e rode uma checagem sequencial `git branch/status/log` antes de agir.
147
+
8.**Um PR por vez.** Não abrir vários simultâneos sem o mantenedor pedir; fechar (mergear) o atual antes do próximo.
148
+
9.**Novas dependências (inclusive de teste) vão no CPM** (`build/Directory.Packages.props`). `NU1010` = `PackageVersion` faltando.
149
+
10.**`dotnet format --verify-no-changes` dá falso-positivo local** por autocrlf (CRLF no working tree vs LF no repo); o CI faz checkout LF e passa. Não persiga `ENDOFLINE` local; confie no step de format do CI.
0 commit comments