jarvis-ai-framework 3.2.0 → 5.0.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/engineering/eng.docs-consolidator.agent.md +81 -0
- package/agents/engineering/qa/eng.qa.test-planner.md +7 -7
- package/agents/product/prod.discovery-interviewer.md +1 -1
- package/bin/README.md +14 -14
- package/bin/commands/docs-publish.js +61 -93
- package/bin/commands/docs-sync.js +31 -63
- package/bin/lib/cli/program.js +23 -25
- package/bin/lib/docs/fetch-file.js +29 -26
- package/bin/lib/docs/publish-file.js +98 -159
- package/bin/lib/docs/storage/build-index.js +108 -0
- package/bin/lib/docs/storage/filesystem.js +203 -0
- package/bin/lib/docs/storage/index.js +75 -0
- package/bin/lib/docs/validate-frontmatter.js +18 -4
- package/bin/lib/vcs/api.js +0 -125
- package/package.json +2 -2
- package/rules/AGENTS.md +12 -9
- package/rules/engineering/eng.docs-scraping-rules.md +4 -4
- package/rules/engineering/eng.integrations-rules.md +3 -2
- package/rules/engineering/rpa/eng.rpa-rules.md +1 -1
- package/rules/product/prod-rules.md +5 -6
- package/rules-on-demand/engineering/eng.pr-rules.md +9 -31
- package/rules-on-demand/engineering/eng.pre-pr-rules.md +12 -19
- package/rules-on-demand/product/prod.guided-rules.md +104 -0
- package/skills/eng-backend-arch-c4/SKILL.md +3 -3
- package/skills/eng-global-docs-write/SKILL.md +1 -1
- package/skills/eng-qa-planner/SKILL.md +5 -5
- package/skills/jarvis-docs-central/README.md +51 -275
- package/skills/jarvis-docs-central/SKILL.md +114 -301
- package/skills/jarvis-init/SKILL.md +81 -8
- package/templates/ENV-template.md +28 -7
- package/templates/engineering/ARD-template.md +40 -7
- package/templates/engineering/architecture-template.md +1 -0
- package/templates/engineering/central-delivery-template.md +65 -0
- package/templates/engineering/central-feature-template.md +86 -0
- package/templates/product/prod-breakdown-template.md +20 -2
- package/templates/product/prod-discovery-template.md +24 -1
- package/templates/product/prod-epic-template.md +32 -1
- package/templates/product/prod-frd-template.md +29 -2
- package/templates/product/prod-issue-template.md +36 -1
- package/templates/product/prod-prd-template.md +33 -2
- package/workflows/engineering/eng.build-tech-spec.md +4 -4
- package/workflows/engineering/eng.create-ard-from-code.md +15 -41
- package/workflows/engineering/eng.create-ard.md +22 -44
- package/workflows/engineering/eng.create-rfc.md +10 -36
- package/workflows/engineering/eng.pr.md +35 -66
- package/workflows/engineering/eng.pre-pr.md +52 -89
- package/workflows/engineering/eng.rpa.robot.md +9 -7
- package/workflows/engineering/eng.spec-consolidate.md +140 -0
- package/workflows/engineering/eng.start.md +23 -22
- package/workflows/engineering/eng.work.md +1 -1
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +1 -1
- package/workflows/engineering/qa/eng.qa-release-signoff.md +3 -3
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +2 -2
- package/workflows/product/prod.roadmap.preview.md +4 -1
- package/workflows/product/prod.spec.ard.md +9 -5
- package/workflows/product/prod.spec.breakdown.md +8 -4
- package/workflows/product/prod.spec.clarify.md +5 -1
- package/workflows/product/prod.spec.discovery.md +7 -3
- package/workflows/product/prod.spec.epic.md +12 -40
- package/workflows/product/prod.spec.frd.md +13 -39
- package/workflows/product/prod.spec.issue.md +5 -1
- package/workflows/product/prod.spec.md +3 -1
- package/workflows/product/prod.spec.prd.md +13 -40
- package/workflows/warm-up.md +10 -12
- package/bin/lib/docs/redis-cache.js +0 -49
- package/bin/lib/vcs/fetch-raw.js +0 -42
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Revisão de lacunas antes de abrir o PR/MR, com o relatório gate-checklist.md na sessão
|
|
3
3
|
auto_execution_mode: 3
|
|
4
4
|
env_file: "@/ENV.md"
|
|
5
5
|
rules_file: "$IDE/rules-on-demand/engineering/eng.pre-pr-rules.md"
|
|
@@ -10,7 +10,9 @@ model_justification: Revisão multi-agente requer coordenação, análise de có
|
|
|
10
10
|
|
|
11
11
|
# pre-pr
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Antes de abrir o PR/MR, este comando **revê a branch atrás de possíveis lacunas** (produto, código, testes, requisitos não funcionais, interface, segurança, documentação) e gera um relatório, o **`gate-checklist.md`**, na pasta da sessão. Ele é estruturado e explicativo, para você decidir o que ajustar e o que não ajustar.
|
|
14
|
+
|
|
15
|
+
> ⚠️ **Só revisa.** O `eng.pre-pr` não corrige código, não escreve testes, não atualiza documentação e não publica nada no Central docs. Ele aponta; quem decide e ajusta é você (ou o `eng.work`, se pedir).
|
|
14
16
|
|
|
15
17
|
> 📋 **Rules**: `$IDE/rules-on-demand/engineering/eng.pre-pr-rules.md` — **antes de começar, leia esse arquivo e siga-o**: ele não é carregado automaticamente no início da sessão.
|
|
16
18
|
|
|
@@ -18,7 +20,7 @@ Estamos nos aproximando de finalizar o trabalho nesta branch e nos preparar para
|
|
|
18
20
|
|
|
19
21
|
- **eng-qa-planner**: para avaliar cobertura de testes e identificar gaps antes do PR — se a especialização estiver registrada em `QA_SPECIALIZATIONS` (ver `$IDE/rules/engineering/eng.specializations-rules.md`). Sem ela, use a base `eng-qa` diretamente.
|
|
20
22
|
- Arquivo: `$IDE/skills/eng-qa-planner/SKILL.md`
|
|
21
|
-
- **eng-global-docs-write**: para
|
|
23
|
+
- **eng-global-docs-write**: para identificar documentação que ficou desatualizada com as mudanças da branch.
|
|
22
24
|
- Arquivo: `$IDE/skills/eng-global-docs-write/SKILL.md`
|
|
23
25
|
- **jarvis-docs-index**: para atualizar o índice de documentação quando necessário.
|
|
24
26
|
- Arquivo: `$IDE/skills/jarvis-docs-index/SKILL.md`
|
|
@@ -36,117 +38,78 @@ Estamos nos aproximando de finalizar o trabalho nesta branch e nos preparar para
|
|
|
36
38
|
| Passo | Skill | Condição |
|
|
37
39
|
|-------|-------|----------|
|
|
38
40
|
| Skills recomendados | `/eng-qa-planner` | Se a especialização estiver registrada em `QA_SPECIALIZATIONS`; sem ela, usar a base `/eng-qa` diretamente |
|
|
39
|
-
| Skills recomendados | `/eng-global-docs-write` | Para
|
|
41
|
+
| Skills recomendados | `/eng-global-docs-write` | Para identificar documentação desatualizada pelas mudanças da branch |
|
|
40
42
|
| Skills recomendados | `/jarvis-docs-index` | Se for necessário atualizar o índice de documentação |
|
|
41
43
|
| Skills recomendados | `/eng-platform` + `PLATFORM_SPECIALIZATIONS` | Se a feature tiver requisitos não-funcionais de latência, throughput ou escalabilidade |
|
|
42
44
|
| Skills recomendados | `/eng-backend` e `/eng-frontend` (via `eng.specializations-rules.md`) | Para validar código de backend (endpoints, autenticação, workers) ou de frontend (componentes, performance de UI, WCAG 2.1 AA); a regra também carrega as especializações registradas no ENV.md |
|
|
43
|
-
| Gate 0: Verificar Documentação Central | `/jarvis-docs-central` (via `jarvis docs publish --tipo ard`) | Se `CENTRAL_DOCS_REPO` estiver configurado, houver mudança arquitetural, o ARD estiver desatualizado ou novo e o usuário aceitar publicar |
|
|
44
45
|
| Gates › item 1 | `prod.pm-checker` (agente) | Sempre — verificar alinhamento da branch com os docs de produto e engenharia |
|
|
45
46
|
| Gates › item 2 | `eng.dev-code-reviewer` (agente) | Sempre — revisar o código antes de lançar |
|
|
46
47
|
| Gates › item 3 | `eng.qa.test-planner` (agente) | Sempre — identificar gaps de cobertura de testes na branch |
|
|
47
|
-
| Gates › item 4 | `eng.qa.testing-engineer` (agente) | Se o test-planner identificar gaps críticos (escrever os testes faltantes) |
|
|
48
48
|
| Gates › item 5 | `eng.qa.test-architect` (agente) | Se a feature tiver requisitos não-funcionais (no `architecture.md` ou explícitos na task) |
|
|
49
49
|
| Gates › item 6 | `/eng-qa` + `QA_SPECIALIZATIONS` | Sempre — frontend e/ou backend conforme o projeto |
|
|
50
50
|
| Gates › item 7 | `eng.frontend.agent` (agente) | Se a branch tiver mudanças de interface (componentes, estilos, estado) |
|
|
51
51
|
| Gates › item 8 | `eng.ux-designer.agent` (agente) | Se a branch introduzir nova feature de UI ou alterar fluxo de usuário |
|
|
52
|
-
| Gates › item 9 | `eng.docs-writer` (agente) | Sempre —
|
|
52
|
+
| Gates › item 9 | `eng.docs-writer` (agente) | Sempre — apontar documentação do projeto desatualizada (sem editar) |
|
|
53
53
|
| Gates › item 10 | Nenhuma — checklist inline | Se a branch tocar em auth, sessions, inputs de usuário, CORS, CSP, permissões ou adicionar endpoints públicos |
|
|
54
|
-
|
|
|
54
|
+
| Publicação do relatório | `/eng-global-task-comment` | Só se o usuário responder **Sim** no fim: o `gate-checklist.md` com as decisões vira um comentário na issue/card (freelance pula) |
|
|
55
55
|
|
|
56
56
|
## Regras de Execução
|
|
57
57
|
|
|
58
|
-
- **Escopo**: avalie apenas as mudanças desta branch em relação
|
|
59
|
-
- **
|
|
60
|
-
- **
|
|
61
|
-
- Gate 2 (revisão técnica)
|
|
62
|
-
- Gate 3 (testes/validações)
|
|
58
|
+
- **Escopo**: avalie apenas as mudanças desta branch em relação à **branch base** (`Branch base:` do `architecture.md`; sem ele, pergunte).
|
|
59
|
+
- **Só apontar**: cada agente/gate devolve lacunas, não correções. Nenhum arquivo do projeto é alterado por este comando.
|
|
60
|
+
- **Evidências**: cite o comando rodado e o resultado, ou `arquivo:linha`, para cada lacuna.
|
|
63
61
|
|
|
64
|
-
## Gates
|
|
62
|
+
## Gates (revisão)
|
|
65
63
|
|
|
66
|
-
|
|
64
|
+
1. Invoque o agente [prod.pm-checker]($IDE/agents/product/prod.pm-checker.md) para apontar desalinhamentos entre a branch e os documentos de produto e de engenharia (em `$PROD_DOCS`, `$ENG_DOCS` e no Central docs).
|
|
65
|
+
2. Invoque o agente [eng.dev-code-reviewer]($IDE/agents/engineering/eng.dev-code-reviewer.md) para apontar problemas de código (bugs, legibilidade, padrões do projeto).
|
|
66
|
+
3. Invoque o agente [eng.qa.test-planner]($IDE/agents/engineering/qa/eng.qa.test-planner.md) para apontar lacunas de cobertura de testes. Lacunas críticas: funções públicas sem teste, lógica de negócio descoberta, tratamento de erro não validado.
|
|
67
|
+
4. **Se a feature tiver requisitos não funcionais** (no `architecture.md` ou explícitos na task), invoque o agente [eng.qa.test-architect]($IDE/agents/engineering/qa/eng.qa.test-architect.md) para apontar o que falta validar (performance, segurança, quality gates).
|
|
68
|
+
5. Use a base [eng-qa]($IDE/skills/eng-qa/SKILL.md) (ou a especialização registrada em `QA_SPECIALIZATIONS`) para rodar os testes automatizados da branch e registrar o resultado.
|
|
69
|
+
6. **Se a branch tiver mudanças de interface**, invoque o agente [eng.frontend.agent]($IDE/agents/engineering/eng.frontend.agent.md) para apontar problemas de tipagem, tokens de design e acessibilidade (WCAG 2.1 AA), aplicando as especializações de frontend registradas.
|
|
70
|
+
7. **Se a branch introduzir nova feature de UI ou alterar fluxo de usuário**, invoque o agente [eng.ux-designer.agent]($IDE/agents/engineering/eng.ux-designer.agent.md) para apontar empty states, loading, mensagens de erro e consistência visual.
|
|
71
|
+
8. **Se a branch tocar em auth, sessions, inputs de usuário, CORS, CSP, permissões ou adicionar endpoints públicos**, aplique o checklist de segurança (padrões da base [eng-backend]($IDE/skills/eng-backend/SKILL.md) + `BACKEND_SPECIALIZATIONS`, [eng-frontend]($IDE/skills/eng-frontend/SKILL.md) + `FRONTEND_SPECIALIZATIONS` e, para infraestrutura, [eng-platform]($IDE/skills/eng-platform/SKILL.md) + `PLATFORM_SPECIALIZATIONS`): sanitização de inputs e queries parametrizadas, auth guards, headers e CORS, secrets no diff, `npm audit` sem HIGH/CRITICAL.
|
|
72
|
+
9. Invoque o agente [eng.docs-writer]($IDE/agents/engineering/eng.docs-writer.md) para apontar documentação do projeto que ficou desatualizada (sem editar).
|
|
67
73
|
|
|
68
|
-
|
|
74
|
+
## Relatório: `gate-checklist.md` (obrigatório)
|
|
69
75
|
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
git diff main...HEAD | grep -E "(class|interface|schema|migration|config)" || true
|
|
73
|
-
```
|
|
76
|
+
Grave em `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/gate-checklist.md`:
|
|
74
77
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
- Comparar com ARD do central-docs (se existir)
|
|
78
|
-
- Se desatualizado ou novo:
|
|
79
|
-
- Perguntar: "Publicar ARD atualizado no central-docs?"
|
|
80
|
-
- Se sim: executar `jarvis docs publish --file <path> --tipo ard --feature <slug>`
|
|
78
|
+
```markdown
|
|
79
|
+
# Gate checklist — {TASK_MANAGER_KEY}
|
|
81
80
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- Se não: sugerir criar RFC para decisões arquiteturais
|
|
81
|
+
> Branch: {branch} → {branch base} · Data: {AAAA-MM-DD}
|
|
82
|
+
> **Semáforo:** 🟢 pronto para PR | 🟡 pode abrir com notas | 🔴 há bloqueadores
|
|
85
83
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
- Não bloquear PR por docs desatualizados (apenas avisar)
|
|
84
|
+
## Resumo
|
|
85
|
+
{3 a 5 frases: o que a branch faz, quantas lacunas por severidade e o principal risco.}
|
|
89
86
|
|
|
90
|
-
|
|
87
|
+
## Lacunas
|
|
88
|
+
|
|
89
|
+
### {Área: Produto e documentação | Código | Testes | Não funcionais | Interface e UX | Segurança | Documentação do projeto}
|
|
90
|
+
|
|
91
|
+
| # | Lacuna | Onde | Por que importa | Sugestão | Severidade | Decisão |
|
|
92
|
+
|---|---|---|---|---|---|---|
|
|
93
|
+
| 1 | {o que falta ou está errado} | `{arquivo:linha}` | {impacto, em linguagem simples} | {como resolver} | 🔴 Bloqueador / 🟡 Importante / ⚪ Menor | {Ajustar \| Não ajustar: motivo} |
|
|
91
94
|
|
|
92
|
-
|
|
93
|
-
2. Invoque o agente [eng.dev-code-reviewer]($IDE/agents/engineering/eng.dev-code-reviewer.md) para revisar o código e assegurar que está bom para lançar.
|
|
94
|
-
3. Invoque o agente [eng.qa.test-planner]($IDE/agents/engineering/qa/eng.qa.test-planner.md) para identificar gaps de cobertura de testes na branch.
|
|
95
|
-
4. **Se o test-planner identificar gaps críticos**, invoque o agente [eng.qa.testing-engineer]($IDE/agents/engineering/qa/eng.qa.testing-engineer.md) para escrever os testes faltantes antes de prosseguir.
|
|
96
|
-
- Gaps críticos: funções públicas sem teste, lógica de negócio descoberta, tratamento de erros não validado
|
|
97
|
-
- Gaps aceitáveis (com justificativa): código de infraestrutura, integrações já cobertas por e2e
|
|
98
|
-
5. **Se a feature tiver requisitos não-funcionais** (definidos no `architecture.md` ou explícitos na task), invoque o agente [eng.qa.test-architect]($IDE/agents/engineering/qa/eng.qa.test-architect.md) para validar:
|
|
99
|
-
- Testes de performance executados e dentro dos thresholds
|
|
100
|
-
- Testes de segurança passando (RBAC, injection, etc.)
|
|
101
|
-
- Quality gates configurados corretamente
|
|
102
|
-
6. Use a base [eng-qa]($IDE/skills/eng-qa/SKILL.md) (ou a especialização registrada em `QA_SPECIALIZATIONS`, se houver uma) para validar testes automatizados nas mudanças da branch, frontend e/ou backend conforme o projeto.
|
|
103
|
-
7. **Se a branch tiver mudanças de interface** (componentes, estilos, estado), invoque o agente [eng.frontend.agent]($IDE/agents/engineering/eng.frontend.agent.md) para validar:
|
|
104
|
-
- Tipagem forte (quando a linguagem tem), tokens de design do projeto usados, acessibilidade WCAG 2.1 AA
|
|
105
|
-
- Aplicar as exigências das especializações de frontend registradas (ver `eng.specializations-rules.md`)
|
|
106
|
-
8. **Se a branch introduzir nova feature de UI ou alterar fluxo de usuário**, invoque o agente [eng.ux-designer.agent]($IDE/agents/engineering/eng.ux-designer.agent.md) para verificar:
|
|
107
|
-
- Empty states, loading states e mensagens de erro em linguagem humana
|
|
108
|
-
- Consistência com padrões visuais existentes no produto
|
|
109
|
-
9. Invoque o agente [eng.docs-writer]($IDE/agents/engineering/eng.docs-writer.md) para atualizar a documentação do projeto.
|
|
110
|
-
10. **Se a branch tocar em auth, sessions, inputs de usuário, CORS, CSP, permissões ou adicionar endpoints públicos**, aplicar o gate de segurança (os padrões de segurança da base [eng-backend]($IDE/skills/eng-backend/SKILL.md) + `BACKEND_SPECIALIZATIONS` / [eng-frontend]($IDE/skills/eng-frontend/SKILL.md) + `FRONTEND_SPECIALIZATIONS` e, para infraestrutura, do [eng-platform]($IDE/skills/eng-platform/SKILL.md) + `PLATFORM_SPECIALIZATIONS` servem de referência):
|
|
111
|
-
- Revisar sanitização de inputs e queries parametrizadas
|
|
112
|
-
- Verificar auth guards em endpoints novos
|
|
113
|
-
- Validar headers de segurança e configurações de CORS
|
|
114
|
-
- Escanear secrets no diff (`grep` por patterns de tokens/senhas)
|
|
115
|
-
- Verificar `npm audit` sem vulnerabilidades HIGH/CRITICAL
|
|
116
|
-
- Se achados CRITICAL: status **Red** (bloqueador)
|
|
117
|
-
|
|
118
|
-
Você também precisará lidar com todo o feedback que esses agentes fornecerem e fazer mudanças e correções conforme necessário.
|
|
119
|
-
|
|
120
|
-
## Checklist final (obrigatório)
|
|
121
|
-
|
|
122
|
-
- [ ] Não existem bloqueadores abertos (segurança/bugs críticos).
|
|
123
|
-
- [ ] Testes e validações relevantes foram executados e passaram (com evidências automatizadas ou manuais).
|
|
124
|
-
- [ ] Cobertura de testes para mudanças da branch foi avaliada (e gaps críticos tratados ou justificados).
|
|
125
|
-
- [ ] Documentação foi revisada/atualizada (listar arquivos alterados) ou foi explicitado por que não foi necessário.
|
|
126
|
-
- [ ] Riscos conhecidos e trade-offs foram registrados (e follow-ups criados quando aplicável).
|
|
127
|
-
|
|
128
|
-
## Saída final (obrigatória)
|
|
129
|
-
|
|
130
|
-
### 1) Status Pre-PR (Semáforo)
|
|
131
|
-
|
|
132
|
-
- Green: pronto para PR
|
|
133
|
-
- Yellow: pode abrir PR com notas e follow-ups
|
|
134
|
-
- Red: não pode abrir PR (listar bloqueadores)
|
|
135
|
-
|
|
136
|
-
### 2) Bloqueadores e pendências
|
|
137
|
-
|
|
138
|
-
Se o status for **RED** (bloqueado), comente o bloqueio e o motivo no card com `/eng-global-task-comment` (freelance pula). GREEN e YELLOW não geram comentário.
|
|
139
|
-
|
|
140
|
-
- Bloqueadores:
|
|
141
|
-
- Pendências aceitas (com justificativa):
|
|
142
|
-
- Follow-ups (links/IDs):
|
|
143
|
-
|
|
144
|
-
### 3) PR Brief (para colar no PR)
|
|
95
|
+
(uma tabela por área; área sem lacuna: "Nenhuma lacuna encontrada.")
|
|
145
96
|
|
|
97
|
+
## Evidências
|
|
98
|
+
{Comandos rodados (testes, lint, build, audit) e resultados.}
|
|
99
|
+
|
|
100
|
+
## PR Brief
|
|
146
101
|
- Resumo do que mudou:
|
|
147
102
|
- Como testar:
|
|
148
|
-
- Evidências de testes/validações:
|
|
149
|
-
- Docs atualizadas:
|
|
150
103
|
- Riscos / trade-offs:
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
A coluna **Decisão** nasce vazia: quem preenche é o usuário.
|
|
107
|
+
|
|
108
|
+
## Fechamento
|
|
151
109
|
|
|
152
|
-
|
|
110
|
+
1. Mostre o semáforo, o resumo e a lista de lacunas por severidade, com o caminho do `gate-checklist.md`.
|
|
111
|
+
2. Peça as decisões: para cada lacuna 🔴 e 🟡, "Ajustar" ou "Não ajustar" (com o motivo). Use `AskUserQuestion` por lacuna quando houver poucas; com muitas, deixe a pessoa responder em texto ou editar o arquivo. Grave as decisões na coluna **Decisão**.
|
|
112
|
+
3. Pergunte com `AskUserQuestion` (**Sim / Não**, sempre, nunca publicar sem a resposta): **"Publicar o gate-checklist.md (com as decisões) como comentário na issue/card?"**
|
|
113
|
+
- **Sim** (e `TASK_MANAGER` preenchido): `/eng-global-task-comment {TASK_MANAGER_KEY}` com o conteúdo do arquivo.
|
|
114
|
+
- **Não**, ou modo freelance: fica só na sessão.
|
|
115
|
+
4. Próximo passo: ajustar o que foi marcado "Ajustar" (à mão ou com o `/eng.work`) e rodar o `/eng.pr`, que usa o PR Brief deste relatório.
|
|
@@ -47,7 +47,7 @@ Formato esperado: `new {TASK_MANAGER_KEY}` ou `update {TASK_MANAGER_KEY}`
|
|
|
47
47
|
3. **[se `new`]** Qual o tag do serviço? (ex: `consulta-orgao`, `extrator-dados`) — será usado como `{robot-tag}`
|
|
48
48
|
4. **[se `update`]** Qual robô será mantido? Listar opções:
|
|
49
49
|
```bash
|
|
50
|
-
ls
|
|
50
|
+
ls $ENG_DOCS/robots/
|
|
51
51
|
```
|
|
52
52
|
Apresentar a lista e pedir que o dev escolha.
|
|
53
53
|
|
|
@@ -75,14 +75,16 @@ grep "^ENABLE_CDD=" $IDE/ENV.md
|
|
|
75
75
|
|
|
76
76
|
### 0.3 Criar Branch e Sessão
|
|
77
77
|
|
|
78
|
+
Pergunte a branch base com `AskUserQuestion` (**"De qual branch partir?"**: `main`, `dev`, `{branch atual}` se for outra, ou Outro) e grave `Branch base:` no `architecture.md` da sessão; o `eng.pr` abre o PR para ela.
|
|
79
|
+
|
|
78
80
|
```bash
|
|
79
|
-
git checkout
|
|
81
|
+
git checkout {BRANCH_BASE} && git pull --ff-only origin {BRANCH_BASE}
|
|
80
82
|
git checkout -b {TASK_MANAGER_KEY}-{robot-tag}
|
|
81
83
|
mkdir -p $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
|
|
82
84
|
echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" > $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/.timestamp_start
|
|
83
85
|
```
|
|
84
86
|
|
|
85
|
-
>
|
|
87
|
+
> A base é sempre perguntada: não presuma `dev` nem `main`. A branch de trabalho nunca é a própria base.
|
|
86
88
|
|
|
87
89
|
---
|
|
88
90
|
|
|
@@ -202,7 +204,7 @@ Garantir durante a implementação:
|
|
|
202
204
|
|
|
203
205
|
### Fase N4 — Documentação
|
|
204
206
|
|
|
205
|
-
Criar
|
|
207
|
+
Criar `$ENG_DOCS/robots/{robot-tag}-robot.md`.
|
|
206
208
|
|
|
207
209
|
Seguir `$IDE/rules/engineering/eng.docs-scraping-rules.md`:
|
|
208
210
|
|
|
@@ -237,7 +239,7 @@ No corpo do PR incluir: link para `{robot-tag}-robot.md`, variáveis de ambiente
|
|
|
237
239
|
Ler o documento existente do robô:
|
|
238
240
|
|
|
239
241
|
```bash
|
|
240
|
-
cat
|
|
242
|
+
cat $ENG_DOCS/robots/{robot-tag}-robot.md
|
|
241
243
|
```
|
|
242
244
|
|
|
243
245
|
Extrair e apresentar ao usuário:
|
|
@@ -302,7 +304,7 @@ Para bug fixes estruturais (seletor quebrado, campo mudou de posição):
|
|
|
302
304
|
|
|
303
305
|
### Fase U4 — Atualizar Documentação
|
|
304
306
|
|
|
305
|
-
Atualizar
|
|
307
|
+
Atualizar `$ENG_DOCS/robots/{robot-tag}-robot.md`:
|
|
306
308
|
|
|
307
309
|
- **Sempre**: Histórico de Bugs (toda correção estrutural entra aqui com referência ao card)
|
|
308
310
|
- **Se campos mudaram**: atualizar Fontes de Dados e Campos Extraídos
|
|
@@ -329,7 +331,7 @@ Chamar `/jarvis-docs-index` após atualizar.
|
|
|
329
331
|
Modo : {new | update}
|
|
330
332
|
Robô : {robot-tag}-robot
|
|
331
333
|
Classe : {RobotTag}Robot
|
|
332
|
-
Docs :
|
|
334
|
+
Docs : $ENG_DOCS/robots/{robot-tag}-robot.md
|
|
333
335
|
Branch : {TASK_MANAGER_KEY}-{robot-tag}
|
|
334
336
|
PR : (link do MR criado pelo eng.pr)
|
|
335
337
|
─────────────────────────────────────────────────────────────
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Consolida o que a entrega implementou no Central docs (documento da funcionalidade + registro da entrega)
|
|
3
|
+
auto_execution_mode: 3
|
|
4
|
+
agent: "$IDE/agents/engineering/eng.docs-consolidator.agent.md"
|
|
5
|
+
template_file: "$IDE/templates/engineering/central-feature-template.md"
|
|
6
|
+
recommended_model: opus
|
|
7
|
+
model_tier: high
|
|
8
|
+
model_justification: Consolidar exige ler e cruzar muitas fontes (documentos, decisões, diff e commits) e escrever um registro completo e sem ambiguidade
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Consolidar no Central docs
|
|
12
|
+
|
|
13
|
+
Este comando registra no **Central docs** o que a entrega **de fato implementou**. Ele roda **logo depois do PR aberto** (`/eng.pr`) e gera dois documentos completos e autossuficientes:
|
|
14
|
+
- o **documento da funcionalidade** (`feature-{slug}.md`), com o estado atual, novo ou atualizado;
|
|
15
|
+
- o **registro da entrega** (`delivery-{AAAA-MM-DD}-{task_key}.md`), com o PR, os commits e os autores.
|
|
16
|
+
|
|
17
|
+
Os documentos de trabalho (PRD, FRD, ARD, RFC…) continuam em `docs/jarvis/` e **não** vão para o Central docs: lá fica só o que foi implementado.
|
|
18
|
+
|
|
19
|
+
> 🤖 **Modelo**: se a IDE informar o modelo desta sessão e ele for de outra família que o `recommended_model` do documento (ou do template, se for novo), avise em uma linha e siga, sem bloquear e sem repetir. Sem essa informação, não avise.
|
|
20
|
+
> 📤 **Templates**: `$IDE/templates/engineering/central-feature-template.md` e `$IDE/templates/engineering/central-delivery-template.md`
|
|
21
|
+
|
|
22
|
+
### Skills invocados durante o workflow
|
|
23
|
+
|
|
24
|
+
| Passo | Skill | Condição |
|
|
25
|
+
|-------|-------|----------|
|
|
26
|
+
| Cabeçalho (agente) | `eng.docs-consolidator.agent` (agente) | Sempre: escreve a consolidação na sessão |
|
|
27
|
+
| Passo 3 (funcionalidade) e Passo 6 (publicação) | `/jarvis-docs-central` (via `jarvis docs fetch` / `jarvis docs publish`) | Sempre: lê o índice e o documento atual e publica depois do Sim |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Entrada
|
|
32
|
+
|
|
33
|
+
<arguments>
|
|
34
|
+
#$ARGUMENTS
|
|
35
|
+
</arguments>
|
|
36
|
+
|
|
37
|
+
- `{TASK_MANAGER_KEY}` (obrigatório no modo normal): a mesma chave do `eng.start`/`eng.pr`. Sem ela, pergunte e aguarde (`eng.integrations-rules.md`; no modo freelance, o número de controle).
|
|
38
|
+
- `{slug}` (opcional): slug da funcionalidade, se você já souber qual atualizar.
|
|
39
|
+
- `--inicial`: carga inicial a partir dos documentos de trabalho que já existem (chamado pelo `/jarvis-init`). Não precisa de chave nem de PR.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Passo 0: Pré-condições
|
|
44
|
+
|
|
45
|
+
1. **Central docs ligado:** `CENTRAL_DOCS_STORAGE` preenchido no `$IDE/ENV.md`. Se estiver vazio, pare: "O Central docs está desligado. Ligue-o no `/jarvis-init` (Passo 5.2) para registrar o que foi implementado."
|
|
46
|
+
2. **Modo normal:** a sessão `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/` existe com o `architecture.md`. Sem ela, avise que a consolidação perde as decisões e pergunte se segue só com o diff e os documentos de trabalho.
|
|
47
|
+
3. **Branch base:** o `Branch base:` do `architecture.md`. Sem ele, pergunte com `AskUserQuestion` (`main`, `dev` ou Outro).
|
|
48
|
+
|
|
49
|
+
## Passo 1: Coleta (modo normal)
|
|
50
|
+
|
|
51
|
+
O agente `eng.docs-consolidator` lê **todas** as fontes, na ordem do agente:
|
|
52
|
+
1. `architecture.md` e `plan.md` da sessão.
|
|
53
|
+
2. Documentos de trabalho ligados à tarefa em `$PROD_DOCS` e `$ENG_DOCS` (PRD, FRD, épicos, histórias, ARD, RFC, swagger, QA).
|
|
54
|
+
3. Commits e arquivos:
|
|
55
|
+
```bash
|
|
56
|
+
git log {base}..HEAD --format='%h|%an|%ad|%s' --date=short
|
|
57
|
+
git diff --stat {base}...HEAD
|
|
58
|
+
```
|
|
59
|
+
4. **PR/MR:** número e URL (`pull-request.md` da sessão, `gh pr view`/equivalente do vendor, ou pergunte).
|
|
60
|
+
5. **Card:** URL no padrão do `TASK_MANAGER` (`eng.integrations-rules.md`); no modo freelance, só o número de controle.
|
|
61
|
+
6. `gate-checklist.md` e `pull-request.md` da sessão, se existirem.
|
|
62
|
+
|
|
63
|
+
## Passo 2: Coleta (modo `--inicial`)
|
|
64
|
+
|
|
65
|
+
1. Liste os PRD, FRD, ARD e RFC em `$PROD_DOCS` e `$ENG_DOCS/{ARD,RFC}` (e nos caminhos antigos, se o `/jarvis-init` não os moveu).
|
|
66
|
+
2. Sugira o agrupamento por funcionalidade (um PRD/FRD e os ARD/RFC ligados a ele) e confirme com `AskUserQuestion` (aceitar / ajustar).
|
|
67
|
+
3. Para cada grupo, o agente lê os documentos e o código relacionado (só leitura), para descrever o que **está implementado**. O que estiver só especificado vai para "Fora do escopo", e o status reflete isso.
|
|
68
|
+
|
|
69
|
+
## Passo 3: Qual funcionalidade
|
|
70
|
+
|
|
71
|
+
1. `jarvis docs fetch {SQUAD}/index.md` e liste as funcionalidades existentes do produto (`WORKSPACE`).
|
|
72
|
+
2. Sugira uma, pelo PRD/FRD de origem, pelo título do `architecture.md` e pelos arquivos do diff, e um slug novo bem nomeado (kebab-case, pelo nome que o negócio usa).
|
|
73
|
+
3. Pergunte com `AskUserQuestion`:
|
|
74
|
+
- "Atualizar `feature-{x}`" (sugerida);
|
|
75
|
+
- "Criar `feature-{slug sugerido}`";
|
|
76
|
+
- Outro (digitar).
|
|
77
|
+
|
|
78
|
+
Se o slug veio como argumento, confirme com a mesma pergunta.
|
|
79
|
+
4. Na atualização, `jarvis docs fetch {SQUAD}/product/{produto}/feature-{x}.md` é o ponto de partida.
|
|
80
|
+
|
|
81
|
+
## Passo 4: Escrever na sessão
|
|
82
|
+
|
|
83
|
+
O agente gera em `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/consolidation/` (no `--inicial`, em `$SESSIONS_DIR/eng/inicial-{AAAA-MM-DD}/consolidation/`):
|
|
84
|
+
- `feature-{slug}.md`: todas as 11 seções do template, com o estado atual e a linha nova no Histórico de entregas;
|
|
85
|
+
- `delivery-{AAAA-MM-DD}-{task_key}.md`: as 7 seções (não existe no `--inicial`).
|
|
86
|
+
|
|
87
|
+
O frontmatter segue o template, com os comentários `#`. `product` = `WORKSPACE` (ou o produto confirmado).
|
|
88
|
+
|
|
89
|
+
## Passo 5: Revisão
|
|
90
|
+
|
|
91
|
+
Mostre o resumo dos dois arquivos (seções, tamanho, referências) e o caminho deles. Pergunte com `AskUserQuestion`:
|
|
92
|
+
- `[Aprovar]`
|
|
93
|
+
- `[Ajustar]`: diga o que mudar; o agente ajusta e você revisa de novo.
|
|
94
|
+
|
|
95
|
+
Confira antes de aprovar:
|
|
96
|
+
- [ ] card e PR/MR com URL;
|
|
97
|
+
- [ ] commits com autor (sem e-mail);
|
|
98
|
+
- [ ] nenhum segredo nem valor de variável;
|
|
99
|
+
- [ ] nenhuma frase depende de um documento de origem.
|
|
100
|
+
|
|
101
|
+
## Passo 6: Publicar
|
|
102
|
+
|
|
103
|
+
Pergunte com `AskUserQuestion` (**Sim / Não**): **"Publicar no Central docs?"**
|
|
104
|
+
|
|
105
|
+
- **Sim:**
|
|
106
|
+
```bash
|
|
107
|
+
jarvis docs publish --file .../consolidation/delivery-{AAAA-MM-DD}-{task_key}.md --tipo delivery
|
|
108
|
+
jarvis docs publish --file .../consolidation/feature-{slug}.md --tipo feature
|
|
109
|
+
```
|
|
110
|
+
(no `--inicial`, só os `feature-*`). Com o Central docs num repositório git, cada publicação abre um PR no repositório de documentação: informe as URLs.
|
|
111
|
+
- **Não:** os arquivos ficam na sessão. Para publicar depois, use os mesmos comandos.
|
|
112
|
+
|
|
113
|
+
## Passo 7: Mensagem final
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
✅ Consolidação {publicada | salva na sessão}
|
|
117
|
+
|
|
118
|
+
📄 Funcionalidade: {SQUAD}/product/{produto}/feature-{slug}.md
|
|
119
|
+
🧾 Entrega: {SQUAD}/engineering/{produto}/delivery-{AAAA-MM-DD}-{task_key}.md
|
|
120
|
+
🔗 PR/MR: {URL} · Card: {URL ou número}
|
|
121
|
+
|
|
122
|
+
🧹 A sessão $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/ não é apagada automaticamente: remova à mão quando quiser.
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Regras
|
|
128
|
+
|
|
129
|
+
### ⛔ Nunca
|
|
130
|
+
- Publicar sem o **Sim** do Passo 6
|
|
131
|
+
- Publicar PRD, FRD, ARD ou RFC no Central docs (só `feature` e `delivery`)
|
|
132
|
+
- Incluir e-mails, tokens, senhas, valores de variáveis ou dados pessoais de clientes
|
|
133
|
+
- Inventar informação: sem fonte, pergunte ou registre "não informado"
|
|
134
|
+
- Alterar o código, os documentos de trabalho ou a sessão fora de `consolidation/`
|
|
135
|
+
|
|
136
|
+
### ✅ Sempre
|
|
137
|
+
- Ler todas as fontes antes de escrever
|
|
138
|
+
- Citar o card e o PR/MR com URL (ou o número de controle no freelance)
|
|
139
|
+
- Descrever o implementado, não o pretendido
|
|
140
|
+
- Português do Brasil
|
|
@@ -27,7 +27,7 @@ Este comando inicia o **planejamento** de uma nova feature.
|
|
|
27
27
|
| Cabeçalho (agente) | `eng.agent` (agente) | Sempre — identidade do workflow |
|
|
28
28
|
| Fase 0.1: Análise de Contexto (CDD) | `/jarvis-context-detect` | Se `ENABLE_CDD=true` no ENV.md (execução obrigatória antes da Fase 1); `ENABLE_CDD=false` pula |
|
|
29
29
|
| Fase 0.5: Advisor (opcional) | `eng.advisor.agent` (agente) | Se o usuário escolher usar o Advisor no alerta e o `architecture.md` tiver questões em aberto (aberto só na primeira questão) |
|
|
30
|
-
| Fase 2.2: Buscar Documentação Central | `/jarvis-docs-central` | Se `
|
|
30
|
+
| Fase 2.2: Buscar Documentação Central | `/jarvis-docs-central` | Se `CENTRAL_DOCS_STORAGE` estiver configurado no ENV.md (buscar PRD, ARD e RFCs relacionados) |
|
|
31
31
|
| Fase 3.4: Estratégia de Testes | `eng.qa.test-architect` (agente) | Se a feature tiver requisitos de performance ou segurança (APIs públicas, dados sensíveis, alta carga ou requisitos não-funcionais explícitos) |
|
|
32
32
|
| Fase 3.4: Estratégia de Testes | `/eng-platform` | Se a feature tiver requisitos de performance (latência, throughput, escalabilidade) |
|
|
33
33
|
| Fase 3.4: Estratégia de Testes | `/eng-ai` | Se a feature envolver IA (LLM, RAG, agentes, chatbots, embeddings) |
|
|
@@ -135,14 +135,16 @@ Registre a escolha no cabeçalho do `architecture.md` (`Advisor:`). O agente `en
|
|
|
135
135
|
|
|
136
136
|
## Fase 1: Preparação do Ambiente
|
|
137
137
|
|
|
138
|
-
### 1.1 Criar Branch de Feature
|
|
138
|
+
### 1.1 Criar Branch de Feature
|
|
139
139
|
|
|
140
|
-
|
|
140
|
+
**Pergunte sempre a branch base** com `AskUserQuestion` (sem a ferramenta, use a tabela de `prod-rules.md`): **"De qual branch partir?"** com as opções `main`, `dev` e `{branch atual}` (só se a branch atual for outra), mais "Outro" para digitar. Não presuma `dev` nem `main`: cada projeto tem o seu fluxo.
|
|
141
|
+
|
|
142
|
+
Grave a escolha no cabeçalho do `architecture.md` (`Branch base:`). O `eng.pr` abre o PR para essa mesma branch.
|
|
141
143
|
|
|
142
144
|
```bash
|
|
143
|
-
# Garantir que
|
|
144
|
-
git checkout
|
|
145
|
-
git pull origin
|
|
145
|
+
# Garantir que a base está atualizada
|
|
146
|
+
git checkout {BRANCH_BASE}
|
|
147
|
+
git pull --ff-only origin {BRANCH_BASE}
|
|
146
148
|
|
|
147
149
|
# Criar branch no padrão {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
148
150
|
git checkout -b {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
@@ -175,9 +177,9 @@ git branch --show-current
|
|
|
175
177
|
| `TASK-123` | "Implementar autenticação JWT" | `TASK-123-implementar-autenticacao-jwt` |
|
|
176
178
|
| `BUG-789` | "Fix null pointer em login" | `BUG-789-fix-null-pointer-em-login` |
|
|
177
179
|
|
|
178
|
-
> ⚠️ Se o usuário já estiver em uma branch com o padrão correto do TASK_MANAGER_KEY, use-a sem criar nova.
|
|
179
|
-
> ⚠️
|
|
180
|
-
> ✅ A branch criada aqui será usada em todos os workflows subsequentes (work, pre-pr, pr).
|
|
180
|
+
> ⚠️ Se o usuário já estiver em uma branch com o padrão correto do TASK_MANAGER_KEY, use-a sem criar nova (e ainda assim pergunte a base, para o `eng.pr`).
|
|
181
|
+
> ⚠️ Se o projeto tiver convenção própria de nome de branch (ex.: `CONTRIBUTING.md`), siga a do projeto.
|
|
182
|
+
> ✅ A branch criada aqui será usada em todos os workflows subsequentes (work, pre-pr, pr). Ela é sempre uma branch de trabalho: nunca implemente direto na base.
|
|
181
183
|
|
|
182
184
|
### 1.2 Criar Diretório de Sessão
|
|
183
185
|
|
|
@@ -215,22 +217,22 @@ Solicite ao usuário os dados de entrada:
|
|
|
215
217
|
|
|
216
218
|
### 2.2 Buscar Documentação Central (condicional)
|
|
217
219
|
|
|
218
|
-
Se `
|
|
220
|
+
Se `CENTRAL_DOCS_STORAGE` estiver configurado no ENV.md, buscar docs relacionados:
|
|
219
221
|
|
|
220
222
|
**Passo 1:** Identificar docs relevantes com base no Jira ID e tags do card
|
|
221
223
|
|
|
222
|
-
**Passo 2:** Buscar
|
|
223
|
-
-
|
|
224
|
-
-
|
|
225
|
-
|
|
226
|
-
-
|
|
224
|
+
**Passo 2:** Buscar via skill jarvis-docs-central **o que já foi implementado**:
|
|
225
|
+
- funcionalidades relacionadas (`feature-*`): comportamento atual, decisões, onde está no código;
|
|
226
|
+
- entregas recentes dessas funcionalidades (`delivery-*`), se ajudarem.
|
|
227
|
+
|
|
228
|
+
Os documentos de trabalho da tarefa (PRD, FRD, ARD, RFC) ficam em `$PROD_DOCS`/`$ENG_DOCS` (`docs/jarvis/`): leia-os de lá.
|
|
227
229
|
|
|
228
230
|
**Passo 3:** Incorporar ao contexto antes de prosseguir para análise
|
|
229
231
|
|
|
230
232
|
**Comportamento:**
|
|
231
233
|
- Se docs encontrados → carregar e exibir resumo
|
|
232
|
-
- Se não encontrados →
|
|
233
|
-
- Se `
|
|
234
|
+
- Se não encontrados → seguir com os documentos de trabalho em `docs/jarvis/` e o card
|
|
235
|
+
- Se `CENTRAL_DOCS_STORAGE` vazio → pular silenciosamente
|
|
234
236
|
|
|
235
237
|
### 2.3 Análise do Requisito
|
|
236
238
|
|
|
@@ -426,16 +428,15 @@ Quando o usuário aprovar, informe:
|
|
|
426
428
|
```
|
|
427
429
|
✅ Architecture.md criado com sucesso!
|
|
428
430
|
|
|
429
|
-
🌿 Branch: {
|
|
431
|
+
🌿 Branch: {NOME_DA_BRANCH} (criada a partir de {BRANCH_BASE})
|
|
430
432
|
📄 Arquivo: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/architecture.md
|
|
431
|
-
🌿 Branch: {NOME_DA_BRANCH}
|
|
432
433
|
|
|
433
434
|
🔄 Board: mova o card para "Em progresso" no seu board de tarefas.
|
|
434
435
|
|
|
435
436
|
📌 Próximos passos:
|
|
436
437
|
1. Execute `eng.plan` para criar o plano detalhado de execução
|
|
437
438
|
2. Execute `eng.work` para implementar (commita automaticamente ao final de cada fase)
|
|
438
|
-
3. Execute `eng.pr` para abrir o MR para
|
|
439
|
+
3. Execute `eng.pr` para abrir o MR para {BRANCH_BASE}
|
|
439
440
|
|
|
440
441
|
🚫 Lembre-se: Este workflow NÃO executa código.
|
|
441
442
|
Para implementar, use os comandos de execução.
|
|
@@ -452,11 +453,11 @@ Quando o usuário aprovar, informe:
|
|
|
452
453
|
- ❌ NÃO faça commits
|
|
453
454
|
- ❌ NÃO instale dependências
|
|
454
455
|
- ❌ NÃO modifique arquivos de código existentes
|
|
455
|
-
- ❌ NÃO crie branch
|
|
456
|
+
- ❌ NÃO crie a branch sem perguntar a base
|
|
456
457
|
|
|
457
458
|
### ✅ FAÇA APENAS
|
|
458
459
|
|
|
459
|
-
- ✅ Criar branch a partir
|
|
460
|
+
- ✅ Criar branch a partir da base escolhida pelo usuário, no padrão `{TASK_MANAGER_KEY}-{titulo}`
|
|
460
461
|
- ✅ Criar o diretório `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`
|
|
461
462
|
- ✅ Criar o arquivo `architecture.md`
|
|
462
463
|
- ✅ Investigar e analisar o codebase (leitura apenas)
|
|
@@ -264,7 +264,7 @@ Invoque o agente [eng.qa.test-planner]($IDE/agents/engineering/qa/eng.qa.test-pl
|
|
|
264
264
|
- Analisar o código implementado na fase
|
|
265
265
|
- Identificar funções/métodos sem cobertura de teste
|
|
266
266
|
- Mapear casos de borda não cobertos
|
|
267
|
-
- Gerar relatório de gaps em `$
|
|
267
|
+
- Gerar relatório de gaps em `$ENG_DOCS/qa/{task-id}-test_coverage_branch_report.md`
|
|
268
268
|
|
|
269
269
|
#### 3.3.2 Implementar Testes Faltantes
|
|
270
270
|
|
|
@@ -67,7 +67,7 @@ O código ainda não existe neste momento do fluxo.
|
|
|
67
67
|
## Output
|
|
68
68
|
|
|
69
69
|
Documento de estratégia de testes salvo em:
|
|
70
|
-
`$
|
|
70
|
+
`$ENG_DOCS/qa/strategies/{task-id}-test-strategy.md`
|
|
71
71
|
|
|
72
72
|
Estrutura do documento:
|
|
73
73
|
```
|
|
@@ -63,7 +63,7 @@ Verificar se foi realizada sessão para a feature.
|
|
|
63
63
|
|
|
64
64
|
**3. Quality gate**
|
|
65
65
|
```bash
|
|
66
|
-
ls $
|
|
66
|
+
ls $ENG_DOCS/qa/ 2>/dev/null | grep -i "quality-gate\|qg"
|
|
67
67
|
```
|
|
68
68
|
Verificar se a spec passou pelo quality gate antes da sprint.
|
|
69
69
|
|
|
@@ -102,7 +102,7 @@ Usar template `$TEMPLATES_FOLDER/engineering/qa/qa.release-signoff-template.md`.
|
|
|
102
102
|
|
|
103
103
|
Salvar em:
|
|
104
104
|
```
|
|
105
|
-
$
|
|
105
|
+
$ENG_DOCS/qa/signoffs/signoff-{branch-slug}-{YYYYMMDD}.md
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
> O frontmatter **deve** conter `status: GO` ou `status: NO-GO` — o CLI `jarvis qa-signoff` lê este campo.
|
|
@@ -172,5 +172,5 @@ Se $MESSAGE_COMUNICATOR não estiver configurado ou o TL não tiver Slack ID em
|
|
|
172
172
|
|
|
173
173
|
## Output
|
|
174
174
|
|
|
175
|
-
- `$
|
|
175
|
+
- `$ENG_DOCS/qa/signoffs/signoff-{branch-slug}-{YYYYMMDD}.md` — documento de sign-off
|
|
176
176
|
- Snippet CI (apenas na primeira execução, se pipeline ainda não configurado)
|
|
@@ -93,7 +93,7 @@ Com base no risco e na capacidade mapeada na Fase 0:
|
|
|
93
93
|
Usando o template `$TEMPLATES_FOLDER/engineering/qa/qa.sprint-plan-template.md`, gerar o plano e salvar em:
|
|
94
94
|
|
|
95
95
|
```
|
|
96
|
-
$
|
|
96
|
+
$ENG_DOCS/qa/sprints/sprint-plan-{sprint-slug}.md
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
Exibir o plano ao usuário e perguntar se há ajustes antes de salvar.
|
|
@@ -102,5 +102,5 @@ Exibir o plano ao usuário e perguntar se há ajustes antes de salvar.
|
|
|
102
102
|
|
|
103
103
|
## Output
|
|
104
104
|
|
|
105
|
-
- `$
|
|
105
|
+
- `$ENG_DOCS/qa/sprints/sprint-plan-{sprint-slug}.md` — plano de alocação da sprint
|
|
106
106
|
- Pronto para compartilhar com o time ou colar no $TASK_MANAGER
|
|
@@ -3,12 +3,15 @@ name: prod.roadmap.preview
|
|
|
3
3
|
description: Conhecer e ter visibilidade do roadmap de entregas planejadas do produto, como períodos de entrega, nome dos projetos e responsáveis.
|
|
4
4
|
auto_execution_mode: 3
|
|
5
5
|
env_file: "@/ENV.md"
|
|
6
|
+
recommended_model: opus
|
|
6
7
|
model_tier: high
|
|
7
8
|
model_justification: Gestores e time precisam entender quais as próximas prioridades de entrega que serão feitas pelos times baseados nas informações disponíveis no projeto e também no task manager utilizado pela empresa.
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Roadmap Preview
|
|
11
12
|
|
|
13
|
+
> 🎓 **Modo de condução**: leia `PROD_MODE` no `$IDE/ENV.md`. Se for `developer-guided`, **antes de começar leia `$IDE/rules-on-demand/product/prod.guided-rules.md` e siga-o** em toda a conversa. Vazio ou `product-led`: siga este fluxo como está.
|
|
14
|
+
|
|
12
15
|
Este comando tem como objetivo de buscar e trazer informações sobre o roadmap de entregas planejadas do produto, como períodos de entrega, nome dos projetos e responsáveis.
|
|
13
16
|
|
|
14
17
|
Antes de iniciar, revise o arquivo de regras invioláveis em `$PROD_RULES/**/*`. Se você não estiver familiarizado com essa variável, leia as regras diretamente na pasta `.$IDE/rules/product/**/*.*`.
|
|
@@ -23,7 +26,7 @@ Utilize o `$ARGUMENTS` que o usuário passar como ponto de partida e para entend
|
|
|
23
26
|
- Sempre identifique o quadrimestre atual e o próximo com base na data de hoje.
|
|
24
27
|
- Utilize o MCP disponível relacionado ao $TASK_MANAGER utilizado pelo usuário.
|
|
25
28
|
- Antes de qualquer coisa, procure por informações sobre o projeto ou produto que o usuário está solicitando dentro da pasta de trabalho utilizado. Confirme com o usuário o que foi encontrado. Utilize também informações que o usuário já compartilhou.
|
|
26
|
-
- As documentações de projeto podem ser encontradas na pasta do projeto (`$PROD_DOCS`). Rascunhos WIP: `$SESSIONS_DIR/prod/`. Caso não estejam disponíveis localmente, utilize via Skill tool a `jarvis-docs-central` para buscar as informações
|
|
29
|
+
- As documentações de projeto podem ser encontradas na pasta do projeto (`$PROD_DOCS`). Rascunhos WIP: `$SESSIONS_DIR/prod/`. Caso não estejam disponíveis localmente, utilize via Skill tool a `jarvis-docs-central` para buscar as informações no Central docs (se `CENTRAL_DOCS_STORAGE` estiver configurado).
|
|
27
30
|
- Para trazer as informações, utilize via Skill tool a skill `product-roadmap-report`
|
|
28
31
|
|
|
29
32
|
### Status Reports por Squad
|