ganbatte-os 0.2.35 → 0.2.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -22,6 +22,15 @@ metadata:
|
|
|
22
22
|
|
|
23
23
|
Voce esta executando como **Executor de Planos** via skill `execute-plan`. No ambiente Codex IDE Extension este e o comando primario do ciclo `Opus(plan) -> Codex(execute)`.
|
|
24
24
|
|
|
25
|
+
## Contrato inviolavel — executar TODAS as tasks
|
|
26
|
+
|
|
27
|
+
`*execute-plan` e uma operacao **completa**: roda **TODAS** as tasks executaveis do plano em ordem de `seq`, sem parar no meio. Parar apos T-01 ou T-02 e **bug do executor**, NAO comportamento esperado. Regras vinculantes:
|
|
28
|
+
|
|
29
|
+
1. O loop so termina quando **toda** task tem `status` em `{validacao, concluido, bloqueada-backend}`. Tasks ainda em `pendente` ou `em-andamento` ao final = falha.
|
|
30
|
+
2. Falha em UMA task NAO encerra o loop. Registra em `T-NNN-NN.notes.md`, mantem task em `em-andamento`, e **continua** para a proxima task. Ao final, reporta lista de tasks com falha.
|
|
31
|
+
3. Se o executor for tentado a "pausar para usuario revisar" no meio do loop: NAO pausar. Concluir o loop e reportar tudo de uma vez no fechamento.
|
|
32
|
+
4. Verificacao final obrigatoria antes do resumo: `for f in <tasks>/T-*.md; do grep '^status:' $f; done` — listar status de cada task. Qualquer status `pendente` ou `em-andamento` apos o loop = abortar com erro `executor-incomplete: <lista>` e instruir re-rodada.
|
|
33
|
+
|
|
25
34
|
## Input
|
|
26
35
|
|
|
27
36
|
$ARGUMENTS
|
|
@@ -117,11 +126,21 @@ Para cada task **executavel**:
|
|
|
117
126
|
- Sucesso -> invocar `*progress status T-NNN-NN validacao`. **Pos-condicao obrigatoria**: ler T-NNN-NN.md, confirmar `^status: validacao$` no frontmatter. Se nao mudou: ABORTAR a task com erro `progress-tracker-falhou: T-NNN-NN`. Preparar arquivos staged (sem commit) somente apos confirmacao.
|
|
118
127
|
- Falha -> manter em `em-andamento`, gravar diff em `T-NNN-NN.notes.md`, retornar pra etapa 3.
|
|
119
128
|
|
|
120
|
-
**Invariante por task**: ao terminar a iteracao, T-NNN-NN.md DEVE ter status diferente de `pendente`. Se ainda for `pendente` apos a iteracao, registrar como bug do executor em `progress.txt` (`notes=executor-skipped-progress: T-NNN-NN`)
|
|
129
|
+
**Invariante por task**: ao terminar a iteracao, T-NNN-NN.md DEVE ter status diferente de `pendente`. Se ainda for `pendente` apos a iteracao, registrar como bug do executor em `progress.txt` (`notes=executor-skipped-progress: T-NNN-NN`) — mas **NAO abortar o loop**: continuar para a proxima task. O abort vai acontecer no fechamento (verificacao global).
|
|
130
|
+
|
|
131
|
+
**Invariante de loop**: nunca encerrar o loop com tasks restantes nao processadas. Falha local em uma task = continuar; pausa para revisao humana no meio = proibida.
|
|
121
132
|
|
|
122
133
|
## Fechamento
|
|
123
134
|
|
|
124
|
-
Quando o loop terminar (
|
|
135
|
+
Quando o loop terminar (toda task processada — em `validacao`, `concluido`, ou `bloqueada-backend`):
|
|
136
|
+
|
|
137
|
+
0. **Verificacao global obrigatoria** (antes de qualquer commit/resumo):
|
|
138
|
+
```bash
|
|
139
|
+
missed=$(for f in <dirs.planos>/<PLAN-NNN-slug>/tasks/T-*.md; do
|
|
140
|
+
awk '/^---/{c++; next} c==1 && /^status: (pendente|em-andamento)/{print FILENAME; exit}' "$f"
|
|
141
|
+
done)
|
|
142
|
+
```
|
|
143
|
+
Se `$missed` nao-vazio: ABORTAR com erro `executor-incomplete: <lista>` e mensagem orientando re-rodar `*execute-plan PLAN-NNN-<slug>` ou `--task T-NNN-NN` para as restantes. NAO preparar commit; NAO devolver "execucao concluida".
|
|
125
144
|
|
|
126
145
|
1. Listar arquivos modificados via `git diff --name-only`.
|
|
127
146
|
2. Preparar commit (NAO push). Mensagem segue Conventional Commits + referencia ao `PLAN-NNN-slug`. Se houve tasks bloqueadas, citar na mensagem (ex.: `feat(checkout): PLAN-042 T-01..T-05 (T-06,T-07 bloqueadas backend CU-XXX)`).
|
|
@@ -58,9 +58,16 @@ Para cada `T-NNN-NN-*.md` em `validacao`:
|
|
|
58
58
|
c) Output: append em `tasks/T-NNN-NN.notes.md` na secao `## Validate run <iso>`.
|
|
59
59
|
2. **Confronto diff x mapeamento**: arquivos alterados pela task estao listados em "Componentes mapeados" do plano? Arquivos fora do mapeamento -> warning (nao falha por padrao).
|
|
60
60
|
3. **Checklist da task (DoD)**: ler `## Criterios de aceitacao` da task. Itens nao marcados (`[ ]`) = falha automatica.
|
|
61
|
-
4. **
|
|
62
|
-
-
|
|
63
|
-
- **
|
|
61
|
+
4. **Triagem da falha (regra: backend nao impacta frontend)**: quando algum item falha, **classificar a causa-raiz** antes de decidir o estado:
|
|
62
|
+
- Causa **frontend** (componente faltando, classe errada, handler ausente, anatomia divergente, token errado, comportamento mapeado sem implementacao no diff): **falha real do frontend** -> mantem `validacao`, registra em `T-NNN-NN.notes.md`.
|
|
63
|
+
- Causa **backend** (smoke falha por ACL/visibilidade/permissao por perfil; dados ausentes no DB; endpoint nao retorna o shape esperado; coluna `-` por seed incompleto fora do escopo da task; perfil/role sem acesso ao recurso): **NAO e falha do frontend**. Acao:
|
|
64
|
+
a) Marcar a task como `concluido` se o codigo frontend esta correto (passou nas 3 dimensoes do gate curto).
|
|
65
|
+
b) Abrir/atualizar entrada em `## Backend pendings` do `plan.md` descrevendo o gap (ex.: `acl-lideranca-projetos-detalhe`, `seed-area-projeto`, `endpoint-projetos-detalhes-by-perfil`).
|
|
66
|
+
c) Criar/atualizar task ClickUp via `mcp__clickup__clickup_create_task` (assignee `112010775`, list `clickup.backend_list_id`). Gravar `ClickUp ID` na tabela.
|
|
67
|
+
d) Registrar em `T-NNN-NN.notes.md` secao `## Validate run <iso>` o motivo da reclassificacao.
|
|
68
|
+
- Causa **ambigua** (nao da pra decidir entre fe/be sem investigacao adicional): mantem `validacao` E abre task ClickUp investigativa. NAO bloquear o plano por ambiguidade.
|
|
69
|
+
|
|
70
|
+
**Tudo bate** -> `*progress status T-NNN-NN concluido` (auto-marca; rollback humano via `*progress status T-NNN-NN pendente --rollback` se necessario).
|
|
64
71
|
|
|
65
72
|
## Fechamento do plano
|
|
66
73
|
|
|
@@ -104,6 +111,7 @@ Se `validate-plan` detectar que uma task em `validacao` claramente NAO foi imple
|
|
|
104
111
|
## Regras criticas
|
|
105
112
|
|
|
106
113
|
- **Auto-conclusao e default**: tudo que passa em checklist + visual gate curto + diff vira `concluido` automaticamente. Rollback humano sempre disponivel.
|
|
114
|
+
- **Backend nao impacta status de tasks frontend**: smoke ou e2e que falha por ACL/visibilidade/dados/endpoint NAO mantem task frontend em `validacao` — reclassifica como `concluido` (codigo OK) + abre/atualiza `Backend pendings` + ClickUp. O fechamento do plano fica bloqueado pelo ClickUp do backend, NAO pela task frontend.
|
|
107
115
|
- **Sem push automatico**: commit ja preparado pelo `*execute-plan`, push e manual.
|
|
108
116
|
- **State machine respeitada**: tasks `bloqueada-backend` ficam intocadas — backend tem que fechar primeiro.
|
|
109
117
|
- **Backend pendings via ClickUp MCP**: se MCP indisponivel, registra warning e mantem plano em `validacao` ate humano confirmar manualmente.
|