jarvis-ai-framework 7.0.0 → 8.2.0
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.
- package/AGENTS.md +2 -2
- package/README.md +11 -34
- package/agents/engineering/data/eng.data-engineer.agent.md +3 -3
- package/agents/engineering/eng.agent.md +13 -11
- package/agents/engineering/eng.dev-code-reviewer.md +19 -4
- package/agents/engineering/eng.docs-consolidator.agent.md +2 -2
- package/agents/engineering/eng.docs-writer.md +17 -2
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +2 -2
- package/agents/engineering/qa/eng.qa.test-planner.md +20 -5
- package/agents/product/prod.pm-checker.md +16 -1
- package/bin/README.md +4 -4
- package/bin/commands/init.js +237 -29
- package/bin/lib/cli/program.js +7 -11
- package/bin/lib/core/sync-engine.js +8 -4
- package/bin/lib/utils/frontmatter.js +1 -1
- package/bin/lib/utils/paths.js +2 -1
- package/bin/lib/utils/version.js +65 -0
- package/bin/postinstall.js +7 -31
- package/package.json +2 -2
- package/rules/AGENTS.md +1 -1
- package/rules/engineering/data/data-rules.md +2 -2
- package/rules/engineering/eng-rules.md +1 -1
- package/rules/engineering/eng-security-rules.md +1 -1
- package/rules/engineering/eng.integrations-rules.md +6 -2
- package/rules/rtk-rules.md +1 -1
- package/rules-on-demand/doc-links-rules.md +2 -2
- package/rules-on-demand/engineering/eng.breakdown-subtasks-rules.md +1 -1
- package/rules-on-demand/engineering/eng.plan-rules.md +2 -0
- package/rules-on-demand/engineering/eng.pr-rules.md +8 -6
- package/rules-on-demand/engineering/eng.pre-pr-rules.md +10 -3
- package/rules-on-demand/engineering/eng.start-rules.md +7 -5
- package/rules-on-demand/engineering/eng.tech-spec-rules.md +9 -7
- package/rules-on-demand/engineering/eng.transitions-rules.md +7 -6
- package/skills/AGENTS.md +2 -2
- package/skills/SKILLS-ROADMAP.md +3 -3
- package/skills/eng-backend-arch-c4/assets/example-container.md +4 -4
- package/skills/eng-backend-arch-c4/assets/example-context.md +6 -6
- package/skills/eng-backend-microservices-trace/SKILL.md +1 -1
- package/skills/eng-global-investigation/SKILL.md +4 -0
- package/skills/eng-global-pr/SKILL.md +15 -12
- package/skills/eng-global-task-comment/SKILL.md +11 -3
- package/skills/eng-global-tech-spec/references/delivery-spec.md +28 -21
- package/skills/jarvis-docs-central/README.md +4 -4
- package/skills/jarvis-docs-central/SKILL.md +5 -3
- package/skills/jarvis-evolution-architect/references/exemplos.md +3 -3
- package/skills/jarvis-init/SKILL.md +89 -24
- package/skills/jarvis-init/assets/setup-guide.md +1 -1
- package/skills/jarvis-report-issue/SKILL.md +37 -24
- package/skills/product-roadmap-report/SKILL.md +2 -2
- package/skills/product-roadmap-report/commands/status.memory.md +1 -1
- package/skills/product-roadmap-report/commands/status.roadmap.preview.md +2 -2
- package/skills/product-specs/SKILL.md +1 -1
- package/skills/product-specs-update/SKILL.md +138 -121
- package/templates/ENV-template.md +57 -27
- package/templates/cdd-aplicado-a-prompts.md +1 -1
- package/templates/engineering/AGENTS-template.md +2 -2
- package/templates/engineering/CONTACTS-template.md +1 -1
- package/templates/engineering/advisor-template.md +2 -2
- package/templates/engineering/architecture-template.md +14 -1
- package/templates/engineering/data-contract-template.md +1 -1
- package/templates/engineering/plan-template.md +2 -0
- package/templates/engineering/tech-spec-delivery-template.md +8 -8
- package/templates/engineering/tech-spec-template.md +3 -3
- package/templates/product/prod-frd-template.md +1 -1
- package/templates/product/prod-prd-template.md +1 -1
- package/workflows/AGENTS.md +1 -1
- package/workflows/README.md +1 -1
- package/workflows/engineering/data/data.contract.md +12 -8
- package/workflows/engineering/eng.breakdown-subtasks.md +2 -2
- package/workflows/engineering/eng.build-tech-spec.md +1 -1
- package/workflows/engineering/eng.create-ard-from-code.md +3 -5
- package/workflows/engineering/eng.create-ard.md +3 -5
- package/workflows/engineering/eng.create-rfc.md +5 -5
- package/workflows/engineering/eng.light-arch.md +1 -1
- package/workflows/engineering/eng.plan.md +10 -7
- package/workflows/engineering/eng.pr.md +26 -19
- package/workflows/engineering/eng.pre-pr.md +126 -27
- package/workflows/engineering/eng.spec-consolidate.md +5 -5
- package/workflows/engineering/eng.start.md +23 -9
- package/workflows/engineering/eng.work.md +4 -4
- package/workflows/engineering/qa/eng.qa-release-signoff.md +1 -66
- package/workflows/product/prod.roadmap.preview.md +10 -14
- package/workflows/product/prod.spec.ard.md +2 -2
- package/workflows/product/prod.spec.breakdown.md +2 -2
- package/workflows/product/prod.spec.epic.md +4 -4
- package/workflows/product/prod.spec.frd.md +3 -3
- package/workflows/product/prod.spec.issue.md +3 -3
- package/workflows/product/prod.spec.prd.md +5 -5
- package/bin/commands/qa-signoff.js +0 -115
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
- Nunca commite credenciais, tokens ou senhas
|
|
39
39
|
- Use variáveis de ambiente para dados sensíveis
|
|
40
40
|
- Siga as práticas de segurança definidas em `{IDE_FOLDER}/rules/engineering/`
|
|
41
|
-
- Reporte vulnerabilidades ao time de segurança
|
|
41
|
+
- Reporte vulnerabilidades ao time de segurança (a pessoa do projeto, pela via combinada; o Jarvis não envia nada sem perguntar)
|
|
42
42
|
|
|
43
43
|
Available Workflows
|
|
44
44
|
|
|
@@ -50,7 +50,7 @@ O projeto utiliza o framework JARVIS com os seguintes comandos principais:
|
|
|
50
50
|
| `/eng.start` | Iniciar nova tarefa (cria architecture.md) |
|
|
51
51
|
| `/eng.plan` | Criar plano de execução faseado |
|
|
52
52
|
| `/eng.work` | Implementar código seguindo o plano |
|
|
53
|
-
| `/eng.pr` |
|
|
53
|
+
| `/eng.pr` | Push e Merge Request, depois da pergunta (regra de ouro) |
|
|
54
54
|
| `/eng.debug` | Investigar e resolver bugs |
|
|
55
55
|
|
|
56
56
|
For AI Agents
|
|
@@ -73,7 +73,7 @@ Recomendação: ler o playbook de tomada de decisões em tecnologia do time (wik
|
|
|
73
73
|
Incidentes em Produção
|
|
74
74
|
|
|
75
75
|
```
|
|
76
|
-
.
|
|
76
|
+
. A pessoa avisa no canal squad-{nome}-alerts (o Jarvis, só depois da pergunta)
|
|
77
77
|
|
|
78
78
|
. Acionar pessoa de plantão (PagerDuty)
|
|
79
79
|
|
|
@@ -14,7 +14,7 @@ Etapas da tarefa:
|
|
|
14
14
|
| Alerta no início do eng.start | O usuário escolhe usar o Advisor e o modelo | Ainda não existe |
|
|
15
15
|
| eng.start | Escrevo o architecture.md; o que diverge do código ou é ambíguo vira "Questões em Aberto" | Aqui: você orienta cada questão |
|
|
16
16
|
| Orientação acatada | Atualizo o architecture.md e registro | Não |
|
|
17
|
-
| Registro da auditoria |
|
|
17
|
+
| Registro da auditoria | Mostro o comentário com as questões e as suas sugestões e, só com o Sim do usuário (regra de ouro), posto na issue pelo `/eng-global-task-comment`, que pergunta (sem o Sim, o texto fica no task-comment-*.md e no architecture.md; sem TASK_MANAGER, o skill registra no task-log.md) | Não |
|
|
18
18
|
| eng.plan / eng.work | Plano e implementação | Só por exceção: questão nova em aberto |
|
|
19
19
|
| Commit e PR | Um commit; o usuário valida em "Files changed" | Não |
|
|
20
20
|
| Merge e fechamento | O usuário faz o merge | Não |
|
|
@@ -41,7 +41,7 @@ Analise o repositório só se precisar para ter certeza (sem chutar). Responda (
|
|
|
41
41
|
1. SUGESTÃO DO ADVISOR (opção 1-3 ou a 4 detalhada) · 2. DIVERGÊNCIA · 3. BASE · 4. ANÁLISE NO REPOSITÓRIO · 5. RELAÇÃO COM OUTRAS TAREFAS · 6. CERTEZA (escrito / confirmado no código / inferência). Não altere arquivos; aponte o risco se uma opção for destrutiva ou fugir do card.
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
## Modelo do comentário de auditoria (postado pelo agente principal)
|
|
44
|
+
## Modelo do comentário de auditoria (postado pelo agente principal, só depois da pergunta: regra de ouro)
|
|
45
45
|
|
|
46
46
|
```
|
|
47
47
|
## Auditoria — questões do architecture.md
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
> **Commit base:** `{sha}` (no modo workspace, `{repo}@{sha}` por repositório: as linhas citadas nos links são deste commit)
|
|
11
11
|
> **Status:** 🔄 Em Revisão | ✅ Aprovado | ❌ Rejeitado
|
|
12
12
|
> **Advisor:** {modelo escolhido no início do eng.start} | não utilizado
|
|
13
|
-
> **Questões em aberto:** tratar no architecture.md (como hoje) | uma a uma, assim que surgirem (só sem Advisor)
|
|
13
|
+
> **Questões em aberto:** tratar no architecture.md (como hoje) | uma a uma, assim que surgirem (só sem Advisor)
|
|
14
|
+
> **Ajustes antes da aprovação:** {0} (o `eng.start` soma 1 a cada "Ajustar o documento"; o `eng.pre-pr` copia o número para o PR Brief)
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
|
|
@@ -86,6 +87,18 @@ Novo fluxo:
|
|
|
86
87
|
| {convenção de API} | {ex: REST, naming conventions} | {caminho/arquivo-exemplo} |
|
|
87
88
|
| {padrão de testes} | {ex: AAA, mocks} | {caminho/arquivo-exemplo} |
|
|
88
89
|
|
|
90
|
+
### 2.5 Premissas e Passe Crítico
|
|
91
|
+
|
|
92
|
+
> Preenchida no passe crítico (Fase 4.4 do `eng.start`), antes da aprovação. Parecido com o `Reflection`: um passe contra o próprio documento (ver #171). Só entram premissas que mudam o plano se estiverem erradas; até cerca de 10 linhas.
|
|
93
|
+
|
|
94
|
+
| Premissa | Fonte | O que a derrubaria | Como conferir |
|
|
95
|
+
| -------- | ----- | ------------------ | ------------- |
|
|
96
|
+
| {afirmação em que o documento se apoia} | {lida: [`{arquivo}:{n}`](../../../../{repo}/{caminho}#L{n}) \| presumida} | {fato que, se verdadeiro, invalida a premissa} | {leitura, comando ou pergunta} |
|
|
97
|
+
|
|
98
|
+
**O que derrubaria este documento:** {a premissa mais frágil, em uma frase}
|
|
99
|
+
|
|
100
|
+
> Toda premissa **presumida** que mudaria o plano vira, antes da aprovação, uma leitura feita (e passa a "lida") ou uma questão em aberto na seção 8.
|
|
101
|
+
|
|
89
102
|
---
|
|
90
103
|
|
|
91
104
|
## 3. Decisões Arquiteturais
|
|
@@ -122,7 +122,7 @@ WHERE data_referencia BETWEEN '{{DATA_INICIO}}' AND '{{DATA_FIM}}'
|
|
|
122
122
|
|
|
123
123
|
Qualquer alteração de schema (adição, remoção ou mudança de tipo de campo) deve:
|
|
124
124
|
|
|
125
|
-
1. Ser comunicada no canal `$DATA_REQUESTS_CHANNEL` com **7 dias de antecedência**
|
|
125
|
+
1. Ser comunicada no canal `$DATA_REQUESTS_CHANNEL` com **7 dias de antecedência** (pela pessoa; um aviso enviado pelo Jarvis só sai depois da pergunta)
|
|
126
126
|
2. Ter nova versão do contrato criada (versionamento semântico: `MAJOR.MINOR`)
|
|
127
127
|
3. Período de coexistência: versão antiga disponível por **30 dias** após nova versão publicada
|
|
128
128
|
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
> Links (inclusive nos comentários de fase): `rules-on-demand/doc-links-rules.md`; os arquivos de "Onde fazer" que já existem viram link (`../../../../{repo}/{arquivo}#L{n}`), e os novos ficam em texto.
|
|
8
8
|
>
|
|
9
9
|
> **Execução:** {fase a fase | todas de uma vez} · **Commits:** {um por fase | um só ao final} · **Depois do work:** {sugerir /eng.pre-pr | rodar /eng.pre-pr | direto para /eng.pr | parar} _(preenchido pelo `eng.work`, Fase 1.3)_
|
|
10
|
+
>
|
|
11
|
+
> **Ajustes antes da aprovação:** {0} _(o `eng.plan` soma 1 a cada "Ajustar o plano"; o `eng.pre-pr` copia o número para o PR Brief)_
|
|
10
12
|
|
|
11
13
|
---
|
|
12
14
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Tech Spec — Formatos de Entrega
|
|
2
2
|
|
|
3
|
-
> Template com os formatos usados no fim do `eng.build-tech-spec`: descrição da subtarefa no
|
|
3
|
+
> Template com os formatos usados no fim do `eng.build-tech-spec`: descrição da subtarefa no board, comentário na história original, mensagem de entrega e um exemplo preenchido, além do diagrama do fluxo. Substitua os placeholders `{...}`.
|
|
4
4
|
|
|
5
|
-
## Descrição da subtarefa no
|
|
5
|
+
## Descrição da subtarefa no board
|
|
6
6
|
|
|
7
|
-
Fase 7.2 do workflow. Use este formato na descrição de cada subtarefa criada no Jira (ou entregue ao usuário para copiar e colar).
|
|
7
|
+
Fase 7.2 do workflow. Use este formato na descrição de cada subtarefa criada no Jira pela `acli` (ou entregue ao usuário para copiar e colar no board).
|
|
8
8
|
|
|
9
9
|
```markdown
|
|
10
10
|
## Descrição
|
|
@@ -37,7 +37,7 @@ Tech Spec: [Link para tech-spec.md]
|
|
|
37
37
|
|
|
38
38
|
## Comentário na história original
|
|
39
39
|
|
|
40
|
-
Fase 7.4 do workflow. Comentário a registrar na história (STORY-XXX) depois de criar as subtarefas.
|
|
40
|
+
Fase 7.4 do workflow. Comentário a registrar na história (STORY-XXX) depois de criar as subtarefas, pelo `/eng-global-task-comment`, que mostra o texto e pergunta (regra de ouro).
|
|
41
41
|
|
|
42
42
|
```
|
|
43
43
|
Tech Spec criada: [Link para tech-spec.md]
|
|
@@ -60,7 +60,7 @@ Fase 8.2 do workflow. O que entregar ao usuário ao final.
|
|
|
60
60
|
✅ Tech Spec criada com sucesso!
|
|
61
61
|
|
|
62
62
|
📄 Documento Local: $SESSIONS_DIR/eng/{feature-name}/tech-spec.md
|
|
63
|
-
📎 Anexada
|
|
63
|
+
📎 {Anexada na issue: {STORY-XXX} | A anexar pela pessoa (orientado: GitHub/GitLab, sem a CLI, CLI que não anexa ou acesso manual) | Não anexada (só na sessão; sem o Sim) | Sem issue (freelance)}
|
|
64
64
|
|
|
65
65
|
📋 Resumo:
|
|
66
66
|
- História: {STORY-XXX} - {Título}
|
|
@@ -68,7 +68,7 @@ Fase 8.2 do workflow. O que entregar ao usuário ao final.
|
|
|
68
68
|
- Subtarefas: {Y subtarefas}
|
|
69
69
|
- Estimativa total: {Z horas}
|
|
70
70
|
|
|
71
|
-
🔗 Subtarefas criadas no Jira:
|
|
71
|
+
🔗 Subtarefas {criadas no Jira pela acli | entregues em template para criação manual (outros boards, sem a CLI, com acesso manual, sem o Sim ou sem board)}:
|
|
72
72
|
- SUBTASK-001: {Nome} (P0, 6h)
|
|
73
73
|
- SUBTASK-002: {Nome} (P1, 4h)
|
|
74
74
|
- SUBTASK-003: {Nome} (P1, 8h)
|
|
@@ -93,7 +93,7 @@ Exemplo preenchido da mensagem de entrega (fictício).
|
|
|
93
93
|
✅ Tech Spec para STORY-456 criada com sucesso!
|
|
94
94
|
|
|
95
95
|
📄 **Documento Local**: $SESSIONS_DIR/eng/story-456/tech-spec.md
|
|
96
|
-
📎 **
|
|
96
|
+
📎 **Anexada na issue**: STORY-456
|
|
97
97
|
|
|
98
98
|
📊 **Resumo**:
|
|
99
99
|
|
|
@@ -102,7 +102,7 @@ Exemplo preenchido da mensagem de entrega (fictício).
|
|
|
102
102
|
- **Subtarefas**: 5 subtarefas
|
|
103
103
|
- **Estimativa total**: 26 horas
|
|
104
104
|
|
|
105
|
-
🔗 **Subtarefas criadas no Jira**:
|
|
105
|
+
🔗 **Subtarefas criadas no Jira**: ← ou "entregues em template"
|
|
106
106
|
|
|
107
107
|
- SUBTASK-101: [BACKEND] Criar endpoint POST /api/auth/register (P0, 6h)
|
|
108
108
|
- SUBTASK-102: [BACKEND] Criar endpoint POST /api/auth/login (P0, 6h)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: {nome da tech-spec}
|
|
3
3
|
id: {TECH-001}
|
|
4
|
-
related_story: {STORY-XXX do
|
|
4
|
+
related_story: {STORY-XXX do board}
|
|
5
5
|
epic_related: {EPIC-XXX se existir}
|
|
6
6
|
related_rfc: {RFC-XXX ou "Não aplicável"}
|
|
7
7
|
link_task: {URL da história no $TASK_MANAGER}
|
|
@@ -16,7 +16,7 @@ reviewers: {lista de revisores}
|
|
|
16
16
|
|
|
17
17
|
## 1. Contexto da História
|
|
18
18
|
|
|
19
|
-
### História Original do
|
|
19
|
+
### História Original (card do board)
|
|
20
20
|
**ID**: {STORY-XXX}
|
|
21
21
|
**Link**: {URL}
|
|
22
22
|
|
|
@@ -443,7 +443,7 @@ TIMEOUT_MS=5000
|
|
|
443
443
|
- [ ] Rollback testado
|
|
444
444
|
|
|
445
445
|
**Produto:**
|
|
446
|
-
- [ ] Critérios de aceitação do
|
|
446
|
+
- [ ] Critérios de aceitação do card atendidos
|
|
447
447
|
- [ ] Product Owner aceitou
|
|
448
448
|
- [ ] QA sign-off
|
|
449
449
|
- [ ] Stakeholders notificados
|
|
@@ -165,7 +165,7 @@ Ele é um sistema de gestão de dados pessoais de saúde, que agrega informaçõ
|
|
|
165
165
|
- {Exclusão adicional}
|
|
166
166
|
|
|
167
167
|
## Especificações relacionadas
|
|
168
|
-
{liste todos os PRDs, FRDs ou outros documentos relacionados a este FRD fazendo uma análise prévia do projeto e das especificações existentes no Central docs
|
|
168
|
+
{liste todos os PRDs, FRDs ou outros documentos relacionados a este FRD fazendo uma análise prévia do projeto e das especificações existentes em `$PROD_DOCS` (e, se configurado, das funcionalidades já implementadas no Central docs, `jarvis docs sync`). Pergunte para o usuário se existe outras relações que ele conheça. Antes de adicionar as sugestões, confirme com o usuário se elas estão corretas.}
|
|
169
169
|
|
|
170
170
|
**PRDs relacionadas**:
|
|
171
171
|
| ID | Título | Descrição |
|
|
@@ -179,7 +179,7 @@ Estes são indicadores que podem ser usados para medir o sucesso dessa solução
|
|
|
179
179
|
|
|
180
180
|
|
|
181
181
|
## Especificações relacionadas
|
|
182
|
-
{liste todos os PRDs, FRDs ou outros documentos relacionados a este
|
|
182
|
+
{liste todos os PRDs, FRDs ou outros documentos relacionados a este PRD fazendo uma análise prévia do projeto e das especificações existentes em `$PROD_DOCS` (e, se configurado, das funcionalidades já implementadas no Central docs, `jarvis docs sync`). Pergunte para o usuário se existe outras relações que ele conheça. Antes de adicionar as sugestões, confirme com o usuário se elas estão corretas.}
|
|
183
183
|
|
|
184
184
|
**PRDs relacionadas**:
|
|
185
185
|
| ID | Título | Descrição |
|
package/workflows/AGENTS.md
CHANGED
|
@@ -155,7 +155,7 @@ Workflows de engenharia seguem fases restritas:
|
|
|
155
155
|
|------|-----------|-----------|
|
|
156
156
|
| Planejamento | `eng.start`, `eng.plan` | Somente analise, SEM codigo |
|
|
157
157
|
| Implementacao | `eng.work` | Codigo e testes, commit por fase, SEM push nem PR |
|
|
158
|
-
| Entrega | `eng.pr` |
|
|
158
|
+
| Entrega | `eng.pr` | Push e PR, depois da pergunta (regra de ouro) |
|
|
159
159
|
|
|
160
160
|
**IMPORTANTE**: Respeitar estritamente as restricoes de cada fase.
|
|
161
161
|
|
package/workflows/README.md
CHANGED
|
@@ -85,7 +85,7 @@ workflows/
|
|
|
85
85
|
| `eng.plan.md` | Criar plano de execução por fases |
|
|
86
86
|
| `eng.work.md` | Executar implementação de código |
|
|
87
87
|
| `eng.pre-pr.md` | Validação final antes do PR |
|
|
88
|
-
| `eng.pr.md` |
|
|
88
|
+
| `eng.pr.md` | Push e Pull Request, depois da pergunta (regra de ouro) |
|
|
89
89
|
| `eng.review.md` | Revisão de solução/PR |
|
|
90
90
|
| `eng.debug.md` | Investiga um bug ou varre um escopo atrás de problemas |
|
|
91
91
|
| `eng.docs.md` | Atualizar documentação de engenharia |
|
|
@@ -161,7 +161,9 @@ Salvar o contrato preenchido em:
|
|
|
161
161
|
|
|
162
162
|
### 4.2 — Comunicar à squad requisitante
|
|
163
163
|
|
|
164
|
-
|
|
164
|
+
Mostre o texto e pergunte com `AskUserQuestion` antes de notificar (regra de ouro, `eng.integrations-rules.md`); sem o Sim, deixe o texto pronto para a pessoa enviar.
|
|
165
|
+
|
|
166
|
+
Notificar no canal de solicitação de dados (thread original), depois do Sim acima, com:
|
|
165
167
|
- Link para o contrato
|
|
166
168
|
- Como acessar os dados (método, IAM role ou equivalente)
|
|
167
169
|
- SLA combinado
|
|
@@ -169,10 +171,12 @@ Notificar no canal de solicitação de dados (thread original) com:
|
|
|
169
171
|
|
|
170
172
|
### 4.3 — Abrir card no board do time de Data
|
|
171
173
|
|
|
172
|
-
|
|
174
|
+
Mostre o texto do card e, se a criação vai sair (board configurado, CLI logada e `TASK_MANAGER_ACCESS=cli` ou vazio), pergunte com `AskUserQuestion` antes de criar (regra de ouro); sem o Sim, sem board, sem a CLI ou com acesso manual, deixe o card descrito para a pessoa criar.
|
|
175
|
+
|
|
176
|
+
Com o Sim, criar card no board `DE` (ou equivalente) pela CLI oficial do vendor (`acli jira workitem create` no projeto `DE` do Jira, ou `gh issue create`/`glab issue create` com `--repo` a partir de `TASK_MANAGER_URL_BASE`, o repositório que faz as vezes do board `DE`; flags no `--help`; sem `--repo`, `gh`/`glab` criariam a issue no repositório do diretório atual. O `jarvis vcs create-issue` é o do `/jarvis-report-issue`, com `--repo` explícito, não um atalho para o board). Sem a CLI logada, com acesso manual ou sem board, a pessoa cria com o texto pronto. O card leva:
|
|
173
177
|
- Squad requisitante
|
|
174
178
|
- Tabela/recurso
|
|
175
|
-
- Status: `Ativo`
|
|
179
|
+
- Status: `Ativo` (no corpo do card; nenhuma CLI põe status na criação)
|
|
176
180
|
- Link para o contrato
|
|
177
181
|
|
|
178
182
|
---
|
|
@@ -183,7 +187,7 @@ Criar card no board `DE` (ou equivalente) com:
|
|
|
183
187
|
|
|
184
188
|
Qualquer mudança de schema (adição, remoção ou tipo de campo) deve:
|
|
185
189
|
|
|
186
|
-
1. Ser comunicada no canal de dados com **antecedência** (prazo definido nas rules)
|
|
190
|
+
1. Ser comunicada no canal de dados com **antecedência** (prazo definido nas rules), depois de mostrar a mensagem e perguntar com `AskUserQuestion` (regra de ouro, `eng.integrations-rules.md`); sem o Sim, deixe o texto pronto
|
|
187
191
|
2. Gerar nova versão do contrato (versionamento semântico: `MAJOR.MINOR`)
|
|
188
192
|
3. Manter versão antiga disponível pelo período de coexistência definido nas rules
|
|
189
193
|
|
|
@@ -191,8 +195,8 @@ Qualquer mudança de schema (adição, remoção ou tipo de campo) deve:
|
|
|
191
195
|
|
|
192
196
|
Quando o contrato não for mais necessário:
|
|
193
197
|
1. Atualizar `Status` para `Deprecado` no documento
|
|
194
|
-
2. Comunicar à squad requisitante com prazo de encerramento
|
|
195
|
-
3.
|
|
198
|
+
2. Comunicar à squad requisitante com prazo de encerramento, depois de mostrar a mensagem e perguntar com `AskUserQuestion` (regra de ouro); sem o Sim, deixe o texto pronto
|
|
199
|
+
3. Orientar a pessoa a atualizar (ou remover) o card no board do time de Data (o Jarvis não move card); um comentário no card sai pelo `/eng-global-task-comment`, que mostra o texto e pergunta (regra de ouro)
|
|
196
200
|
|
|
197
201
|
---
|
|
198
202
|
|
|
@@ -205,6 +209,6 @@ Quando o contrato não for mais necessário:
|
|
|
205
209
|
[ ] Contrato preenchido (schema, SLA, acesso, campos sensíveis)
|
|
206
210
|
[ ] Campos sensíveis com tratamento aplicado (ou ausência confirmada)
|
|
207
211
|
[ ] Contrato salvo no repositório de pipelines
|
|
208
|
-
[ ] Squad requisitante notificada com acesso e SLA
|
|
209
|
-
[ ] Card aberto no board do time de Data
|
|
212
|
+
[ ] Squad requisitante notificada com acesso e SLA (ou texto entregue à pessoa, sem o Sim)
|
|
213
|
+
[ ] Card aberto no board do time de Data (ou descrito para a pessoa criar; sem board, só o texto)
|
|
210
214
|
```
|
|
@@ -8,7 +8,7 @@ rules_file: "$IDE/rules-on-demand/engineering/eng.breakdown-subtasks-rules.md"
|
|
|
8
8
|
---
|
|
9
9
|
# Breakdown Subtasks - Gerador de Subtarefas Mastigadas
|
|
10
10
|
|
|
11
|
-
Você receberá uma Tech Spec completa e deve quebrá-la em subtarefas **EXTREMAMENTE DETALHADAS** para o Jira.
|
|
11
|
+
Você receberá uma Tech Spec completa e deve quebrá-la em subtarefas **EXTREMAMENTE DETALHADAS** para o board. Este comando **não cria cards**: entrega as subtarefas em Markdown para a pessoa criar; a criação automática (só no Jira, pela `acli`, depois da pergunta) é a Fase 7 do `delivery-spec` do `/eng.build-tech-spec`.
|
|
12
12
|
|
|
13
13
|
> ⚠️ **PRINCÍPIO FUNDAMENTAL**: Cada subtarefa deve ser tão detalhada que um desenvolvedor júnior possa executá-la SEM precisar perguntar nada. A subtarefa deve ser um "tutorial passo-a-passo" completo.
|
|
14
14
|
|
|
@@ -45,7 +45,7 @@ Analise a Tech Spec e extraia **TUDO**:
|
|
|
45
45
|
|
|
46
46
|
### 1.2 Investigação do Codebase (OBRIGATÓRIA)
|
|
47
47
|
|
|
48
|
-
**ANTES de
|
|
48
|
+
**ANTES de escrever as subtarefas**, use as ferramentas para:
|
|
49
49
|
|
|
50
50
|
1. **Encontrar arquivos similares** - Use glob para localizar exemplos no projeto
|
|
51
51
|
2. **Entender padrões existentes** - Use grep para ver como funcionalidades similares foram implementadas
|
|
@@ -65,7 +65,7 @@ Gerar uma especificação técnica completa e auto-contida, em um de dois modos:
|
|
|
65
65
|
| Delivery Spec › Processo de Criação › verificação de necessidade de RFC | `/eng.create-rfc` | Se a Tech Spec atender aos critérios que exigem RFC e o usuário escolher "A: Criar uma RFC agora" |
|
|
66
66
|
| Delivery Spec › Caminho A › 2A.2 Análise de Documentação de Produto | `/jarvis-docs-central` | Se `CENTRAL_DOCS_STORAGE` estiver configurado (funcionalidades já implementadas relacionadas ao épico; PRD/FRD vêm de `$PROD_DOCS`) |
|
|
67
67
|
| Reference Spec › 2. Checagem de RFC | `/eng.create-rfc` | Se não houver RFC/ARD de origem, algum dos 7 critérios for "Sim" e o usuário escolher "A: Criar uma RFC agora" |
|
|
68
|
-
| Delivery Spec › FASE 7 › 7.3 Criação no Jira | `acli jira workitem create` (CLI do vendor)
|
|
68
|
+
| Delivery Spec › FASE 7 › 7.3 Criação no Jira | `acli jira workitem create` (CLI do vendor) | Se o projeto usar Jira com a `acli` logada, só depois de mostrar o texto e perguntar (regra de ouro); senão, template para criação manual |
|
|
69
69
|
|
|
70
70
|
---
|
|
71
71
|
|
|
@@ -68,16 +68,14 @@ priorizando a **arquitetura observada no código do repositório**, usando o tem
|
|
|
68
68
|
|
|
69
69
|
## Passo 1 – Verificar PRD (obrigatório quando existir)
|
|
70
70
|
|
|
71
|
-
### 1.1 – Buscar PRD no Central
|
|
71
|
+
### 1.1 – Buscar o PRD em `$PROD_DOCS` e o implementado no Central docs
|
|
72
72
|
|
|
73
|
-
Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
74
|
-
|
|
75
|
-
1. Consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje):
|
|
73
|
+
1. Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md, consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje); vazio: pule só este item:
|
|
76
74
|
```bash
|
|
77
75
|
jarvis docs sync --silent
|
|
78
76
|
```
|
|
79
77
|
|
|
80
|
-
2. Buscar o PRD relacionado em `$PROD_DOCS` (documento de trabalho
|
|
78
|
+
2. Buscar o PRD relacionado em `$PROD_DOCS` (sempre, com ou sem Central docs; é documento de trabalho e o Central docs não o guarda) usando:
|
|
81
79
|
- Título/objetivo do ARD
|
|
82
80
|
- Jira ID (se disponível)
|
|
83
81
|
- Tags semânticas
|
|
@@ -121,16 +121,14 @@ Regras:
|
|
|
121
121
|
|
|
122
122
|
## Passo 1.1 – Verificar PRD (obrigatório)
|
|
123
123
|
|
|
124
|
-
### 1.1.1 – Buscar PRD no Central
|
|
124
|
+
### 1.1.1 – Buscar o PRD em `$PROD_DOCS` e o implementado no Central docs
|
|
125
125
|
|
|
126
|
-
Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
127
|
-
|
|
128
|
-
1. Consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje):
|
|
126
|
+
1. Se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md, consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje); vazio: pule só este item:
|
|
129
127
|
```bash
|
|
130
128
|
jarvis docs sync --silent
|
|
131
129
|
```
|
|
132
130
|
|
|
133
|
-
2. Buscar o PRD relacionado em `$PROD_DOCS` (documento de trabalho
|
|
131
|
+
2. Buscar o PRD relacionado em `$PROD_DOCS` (sempre, com ou sem Central docs; é documento de trabalho e o Central docs não o guarda) usando:
|
|
134
132
|
- Título/objetivo do ARD
|
|
135
133
|
- Jira ID (se disponível)
|
|
136
134
|
- Tags semânticas
|
|
@@ -91,11 +91,11 @@ Regras:
|
|
|
91
91
|
|
|
92
92
|
---
|
|
93
93
|
|
|
94
|
-
## Passo 0.6 – Buscar Documentação Relacionada
|
|
94
|
+
## Passo 0.6 – Buscar Documentação Relacionada (`docs/jarvis/` sempre; Central docs se configurado)
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
A busca em `docs/jarvis/` (PRD, ARD, RFCs) é sempre feita; a consulta ao Central docs só se `CENTRAL_DOCS_STORAGE` estiver definido no ENV.md (vazio: pule só o item 1).
|
|
97
97
|
|
|
98
|
-
1.
|
|
98
|
+
1. Se `CENTRAL_DOCS_STORAGE` estiver definido, consultar no Central docs as funcionalidades já implementadas relacionadas (o que existe hoje):
|
|
99
99
|
```bash
|
|
100
100
|
jarvis docs sync --silent
|
|
101
101
|
```
|
|
@@ -106,13 +106,13 @@ Se `CENTRAL_DOCS_STORAGE` definido no ENV.md:
|
|
|
106
106
|
- Tags semânticas
|
|
107
107
|
|
|
108
108
|
3. Documentos a buscar:
|
|
109
|
-
- **Funcionalidades já implementadas** relacionadas (Central docs: `feature-*`)
|
|
109
|
+
- **Funcionalidades já implementadas** relacionadas (Central docs, se configurado: `feature-*`)
|
|
110
110
|
- **PRD relacionado** (em `$PROD_DOCS`, para rastreabilidade e contexto de negócio)
|
|
111
111
|
- **ARD existente** e **RFCs anteriores** relacionados ao tema (em `$ENG_DOCS/ARD` e `$ENG_DOCS/RFC`)
|
|
112
112
|
|
|
113
113
|
4. Se documentos encontrados:
|
|
114
114
|
- Carregar automaticamente como contexto
|
|
115
|
-
- Informar ao usuário: "✅ Documentos encontrados
|
|
115
|
+
- Informar ao usuário: "✅ Documentos encontrados (`docs/jarvis/` e, se configurado, Central docs): [lista]"
|
|
116
116
|
- Incorporar ao contexto antes do Passo 1
|
|
117
117
|
|
|
118
118
|
5. Se não encontrado:
|
|
@@ -79,7 +79,7 @@ Se ajudar a construir um diagrama MERMAID, sinta-se livre para fazê-lo.
|
|
|
79
79
|
|
|
80
80
|
5. Uma vez que tenha um bom entendimento do que está sendo construído, mostre ao usuário na forma de um artefato e aguarde sua aprovação. Iterate juntos até estar pronto. PAUSE para aguardar a aprovação do humano.
|
|
81
81
|
|
|
82
|
-
6. Quando o humano concordar com seu entendimento, você pode proceder ao próximo passo, salvando os detalhes da estrutura arquitetural no card do $TASK_MANAGER como um comentário ao card original.
|
|
82
|
+
6. Quando o humano concordar com seu entendimento, você pode proceder ao próximo passo, salvando os detalhes da estrutura arquitetural no card do $TASK_MANAGER como um comentário ao card original, pelo `/eng-global-task-comment`, que mostra o texto e pergunta antes de enviar (regra de ouro, `eng.integrations-rules.md`); sem o Sim, o texto fica só na sessão.
|
|
83
83
|
|
|
84
84
|
## Pesquisa
|
|
85
85
|
|
|
@@ -45,10 +45,9 @@ Antes de executar este workflow:
|
|
|
45
45
|
|-------|-------|----------|
|
|
46
46
|
| Cabeçalho (agente) | `eng.agent` (agente) | Sempre — identidade do workflow |
|
|
47
47
|
| Fase 0 › 0.1 Herdar Contexto da Sessão | `/jarvis-context-detect` | Se `ENABLE_CDD=true` e o `context.md` não existir |
|
|
48
|
-
| Fase 2: Pesquisa no Codebase | `repoprompt` (MCP: `search`, `read_selected_files`) | Para buscar e ler arquivos relevantes do codebase |
|
|
49
48
|
| Fase 2: Pesquisa no Codebase (se necessário) | `context7` (MCP) | Se for preciso consultar a documentação de bibliotecas |
|
|
50
49
|
| Fase 3: Criação do Plano (exceção) | `eng.advisor.agent` (agente) | Só por exceção: questão nova em aberto, com o Advisor habilitado no `eng.start` (cabeçalho do `architecture.md`) |
|
|
51
|
-
| Fase 3: Criação do Plano (exceção) | `/eng-global-task-comment` | Só por exceção: comentário de auditoria da questão nova consultada ao Advisor (freelance
|
|
50
|
+
| Fase 3: Criação do Plano (exceção) | `/eng-global-task-comment` | Só por exceção: comentário de auditoria da questão nova consultada ao Advisor, só com o Sim da pergunta (regra de ouro; freelance: o skill registra no `task-log.md`); sem o Sim, o texto fica no `task-comment-*.md` e no `architecture.md` |
|
|
52
51
|
|
|
53
52
|
---
|
|
54
53
|
|
|
@@ -129,9 +128,12 @@ CONTEXT_PROFILE:
|
|
|
129
128
|
|
|
130
129
|
### Fase 2: Pesquisa no Codebase
|
|
131
130
|
|
|
132
|
-
1. **Buscar** arquivos relevantes
|
|
133
|
-
-
|
|
134
|
-
-
|
|
131
|
+
1. **Buscar** arquivos relevantes com as ferramentas de busca, como na Fase 3.1 do `eng.start`:
|
|
132
|
+
- **Glob** para encontrar arquivos relacionados
|
|
133
|
+
- **Grep** para buscar padrões e implementações parecidas
|
|
134
|
+
- **Read** para ler os arquivos que serão modificados
|
|
135
|
+
|
|
136
|
+
Com `WORKSPACE_MODE=workspace`, busque só nos repositórios do workspace e siga a regra "Buscas de código em modo workspace" de `eng-rules.md`.
|
|
135
137
|
2. **Analisar**:
|
|
136
138
|
- Padrões existentes no projeto
|
|
137
139
|
- Arquivos que serão modificados
|
|
@@ -163,14 +165,15 @@ CONTEXT_PROFILE:
|
|
|
163
165
|
|
|
164
166
|
4. **Usar** o template em `$IDE/templates/engineering/plan-template.md`
|
|
165
167
|
|
|
166
|
-
**Questão nova em aberto (exceção).** O ideal é que todas as questões tenham sido levantadas no `eng.start`. Se surgir uma nova e o cabeçalho do `architecture.md` indicar um Advisor, consulte `eng.advisor.agent` com o Prompt 2 de `$IDE/templates/engineering/advisor-template.md` (refaça o Prompt 1 se o subagente não existir mais), acrescente a questão à seção 8 marcada "levantada no `eng.plan`", adote a sugestão do Advisor e
|
|
168
|
+
**Questão nova em aberto (exceção).** O ideal é que todas as questões tenham sido levantadas no `eng.start`. Se surgir uma nova e o cabeçalho do `architecture.md` indicar um Advisor, consulte `eng.advisor.agent` com o Prompt 2 de `$IDE/templates/engineering/advisor-template.md` (refaça o Prompt 1 se o subagente não existir mais), acrescente a questão à seção 8 marcada "levantada no `eng.plan`", adote a sugestão do Advisor e monte o comentário de auditoria e publique-o com `/eng-global-task-comment`, que mostra o texto e pergunta (regra de ouro, `eng.integrations-rules.md`; é desvio do plano; freelance: o skill registra no `task-log.md`). Sem o Sim, o texto fica no `task-comment-*.md` e no `architecture.md`. Cite o desvio no PR como lacuna do `eng.start`. Sem Advisor, pergunte ao usuário.
|
|
167
169
|
|
|
168
170
|
### Fase 4: Validação
|
|
169
171
|
|
|
172
|
+
0. **Passe crítico**, antes de apresentar: percorra o "Checklist de Conclusão" de `eng.plan-rules.md` item a item contra o `plan.md` (toda fase cabe em cerca de 1 hora; toda fase tem a tarefa `X.T`; toda tarefa tem o que, onde, como e como verificar; dependências explícitas; status iniciais ⏳) e corrija o plano antes de mostrar. Registre o resultado nos comentários da última fase: `Passe crítico: {n} itens conferidos, {m} corrigidos`. Parecido com o `Reflection` (ver #171), como o passe crítico do `eng.start` (Fase 4.4).
|
|
170
173
|
1. **Apresentar** o plano ao humano, com o consolidado de links da sessão (regra 5 de `eng.transitions-rules.md`: `context.md`, `architecture.md` e o `plan.md` novo)
|
|
171
174
|
2. **Discutir** ajustes necessários
|
|
172
175
|
3. **Atualizar** `architecture.md` se houver mudanças arquiteturais
|
|
173
|
-
4. **Confirmar** antes de prosseguir, com a pergunta de transição (`eng.transitions-rules.md`): **"O que fazer com o plano?"** (depois da mensagem em markdown com o consolidado de links) → **Aprovar e implementar agora** (chame o `/eng.work {TASK_MANAGER_KEY}`, ou mostre o comando) / **Aprovar e seguir manualmente (como hoje)** (o comando termina e o usuário chama o `/eng.work` quando quiser) / **Ajustar o plano** (o usuário diz o que mudar; atualize o `plan.md
|
|
176
|
+
4. **Confirmar** antes de prosseguir, com a pergunta de transição (`eng.transitions-rules.md`): **"O que fazer com o plano?"** (depois da mensagem em markdown com o consolidado de links) → **Aprovar e implementar agora** (chame o `/eng.work {TASK_MANAGER_KEY}`, ou mostre o comando) / **Aprovar e seguir manualmente (como hoje)** (o comando termina e o usuário chama o `/eng.work` quando quiser) / **Ajustar o plano** (o usuário diz o que mudar; atualize o `plan.md`, some 1 em "Ajustes antes da aprovação" no cabeçalho, refaça o passe crítico no que mudou e mostre de novo). As duas aprovações valem como a aprovação explícita do plano
|
|
174
177
|
|
|
175
178
|
---
|
|
176
179
|
|
|
@@ -11,7 +11,7 @@ model_justification: Operações Git e preenchimento de templates são tarefas e
|
|
|
11
11
|
|
|
12
12
|
# Pull Request / Merge Request
|
|
13
13
|
|
|
14
|
-
Este comando
|
|
14
|
+
Este comando **gera o `pull-request.md` na sessão e, com a escolha de publicar da Fase 0 (regra de ouro), faz o push e abre o Merge Request**. A branch e os commits vêm do `eng.start` e do `eng.work`.
|
|
15
15
|
|
|
16
16
|
> 📋 **Rules**: `$IDE/rules-on-demand/engineering/eng.pr-rules.md` — **antes de começar, leia esse arquivo e siga-o**: ele não é carregado automaticamente no início da sessão.
|
|
17
17
|
> 📤 **Template**: `$IDE/templates/engineering/PR-template.md`
|
|
@@ -47,7 +47,7 @@ Este comando cria a **branch, commita as alterações e abre um Merge Request**.
|
|
|
47
47
|
| Skills recomendados | `/eng-global-docs-write` | Se houver necessidade de atualizar documentação junto do PR |
|
|
48
48
|
| Agentes recomendados (opcional) | `eng.qa.test-planner` (agente) | Se houver dúvidas sobre cobertura de testes ou mudanças significativas |
|
|
49
49
|
| Fase 4 › 4.4 Criar MR/PR pela CLI | `jarvis vcs create-merge` (CLI do Jarvis → `gh`/`glab`) | Só se a escolha da Fase 0 for publicar (4.3): abre o MR/PR pela cadeia de `eng.integrations-rules.md`, pelo host do `origin` |
|
|
50
|
-
| Fase 5 › 5.2 Link do MR | `/eng-global-task-comment` | Depois de o MR ser criado (só ao publicar, 4.3): um único comentário no card com o link do MR, seguindo o Passo 6 do skill `eng-global-pr` (freelance: registra no `task-log.md`) |
|
|
50
|
+
| Fase 5 › 5.2 Link do MR | `/eng-global-task-comment` | Depois de o MR ser criado (só ao publicar, 4.3): um único comentário no card com o link do MR, só com o Sim da pergunta (regra de ouro), seguindo o Passo 6 do skill `eng-global-pr` (freelance: registra no `task-log.md`) |
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
@@ -72,7 +72,7 @@ Ler `TASK_MANAGER` do `$IDE/ENV.md`. Seguir `$IDE/rules/engineering/eng.integrat
|
|
|
72
72
|
## Fase 0: O que fazer com o PR (`eng.transitions-rules.md`)
|
|
73
73
|
|
|
74
74
|
Pergunte com `AskUserQuestion`: **"O que fazer com o PR?"**
|
|
75
|
-
- **Revisar o texto e publicar (como hoje):** gera o `pull-request.md`, você aprova ou
|
|
75
|
+
- **Revisar o texto e publicar (como hoje):** gera o `pull-request.md`, você aprova, ajusta ou escolhe `[Só gerar os arquivos]` (4.2) e, com a aprovação, faz o push e abre o PR (4.4). A aprovação do texto é a confirmação da publicação.
|
|
76
76
|
- **Publicar sem revisar o texto:** gera o `pull-request.md` (4.1), faz o push e abre o PR (4.4) sem a revisão (4.2); você ajusta o texto direto no PR.
|
|
77
77
|
- **Só gerar os arquivos:** gera o `pull-request.md` (4.1), mostra para revisão (4.2) e não faz push nem abre o PR; você abre à mão. A Fase 7 gera o `daily.md` mesmo assim.
|
|
78
78
|
|
|
@@ -209,7 +209,7 @@ Use **MR** se GitLab, **PR** se GitHub.
|
|
|
209
209
|
|
|
210
210
|
### 4.1 Gerar `pull-request.md` na sessão
|
|
211
211
|
|
|
212
|
-
Escreva o título e a descrição do PR em **`$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/pull-request.md`** (primeira linha `# {título}`, depois o corpo). Se a sessão tiver o `gate-checklist.md` do `eng.pre-pr`, use o PR Brief e as decisões
|
|
212
|
+
Escreva o título e a descrição do PR em **`$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/pull-request.md`** (primeira linha `# {título}`, depois o corpo). Se a sessão tiver o `gate-checklist.md` do `eng.pre-pr`, use o PR Brief e as decisões da rodada mais recente (o `gate-checklist.md`; as rodadas anteriores, `gate-checklist-rodada-{N}.md`, são histórico). Os labels sugeridos do PR Brief **não** entram no corpo do PR nem na criação do MR (o `jarvis vcs create-merge` não põe label): eles aparecem na mensagem final (7.3), para a pessoa adicionar no host.
|
|
213
213
|
|
|
214
214
|
Template, nesta ordem (o primeiro que existir):
|
|
215
215
|
|
|
@@ -234,11 +234,11 @@ Preencher com a tarefa. Link do card:
|
|
|
234
234
|
|
|
235
235
|
### 4.2 Revisão do texto
|
|
236
236
|
|
|
237
|
-
Mostre o consolidado de links da sessão (regra 5 de `eng.transitions-rules.md`, com o `pull-request.md` novo), o título e o resumo das seções e pergunte com `AskUserQuestion` (depois da mensagem com o consolidado de links): `[Aprovar]` / `[Ajustar]
|
|
237
|
+
Mostre o consolidado de links da sessão (regra 5 de `eng.transitions-rules.md`, com o `pull-request.md` novo), o título e o resumo das seções e pergunte com `AskUserQuestion` (depois da mensagem com o consolidado de links): `[Aprovar]` / `[Ajustar]`, mais `[Só gerar os arquivos]` quando a Fase 0 foi "Revisar o texto e publicar" (essa opção troca a escolha da Fase 0 por "Só gerar os arquivos": nada é enviado). Ajuste até a aprovação ou até o `[Só gerar os arquivos]`. (Pulada com "Publicar sem revisar o texto" na Fase 0.)
|
|
238
238
|
|
|
239
239
|
### 4.3 Publicar ou não (sem pergunta nova)
|
|
240
240
|
|
|
241
|
-
A decisão
|
|
241
|
+
A decisão vem da Fase 0, que vale como a pergunta do push e do PR (exceção da regra de ouro, `eng.integrations-rules.md`), ou do `[Só gerar os arquivos]` da 4.2, que a troca por "Só gerar os arquivos"; não pergunte de novo. Aprovado o texto na 4.2 (ou escolhido o `[Só gerar os arquivos]` dela; com "Publicar sem revisar o texto", sem a revisão), siga a escolha:
|
|
242
242
|
|
|
243
243
|
- **Só gerar os arquivos:** nada é enviado. O `pull-request.md` fica na sessão para você publicar quando quiser (à mão ou rodando o `/eng.pr` de novo). Pule para a Fase 7, que gera o `daily.md` mesmo assim (para não passar batido quando você abrir o PR à mão), com a mensagem "PR não publicado".
|
|
244
244
|
- **Revisar o texto e publicar** ou **Publicar sem revisar o texto:** faça o push (Fase 3) e crie o MR/PR (4.4).
|
|
@@ -284,11 +284,11 @@ Pular a 5.1 se `TASK_MANAGER` estiver vazio (freelance); a 5.2 registra o link d
|
|
|
284
284
|
|
|
285
285
|
### 5.1 Mover Card
|
|
286
286
|
|
|
287
|
-
|
|
287
|
+
Oriente a pessoa a mover o card para a etapa equivalente a "em revisão" no board (o Jarvis não move card). Quem assumiu o card o move; não é preciso esperar o TECH LEAD ou o PM.
|
|
288
288
|
|
|
289
289
|
### 5.2 Link do MR no card
|
|
290
290
|
|
|
291
|
-
Siga o Passo 6 do skill `eng-global-pr`: um único comentário no card
|
|
291
|
+
Siga o Passo 6 do skill `eng-global-pr`: monte um único comentário, com o link e a branch, e publique-o no card com `/eng-global-task-comment`, que mostra o texto e pergunta (regra de ouro, `eng.integrations-rules.md`); sem o Sim, ele fica no `task-comment-*.md` da sessão. É o único comentário do `eng.pr` no card.
|
|
292
292
|
|
|
293
293
|
---
|
|
294
294
|
|
|
@@ -308,12 +308,13 @@ Para cada comentário:
|
|
|
308
308
|
|
|
309
309
|
### 6.3 Aplicar Correções
|
|
310
310
|
|
|
311
|
-
Se necessário:
|
|
311
|
+
Se necessário, faça as correções e o commit. O push das correções sai só depois da pergunta (regra de ouro, `eng.integrations-rules.md`): mostre o commit e pergunte com `AskUserQuestion` (**Sim, publicar** / **Não, manter só local**); sem o Sim, o commit fica local.
|
|
312
312
|
|
|
313
313
|
```bash
|
|
314
314
|
# Fazer mudanças
|
|
315
315
|
git add {arquivos_alterados}
|
|
316
316
|
git commit -m "fix: corrigir {problema} conforme code review"
|
|
317
|
+
# só com o Sim da pergunta acima
|
|
317
318
|
git push
|
|
318
319
|
```
|
|
319
320
|
|
|
@@ -357,7 +358,7 @@ fi
|
|
|
357
358
|
|
|
358
359
|
Regras em `$IDE/rules-on-demand/engineering/eng.pr-rules.md` (seção "daily.md"); template em `$IDE/templates/engineering/daily-template.md`. Arquivo: `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/daily.md`, **só na sessão, nunca publicado**.
|
|
359
360
|
|
|
360
|
-
1. **Gere sempre**, com ou sem PR publicado: quem abre o PR à mão ("Só gerar os arquivos" na Fase 0) também precisa do registro, e é aí que ele costuma passar batido. Se houver PR (o criado na 4.4 ou o PR já aberto da branch, via CLI/adapter do vendor, ex.: `gh pr view --json state,number,url`), preencha o campo `pr`; sem PR, deixe-o vazio e atualize quando o PR for aberto.
|
|
361
|
+
1. **Gere sempre**, com ou sem PR publicado: quem abre o PR à mão ("Só gerar os arquivos" na Fase 0 ou o `[Só gerar os arquivos]` da 4.2) também precisa do registro, e é aí que ele costuma passar batido. Se houver PR (o criado na 4.4 ou o PR já aberto da branch, via CLI/adapter do vendor, ex.: `gh pr view --json state,number,url`), preencha o campo `pr`; sem PR, deixe-o vazio e atualize quando o PR for aberto.
|
|
361
362
|
2. **Data:** pergunte com `AskUserQuestion`: **"Registrar o esforço com qual data?"** → `Hoje ({AAAA-MM-DD})` | `Outra data` (o usuário digita `AAAA-MM-DD`).
|
|
362
363
|
3. **Dias trabalhados** (só se o período entre a data do `.timestamp_start` e a data do registro tiver mais de um dia), uma pergunta por vez:
|
|
363
364
|
- se o período tiver sábado ou domingo: **"Você trabalhou em {datas de sábado/domingo}?"** (Sim / Não; com várias datas, pode responder por data);
|
|
@@ -374,7 +375,7 @@ Regras em `$IDE/rules-on-demand/engineering/eng.pr-rules.md` (seção "daily.md"
|
|
|
374
375
|
|
|
375
376
|
Atualize a seção da data escolhida. Se a data for nova, acrescente uma seção `## AAAA-MM-DD`.
|
|
376
377
|
6. **Gerar** a descrição detalhada **e** a linha de timesheet, juntas.
|
|
377
|
-
- **Fontes:** `architecture.md`, `plan.md`, `gate-checklist.md
|
|
378
|
+
- **Fontes:** `architecture.md`, `plan.md`, `gate-checklist.md` (a rodada mais recente), `pull-request.md`, `git log {BRANCH_BASE}..HEAD`, o PR/MR e o card.
|
|
378
379
|
- **Descrição:** um parágrafo narrativo (contexto técnico, trabalho realizado, decisões), mais o *post mortem* quando couber (problema e causa raiz, investigação, solução/direcionamento), com detalhe suficiente para embasar questionamentos futuros.
|
|
379
380
|
- **Timesheet:** **uma única linha** (`{TASK_KEY} — {resumo}`).
|
|
380
381
|
- Sem e-mails, tokens nem valores de variáveis.
|
|
@@ -383,12 +384,14 @@ Regras em `$IDE/rules-on-demand/engineering/eng.pr-rules.md` (seção "daily.md"
|
|
|
383
384
|
### 7.3 Mensagem Final
|
|
384
385
|
|
|
385
386
|
```
|
|
386
|
-
✅ MERGE REQUEST CRIADO COM SUCESSO!
|
|
387
|
+
✅ MERGE REQUEST CRIADO COM SUCESSO! ← com o PR publicado
|
|
388
|
+
📝 PR NÃO PUBLICADO ← com "Só gerar os arquivos", ou quando a 4.4 termina sem PR no host (saída 3 sem a CLI direta, ou saída 4 sem o PR criado); o pull-request.md fica pronto
|
|
387
389
|
|
|
388
390
|
📋 Resumo:
|
|
389
391
|
- Branch: {NOME_DA_BRANCH}
|
|
390
|
-
- MR: {LINK_DO_MR}
|
|
391
|
-
-
|
|
392
|
+
- MR: {LINK_DO_MR} ← sem PR publicado: "— (abra à mão com o pull-request.md)"
|
|
393
|
+
- Card: {URL do card, pela tabela da 4.1} ← só com board; com o PR aberto, mova-o para a etapa equivalente a "em revisão" (o Jarvis não move card)
|
|
394
|
+
- Labels: {labels sugeridos no PR Brief do gate-checklist.md, ex.: security} ← só se houver; sem o relatório, ou sem o campo nele, avalie `eng-security-rules.md` direto; a pessoa adiciona no host (o `jarvis vcs create-merge` não põe label)
|
|
392
395
|
|
|
393
396
|
📊 Validações:
|
|
394
397
|
- Testes: ✅ Passando
|
|
@@ -401,27 +404,31 @@ Regras em `$IDE/rules-on-demand/engineering/eng.pr-rules.md` (seção "daily.md"
|
|
|
401
404
|
- [context.md]({caminho relativo}) ({nota de estado})
|
|
402
405
|
- [architecture.md]({caminho relativo}) ({nota de estado})
|
|
403
406
|
- [plan.md]({caminho relativo}) ({nota de estado})
|
|
407
|
+
- [gate-checklist-rodada-{N}.md]({caminho relativo}) (rodada {N}) ← uma por rodada anterior do `eng.pre-pr`, em ordem crescente do número do nome, se houver
|
|
404
408
|
- [gate-checklist.md]({caminho relativo}) ({nota de estado}) ← se o `eng.pre-pr` rodou
|
|
405
409
|
- [pull-request.md]({caminho relativo}) (novo; {publicado como PR #N | gerado, PR não publicado})
|
|
406
410
|
- [daily.md]({caminho relativo}) (novo; {aprovado, com timesheet})
|
|
407
411
|
🕒 Timesheet: {LINHA_DE_TIMESHEET_APROVADA}
|
|
408
412
|
|
|
409
|
-
📌 Próximos passos:
|
|
413
|
+
📌 Próximos passos (com o PR publicado):
|
|
410
414
|
1. Aguardar revisão do time e processar os comentários do code review
|
|
411
415
|
2. Merge após aprovação
|
|
412
416
|
3. /eng.spec-consolidate {TASK_MANAGER_KEY} depois do merge → registrar no Central docs o que esta entrega implementou
|
|
417
|
+
📌 Próximos passos (sem o PR publicado):
|
|
418
|
+
1. Abrir o PR com o pull-request.md (à mão ou rodando o /eng.pr de novo)
|
|
419
|
+
2. /eng.spec-consolidate {TASK_MANAGER_KEY} depois do merge
|
|
413
420
|
|
|
414
421
|
🗂️ A sessão $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/ não é apagada (o /eng.spec-consolidate precisa dela).
|
|
415
422
|
Remova à mão quando quiser.
|
|
416
423
|
|
|
417
424
|
🔗 Links:
|
|
418
|
-
- MR: {LINK_DO_MR}
|
|
419
|
-
-
|
|
425
|
+
- MR: {LINK_DO_MR} ← só com o PR publicado
|
|
426
|
+
- Card: {URL do card, pela tabela da 4.1} ← só com board
|
|
420
427
|
```
|
|
421
428
|
|
|
422
429
|
### 7.4 Versões humanizadas (só com `ARTIFACT_STYLE=human-generated`)
|
|
423
430
|
|
|
424
|
-
Pergunte uma vez, com `AskUserQuestion` de várias perguntas em abas (`rules/artifact-style-rules.md`, regra 2), uma aba por documento da sessão que existir: `architecture.md`, `plan.md`, `gate-checklist.md` e `daily.md` (o `pull-request.md` não entra: já é público). Cada aba: **"Gerar a versão humanizada de {documento}?"** → **Não (como hoje)** / **Sim**. Com Sim, grave `{nome}.public.md` ao lado do original, seguindo o checklist da regra, e mostre o link. Com outro `ARTIFACT_STYLE`, pule esta etapa.
|
|
431
|
+
Pergunte uma vez, com `AskUserQuestion` de várias perguntas em abas (`rules/artifact-style-rules.md`, regra 2), uma aba por documento da sessão que existir: `architecture.md`, `plan.md`, `gate-checklist.md` e `daily.md` (o `pull-request.md` não entra: já é público; as rodadas anteriores `gate-checklist-rodada-{N}.md` não ganham versão humanizada, só o `gate-checklist.md` atual). Cada aba: **"Gerar a versão humanizada de {documento}?"** → **Não (como hoje)** / **Sim**. Com Sim, grave `{nome}.public.md` ao lado do original, seguindo o checklist da regra, e mostre o link. Com outro `ARTIFACT_STYLE`, pule esta etapa.
|
|
425
432
|
|
|
426
433
|
### 7.5 PR mergeado? (`eng.transitions-rules.md`)
|
|
427
434
|
|
|
@@ -446,7 +453,7 @@ Pergunte com `AskUserQuestion`: **"O PR já foi aprovado e mergeado?"**
|
|
|
446
453
|
- ✅ Usar mensagem de commit padronizada
|
|
447
454
|
- ✅ Criar branch no padrão `{TASK_MANAGER_KEY}-{titulo}`
|
|
448
455
|
- ✅ Preencher template do MR completamente
|
|
449
|
-
- ✅
|
|
456
|
+
- ✅ Orientar a pessoa a mover o card para a etapa equivalente a "em revisão" (o Jarvis não move card)
|
|
450
457
|
- ✅ Gerar o `pull-request.md` na sessão e só publicar com a escolha de publicar da Fase 0 (4.3)
|
|
451
458
|
- ✅ Com PR aberto, registrar o esforço no `daily.md` (7.2), com revisão conjunta da descrição e do timesheet
|
|
452
459
|
- ✅ **Nunca apagar a sessão:** o `/eng.spec-consolidate` precisa dela
|