mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-14 08:53:11 +00:00
ops(work-issue): capture-review-debts autônomo — agente decide o que registrar e descartar
This commit is contained in:
parent
c83bd779d2
commit
95ac668c0b
3 changed files with 30 additions and 18 deletions
|
|
@ -124,7 +124,10 @@ Mostre ao usuário **antes** de editar docs:
|
|||
|
||||
Inclua baldes **já_resolvido**, **descartar** e **defer** com uma linha de racional/gatilho cada (transparência > silêncio).
|
||||
|
||||
**Pare e confirme** — exceto em **modo autônomo** (`agent-work-issue` / pool): aí aplique a seção Modo autônomo abaixo e pule o AskQuestion. Só avance ao Passo 6 com aprovação explícita (humano) ou com as regras do modo autônomo. Sem isso = não cria Issue nem toca `docs/plans/`.
|
||||
**Pare e confirme** — exceto em **modo autônomo** (`work-issue` pós-plano /
|
||||
`agent-work-issue` / pool): aí aplique a seção Modo autônomo abaixo e pule o
|
||||
AskQuestion. Só avance ao Passo 6 com aprovação explícita (humano) ou com as
|
||||
regras do modo autônomo. Sem isso = não cria Issue nem toca `docs/plans/`.
|
||||
|
||||
## Passo 6 — Registrar via `agent:register` / `agent:file-miss`
|
||||
|
||||
|
|
@ -143,14 +146,21 @@ Não implemente as fases aqui. Execução é via `work-issue` / `agent-work-issu
|
|||
|
||||
**Próximo no fluxo de entrega:** após a triage (confirmada ou modo autônomo), o fechamento segue o Passo 6 de `agent-work-issue` / `work-issue` (`pnpm push` → PR `--base main` com `Closes #N` → auto-merge → CI).
|
||||
|
||||
## Modo autônomo (`agent-work-issue` / pool)
|
||||
## Modo autônomo (`work-issue` pós-plano / `agent-work-issue` / pool)
|
||||
|
||||
Quando não há humano no gate (Passo 5):
|
||||
|
||||
1. Faça colheita, dedup, score e tipo como de costume.
|
||||
2. **Registre** só itens `expensive_lock` com score ≥4 (Issue nova + `depends` no pai se preciso; plano curto se score ≥3 eng).
|
||||
3. Todo o resto → **defer** (gatilho no `*-impl.md` / Explicitamente fora) ou **descartar** — não abra AskQuestion.
|
||||
4. Resuma no comentário/fechamento o que registrou vs deferiu.
|
||||
2. **`work-issue`** (humano presente só no plano): decida o destino pela
|
||||
triage completa (Passos 3–4) — registre o que a triage manda (score ≥3
|
||||
registrar, expensive_lock com piso 4–5), absorva em plano existente,
|
||||
defira com gatilho ou descarte o resto — **sem abrir AskQuestion**.
|
||||
3. **Pool (`agent-work-issue`):** registre só itens `expensive_lock` com
|
||||
score ≥4 (Issue nova + `depends` no pai se preciso; plano curto se
|
||||
score ≥3 eng).
|
||||
4. Todo o resto → **defer** (gatilho no `*-impl.md` / Explicitamente fora)
|
||||
ou **descartar** — não abra AskQuestion.
|
||||
5. Resuma no comentário/fechamento o que registrou vs deferiu vs descartou.
|
||||
|
||||
## Anti-padrões (baseline)
|
||||
|
||||
|
|
@ -162,7 +172,7 @@ Quando não há humano no gate (Passo 5):
|
|||
| "Junto DRY e UX num FD+" | Quebra o precedente FD+/FD2; tipos separados |
|
||||
| "DRY com 1 call site vira escala-dry" | defer_trigger + gatilho; não registrar epic YAGNI |
|
||||
| "Não li o plano existente" | Grep primeiro; absorver > duplicar |
|
||||
| "Registro sem perguntar" | Passo 5 é gate; docs de produto não são scratchpad |
|
||||
| "Registro sem perguntar" | Passo 5 é gate (humano-gated); em modo autônomo o agente decide e registra |
|
||||
| "Corto access/LGPD do lote por tempo" | expensive_lock nunca é cortável por appetite |
|
||||
|
||||
## Resumo ao usuário
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
---
|
||||
name: work-issue
|
||||
description: >-
|
||||
Executa uma Issue já claimada de ponta a ponta com supervisão humana:
|
||||
o contexto da sessão identifica a Issue (sem claim), Plan mode com plano
|
||||
de implementação, pausa para confirmação humana, depois execução →
|
||||
/simplify → capture-review-debts com gate → PR Ready em main com
|
||||
auto-merge. Use quando o usuário pedir /work-issue, quiser supervisionar
|
||||
a abordagem de engenharia, ou trabalhar uma Issue com gate humano antes
|
||||
do código.
|
||||
Executa uma Issue já claimada de ponta a ponta com supervisão humana no
|
||||
plano: o contexto da sessão identifica a Issue (sem claim), Plan mode com
|
||||
plano de implementação, pausa para confirmação humana, depois execução →
|
||||
/simplify → capture-review-debts autônomo (o agente decide o que registrar
|
||||
e o que descartar) → PR Ready em main com auto-merge. Use quando o usuário
|
||||
pedir /work-issue, quiser supervisionar a abordagem de engenharia, ou
|
||||
trabalhar uma Issue com gate humano antes do código.
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
|
|
@ -36,7 +36,7 @@ pular a pausa do impl plan; Draft / sem auto-merge.
|
|||
- [ ] 1. Contexto: Issue do prompt/`$ARGUMENTS` da sessão (ausente → UMA pergunta com validação; nunca claim)
|
||||
- [ ] 2. Abrir o plano de intenção do body da Issue (`Plano: docs/plans/...`; sem link → body é spec)
|
||||
- [ ] 3. Plan mode → escrever `docs/plans/<slug>-impl.md` → **PARAR e confirmar com o humano**
|
||||
- [ ] 4. Após “ok”: Passo 4 (execução → /simplify → débitos com gate → PR, via `execution-pipeline.md`)
|
||||
- [ ] 4. Após “ok”: Passo 4 (execução → /simplify → débitos autônomos → PR, via `execution-pipeline.md`)
|
||||
```
|
||||
|
||||
## Passo 1 — Contexto da sessão
|
||||
|
|
@ -96,9 +96,11 @@ fechar em main), com os deltas do ator humano:
|
|||
|
||||
- **Branch:** `<Code>-<slug>` do worktree — nunca crie branch nova na sessão.
|
||||
- **UI:** shape → craft → critique → polish.
|
||||
- **`capture-review-debts`:** **com gate humano** — colha e pontue como a
|
||||
skill manda, apresente ao humano antes de registrar (Issues novas com
|
||||
`depends` no pai se necessário).
|
||||
- **`capture-review-debts`:** **autônomo** — colha, dedupe, pontue e **decida
|
||||
você mesmo o destino** (registrar/absorver/deferir/descartar) pela triage
|
||||
da própria skill, **sem pausa para o humano**; registre via
|
||||
`agent:register` / `agent:file-miss` (Issues novas com `depends` no pai se
|
||||
necessário) e resuma o que registrou vs descartou no fechamento.
|
||||
|
||||
## Resumo final
|
||||
|
||||
|
|
|
|||
|
|
@ -40,5 +40,5 @@ entrega.
|
|||
|
||||
| Ator | Branch | UI | `capture-review-debts` | Cloud |
|
||||
| ---- | ------ | --- | ---------------------- | ----- |
|
||||
| **Humano** (`work-issue`) | `<Code>-<slug>` (worktree; nunca crie branch nova na sessão) | shape → craft → critique → polish | **com gate humano** — colha, pontue e apresente antes de registrar | n/a (máquina do humano) |
|
||||
| **Humano** (`work-issue`) | `<Code>-<slug>` (worktree; nunca crie branch nova na sessão) | shape → craft → critique → polish | **autônomo** — decide o destino dos achados (registrar/absorver/deferir/descartar) pela triage da skill; sem pausa para o humano | n/a (máquina do humano) |
|
||||
| **Pool** (`agent-work-issue`) | `agent/<id>-<slug>` (worktrees Cursor podem já ter criado) | shape → craft → critique → polish (harden/optimize só sob gatilho) | **autônomo** — só `expensive_lock` com score ≥4 (Issues novas com `depends`); score ≤3 / cheap_polish / defer_trigger → defer no `*-impl.md` ou descarte | `ManagePullRequest` com `draft: false`; Prep Cloud no Passo 0 |
|
||||
|
|
|
|||
Loading…
Reference in a new issue