jarvis-ai-framework 5.0.0 → 5.1.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/package.json
CHANGED
|
@@ -323,6 +323,7 @@ Antes de considerar o PR completo:
|
|
|
323
323
|
- [ ] Comentários de code review processados
|
|
324
324
|
- [ ] `pull-request.md` aprovado na sessão (e publicado, se o usuário respondeu Sim)
|
|
325
325
|
- [ ] Lembrete do `/eng.spec-consolidate` na mensagem final
|
|
326
|
+
- [ ] `daily.md` gerado ou atualizado e aprovado (só com PR aberto), com a linha de timesheet na mensagem final
|
|
326
327
|
|
|
327
328
|
---
|
|
328
329
|
|
|
@@ -331,3 +332,17 @@ Antes de considerar o PR completo:
|
|
|
331
332
|
- O texto do PR fica em **`$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/pull-request.md`**, aprovado pelo usuário.
|
|
332
333
|
- **Publicar (push + MR/PR) só com o Sim** do `AskUserQuestion` "Publicar o PR agora?". Com Não, o arquivo fica na sessão e nada é enviado.
|
|
333
334
|
- **A sessão nunca é apagada por este comando:** o `/eng.spec-consolidate`, que roda em seguida, precisa do `architecture.md`, do `plan.md`, do `gate-checklist.md` e do `pull-request.md`. A pessoa apaga à mão quando quiser.
|
|
335
|
+
|
|
336
|
+
## daily.md (registro do esforço)
|
|
337
|
+
|
|
338
|
+
- Gerado na Conclusão do `eng.pr`, em `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/daily.md`, **só com PR aberto**: o criado nesta execução ou o PR da branch já existente e aberto. Sem PR aberto, não gerar.
|
|
339
|
+
- **Sempre perguntar a data** (hoje ou retroativa) com `AskUserQuestion`.
|
|
340
|
+
- **Período de mais de um dia:** antes de contar os dias trabalhados, perguntar sobre sábado/domingo trabalhados, feriados e outros dias não trabalhados (o usuário informa as datas).
|
|
341
|
+
- ***Post mortem*:** automático com `tipo: bugfix|hotfix` no `context.md` ou com mais de 1 dia trabalhado; nos outros casos, perguntar Sim/Não.
|
|
342
|
+
- **Nova execução** (`daily.md` já existe): perguntar a origem da mudança.
|
|
343
|
+
- **Ajuste do próprio usuário:** focar no que foi entregue, sem citar troca de escopo nem retrabalho.
|
|
344
|
+
- **Pedido da liderança:** documentar o que mudou, quem pediu e o impacto.
|
|
345
|
+
- **Formato fixo** (`templates/engineering/daily-template.md`): uma seção `## AAAA-MM-DD` com "Descrição detalhada" e "Timesheet" (uma linha).
|
|
346
|
+
- **Revisão conjunta:** mostrar a descrição e a linha de timesheet juntas, com `[Aprovar]`/`[Ajustar]`; ajustar as duas juntas até aprovar.
|
|
347
|
+
- **Nunca publicar** o `daily.md` e nunca incluir e-mails, tokens nem valores de variáveis.
|
|
348
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Modelo de IA recomendado para trabalhar neste documento. Se a sessão estiver em outro,
|
|
3
|
+
# o comando avisa e segue (você decide se troca). Opções: opus | sonnet | haiku
|
|
4
|
+
recommended_model: opus
|
|
5
|
+
|
|
6
|
+
# Card ou número de controle da tarefa (TASK_MANAGER do ENV.md; freelance = número de controle).
|
|
7
|
+
task_key: {TASK-123}
|
|
8
|
+
|
|
9
|
+
# URL do card no task manager (padrão da eng.integrations-rules.md). Vazio no modo freelance.
|
|
10
|
+
card_url: {URL}
|
|
11
|
+
|
|
12
|
+
# Pull/Merge Request aberto: número e URL. O daily.md só existe com PR aberto.
|
|
13
|
+
pr: {#n URL}
|
|
14
|
+
|
|
15
|
+
# Branch de trabalho e branch base (Branch base: do architecture.md).
|
|
16
|
+
branch: {branch}
|
|
17
|
+
base: {main | dev | outra}
|
|
18
|
+
|
|
19
|
+
# Dias efetivamente trabalhados no período eng.start → registro (descontados fim de semana não
|
|
20
|
+
# trabalhado, feriados e outros dias não trabalhados informados). Ex.: "3 (2026-10-13, 2026-10-14, 2026-10-15)"
|
|
21
|
+
worked_days: {n (datas)}
|
|
22
|
+
|
|
23
|
+
# A descrição usa o formato post mortem? Opções: yes | no
|
|
24
|
+
# yes = bugfix/hotfix, mais de 1 dia trabalhado, ou investigação longa confirmada pelo usuário
|
|
25
|
+
post_mortem: {yes | no}
|
|
26
|
+
|
|
27
|
+
# Data da última atualização deste arquivo (YYYY-MM-DD).
|
|
28
|
+
updated_at: {YYYY-MM-DD}
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Daily — {TASK_KEY}
|
|
32
|
+
|
|
33
|
+
> Registro pessoal do esforço: narrativa auditável e linha pronta para o timesheet. Fica só na sessão, nunca é publicado. Uma seção por data (`## AAAA-MM-DD`), no formato abaixo, para um comando futuro juntar os registros de um dia.
|
|
34
|
+
|
|
35
|
+
## {AAAA-MM-DD}
|
|
36
|
+
|
|
37
|
+
### Descrição detalhada
|
|
38
|
+
|
|
39
|
+
{Um parágrafo narrativo: o contexto técnico, o que foi feito e as decisões. Detalhe suficiente para servir de embasamento em questionamentos futuros, auditorias ou consultas técnicas.}
|
|
40
|
+
|
|
41
|
+
**Post mortem** _(só quando `post_mortem: yes`)_
|
|
42
|
+
- **Problema e causa raiz:** {o problema identificado e a causa raiz, se aplicável}
|
|
43
|
+
- **Investigação:** {o raciocínio e o processo de investigação adotado}
|
|
44
|
+
- **Solução / direcionamento:** {a solução ou o direcionamento técnico final}
|
|
45
|
+
|
|
46
|
+
**Mudança de escopo** _(só quando pedida pela liderança: gerente, PM, tech lead)_
|
|
47
|
+
- **O que mudou:** {…}
|
|
48
|
+
- **Quem pediu:** {papel/nome, como o usuário informou}
|
|
49
|
+
- **Impacto:** {no prazo, no esforço, no resultado}
|
|
50
|
+
|
|
51
|
+
**Referências:** card [{TASK_KEY}]({URL}) · PR/MR [#{n}]({URL}) · commits `{hash}`, `{hash}`
|
|
52
|
+
|
|
53
|
+
### Timesheet
|
|
54
|
+
|
|
55
|
+
`{TASK_KEY} — {resumo da atividade em uma única linha}`
|
|
@@ -44,7 +44,7 @@ Este comando cria a **branch, commita as alterações e abre um Merge Request**.
|
|
|
44
44
|
| Skills recomendados | `/eng-global-docs-write` | Se houver necessidade de atualizar documentação junto do PR |
|
|
45
45
|
| Agentes recomendados (opcional) | `eng.qa.test-planner` (agente) | Se houver dúvidas sobre cobertura de testes ou mudanças significativas |
|
|
46
46
|
| Fase 4 › 4.4 Criar MR/PR via adapter | `jarvis vcs create-merge` (CLI do Jarvis) | Só se o usuário responder **Sim** na Fase 4.3: abre o MR/PR conforme `VERSION_CONTROL` ou o host do `origin` |
|
|
47
|
-
| Fase
|
|
47
|
+
| Fase 5 › 5.2 Link do MR | `/eng-global-task-comment` | Depois de o MR ser criado (só com o Sim da 4.3): um único comentário no card com o link do MR, seguindo o Passo 6 do skill `eng-global-pr` (freelance pula) |
|
|
48
48
|
|
|
49
49
|
---
|
|
50
50
|
|
|
@@ -134,7 +134,7 @@ Branch de destino: a **`Branch base:`** do `architecture.md` (`{BRANCH_BASE}`).
|
|
|
134
134
|
git checkout {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
-
### 2.
|
|
137
|
+
### 2.3 Verificar Commits da Branch
|
|
138
138
|
|
|
139
139
|
```bash
|
|
140
140
|
git log {BRANCH_BASE}..HEAD --oneline
|
|
@@ -211,7 +211,7 @@ Mostre o `pull-request.md` (título e resumo das seções) e pergunte com `AskUs
|
|
|
211
211
|
|
|
212
212
|
Pergunte com `AskUserQuestion` (**Sim / Não**): **"Publicar o PR agora?"**
|
|
213
213
|
|
|
214
|
-
- **Não:** 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, com a mensagem "PR não publicado".
|
|
214
|
+
- **Não:** 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 (sem `daily.md`, que só existe com PR aberto), com a mensagem "PR não publicado".
|
|
215
215
|
- **Sim:** faça o push (Fase 3) e crie o MR/PR (4.4).
|
|
216
216
|
|
|
217
217
|
### 4.4 Criar MR/PR via adapter
|
|
@@ -248,15 +248,15 @@ Se o CLI `jarvis` não estiver instalado no repo alvo, usar `node {caminho-do-cl
|
|
|
248
248
|
|
|
249
249
|
---
|
|
250
250
|
|
|
251
|
-
## Fase
|
|
251
|
+
## Fase 5: Atualizar Board
|
|
252
252
|
|
|
253
253
|
Pular se `TASK_MANAGER` estiver vazio (freelance).
|
|
254
254
|
|
|
255
|
-
###
|
|
255
|
+
### 5.1 Mover Card
|
|
256
256
|
|
|
257
257
|
Mova o card para a etapa equivalente a "em revisão" no seu board. Quem assumiu o card o move; não é preciso esperar o TECH LEAD ou o PM.
|
|
258
258
|
|
|
259
|
-
###
|
|
259
|
+
### 5.2 Link do MR no card
|
|
260
260
|
|
|
261
261
|
Siga o Passo 6 do skill `eng-global-pr`: um único comentário no card, com o link e a branch. É o único comentário do `eng.pr` no card.
|
|
262
262
|
|
|
@@ -264,11 +264,11 @@ Siga o Passo 6 do skill `eng-global-pr`: um único comentário no card, com o li
|
|
|
264
264
|
|
|
265
265
|
## Fase 6: Processar Code Review
|
|
266
266
|
|
|
267
|
-
###
|
|
267
|
+
### 6.1 Aguardar Comentários
|
|
268
268
|
|
|
269
269
|
Aguarde 3-5 minutos para a ferramenta de code review processar.
|
|
270
270
|
|
|
271
|
-
###
|
|
271
|
+
### 6.2 Analisar Comentários
|
|
272
272
|
|
|
273
273
|
Para cada comentário:
|
|
274
274
|
|
|
@@ -276,7 +276,7 @@ Para cada comentário:
|
|
|
276
276
|
2. Avaliar se pode ser explicado/ignorado
|
|
277
277
|
3. Apresentar ao usuário
|
|
278
278
|
|
|
279
|
-
###
|
|
279
|
+
### 6.3 Aplicar Correções
|
|
280
280
|
|
|
281
281
|
Se necessário:
|
|
282
282
|
|
|
@@ -291,7 +291,7 @@ git push
|
|
|
291
291
|
|
|
292
292
|
## Fase 7: Conclusão
|
|
293
293
|
|
|
294
|
-
###
|
|
294
|
+
### 7.1 Registrar Métricas de Lead Time
|
|
295
295
|
|
|
296
296
|
Calcule e registre o lead time (tempo desde eng.start até PR criado):
|
|
297
297
|
|
|
@@ -323,7 +323,34 @@ else
|
|
|
323
323
|
fi
|
|
324
324
|
```
|
|
325
325
|
|
|
326
|
-
###
|
|
326
|
+
### 7.2 Registrar o esforço em `daily.md`
|
|
327
|
+
|
|
328
|
+
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**.
|
|
329
|
+
|
|
330
|
+
1. **Há PR aberto?** Vale o criado na 4.4 ou o PR da branch que já existe e está aberto (CLI/adapter do vendor, ex.: `gh pr view --json state,number,url`). Sem PR aberto (Não na 4.3 e nenhum PR existente), **não gere** o `daily.md` e siga para a 7.3. Se não for possível confirmar, pergunte.
|
|
331
|
+
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`).
|
|
332
|
+
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:
|
|
333
|
+
- 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);
|
|
334
|
+
- **"Houve feriado no período?"** → Não | Sim (o usuário informa as datas);
|
|
335
|
+
- **"Teve algum dia em que você não trabalhou no período?"** → Não | Sim (o usuário informa as datas).
|
|
336
|
+
|
|
337
|
+
Dias trabalhados = datas do período − fim de semana não trabalhado − feriados − dias não trabalhados. Registre no `worked_days` do frontmatter.
|
|
338
|
+
4. ***Post mortem*:**
|
|
339
|
+
- **automático** se o `context.md` tiver `tipo: bugfix` ou `hotfix`, ou se houver **mais de 1 dia trabalhado**;
|
|
340
|
+
- nos outros casos, pergunte (**Sim / Não**): **"A tarefa exigiu investigação ou análise longa?"**
|
|
341
|
+
5. **Nova execução** (o `daily.md` já existe): entenda o contexto e pergunte com `AskUserQuestion`: **"De onde veio a mudança desde o último registro?"**
|
|
342
|
+
- **Ajuste meu:** reescreva o registro **focando no que foi entregue**, sem mencionar troca de escopo nem retrabalho.
|
|
343
|
+
- **Pedido da liderança** (gerente, PM, tech lead): documente na seção "Mudança de escopo" o que mudou, quem pediu (como o usuário informar) e o impacto.
|
|
344
|
+
|
|
345
|
+
Atualize a seção da data escolhida. Se a data for nova, acrescente uma seção `## AAAA-MM-DD`.
|
|
346
|
+
6. **Gerar** a descrição detalhada **e** a linha de timesheet, juntas.
|
|
347
|
+
- **Fontes:** `architecture.md`, `plan.md`, `gate-checklist.md`, `pull-request.md`, `git log {BRANCH_BASE}..HEAD`, o PR/MR e o card.
|
|
348
|
+
- **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.
|
|
349
|
+
- **Timesheet:** **uma única linha** (`{TASK_KEY} — {resumo}`).
|
|
350
|
+
- Sem e-mails, tokens nem valores de variáveis.
|
|
351
|
+
7. **Revisão conjunta:** mostre a descrição e a linha de timesheet **juntas** e pergunte com `AskUserQuestion`: `[Aprovar]` / `[Ajustar]`. Com Ajustar, aplique os ajustes pontuais **nas duas** e mostre de novo, até aprovar.
|
|
352
|
+
|
|
353
|
+
### 7.3 Mensagem Final
|
|
327
354
|
|
|
328
355
|
```
|
|
329
356
|
✅ MERGE REQUEST CRIADO COM SUCESSO!
|
|
@@ -340,6 +367,9 @@ fi
|
|
|
340
367
|
|
|
341
368
|
{LEAD_TIME_MSG}
|
|
342
369
|
|
|
370
|
+
📝 Daily: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/daily.md
|
|
371
|
+
🕒 Timesheet: {LINHA_DE_TIMESHEET_APROVADA}
|
|
372
|
+
|
|
343
373
|
📌 Próximos passos:
|
|
344
374
|
1. /eng.spec-consolidate {TASK_MANAGER_KEY} → registrar no Central docs o que esta entrega implementou
|
|
345
375
|
2. Aguardar revisão do time e processar os comentários do code review
|
|
@@ -372,6 +402,7 @@ fi
|
|
|
372
402
|
- ✅ Preencher template do MR completamente
|
|
373
403
|
- ✅ Mover card para "In Review"
|
|
374
404
|
- ✅ Gerar o `pull-request.md` na sessão e só publicar com o **Sim** (Fase 4.3)
|
|
405
|
+
- ✅ Com PR aberto, registrar o esforço no `daily.md` (7.2), com revisão conjunta da descrição e do timesheet
|
|
375
406
|
- ✅ **Nunca apagar a sessão:** o `/eng.spec-consolidate` precisa dela
|
|
376
407
|
|
|
377
408
|
---
|