adi_dev_workflow 1.3.0 → 1.4.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.
Files changed (75) hide show
  1. package/frameworks/commands/ministack/generate-tasks.md +212 -212
  2. package/frameworks/commands/sdd/generate-task-plan.md +4 -4
  3. package/frameworks/commands/sdd/generate-tech-direction.md +2 -2
  4. package/frameworks/commands/sdd/generate-tech-spec.md +4 -4
  5. package/frameworks/commands/sdd/generate-tests.md +171 -39
  6. package/frameworks/config/ai-framework-config.yaml +2 -2
  7. package/frameworks/skills/ministack-tasks-expert/SKILL.md +115 -104
  8. package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +21 -6
  9. package/frameworks/skills/prompt-engineer-expert/SKILL.md +10 -7
  10. package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +21 -6
  11. package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +23 -7
  12. package/package.json +1 -1
  13. package/src/cli.js +27 -2
  14. package/src/installer.js +185 -106
  15. package/frameworks/agents/qa-validation-expert.md +0 -458
  16. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +0 -99
  17. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +0 -64
  18. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +0 -12
  19. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +0 -32
  20. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +0 -134
  21. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +0 -68
  22. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +0 -5
  23. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +0 -32
  24. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +0 -525
  25. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +0 -30
  26. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +0 -5
  27. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +0 -12
  28. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +0 -32
  29. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +0 -1126
  30. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +0 -131
  31. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +0 -5
  32. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +0 -32
  33. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +0 -452
  34. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +0 -78
  35. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +0 -5
  36. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +0 -12
  37. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +0 -32
  38. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +0 -101
  39. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +0 -133
  40. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +0 -5
  41. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +0 -32
  42. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +0 -248
  43. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +0 -49
  44. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +0 -5
  45. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +0 -1325
  46. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +0 -94
  47. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +0 -67
  48. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +0 -12
  49. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +0 -32
  50. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +0 -117
  51. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +0 -91
  52. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +0 -1
  53. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +0 -32
  54. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +0 -694
  55. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +0 -45
  56. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +0 -1
  57. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +0 -12
  58. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +0 -32
  59. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +0 -1087
  60. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +0 -124
  61. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +0 -1
  62. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +0 -32
  63. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +0 -458
  64. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +0 -84
  65. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +0 -1
  66. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +0 -12
  67. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +0 -32
  68. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +0 -70
  69. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +0 -148
  70. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +0 -1
  71. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +0 -32
  72. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +0 -249
  73. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +0 -80
  74. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +0 -1
  75. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +0 -1325
@@ -1,94 +0,0 @@
1
- {
2
- "skill_name": "sdd-task-plan-expert",
3
- "iteration": 2,
4
- "date": "2026-03-08",
5
- "configurations": [
6
- {
7
- "name": "with_skill",
8
- "evals": [
9
- {
10
- "eval_id": 1,
11
- "eval_name": "happy-path-spec-tech-usuario",
12
- "assertions_passed": 5,
13
- "assertions_total": 5,
14
- "pass_rate": 1.0,
15
- "tokens": 64193,
16
- "duration_seconds": 125.6
17
- },
18
- {
19
- "eval_id": 2,
20
- "eval_name": "spec-tech-simples-alteracao-pontual",
21
- "assertions_passed": 5,
22
- "assertions_total": 5,
23
- "pass_rate": 1.0,
24
- "tokens": 85600,
25
- "duration_seconds": 305.6
26
- },
27
- {
28
- "eval_id": 3,
29
- "eval_name": "spec-tech-sem-user-stories-explicitas",
30
- "assertions_passed": 5,
31
- "assertions_total": 5,
32
- "pass_rate": 1.0,
33
- "tokens": 58132,
34
- "duration_seconds": 136.9
35
- }
36
- ],
37
- "aggregate": {
38
- "total_passed": 15,
39
- "total_assertions": 15,
40
- "pass_rate": 1.0,
41
- "mean_tokens": 69308,
42
- "stddev_tokens": 14283,
43
- "mean_duration_seconds": 189.4,
44
- "stddev_duration_seconds": 101.4
45
- }
46
- },
47
- {
48
- "name": "without_skill",
49
- "evals": [
50
- {
51
- "eval_id": 1,
52
- "eval_name": "happy-path-spec-tech-usuario",
53
- "assertions_passed": 1,
54
- "assertions_total": 5,
55
- "pass_rate": 0.2,
56
- "tokens": 69814,
57
- "duration_seconds": 347.3
58
- },
59
- {
60
- "eval_id": 2,
61
- "eval_name": "spec-tech-simples-alteracao-pontual",
62
- "assertions_passed": 1,
63
- "assertions_total": 5,
64
- "pass_rate": 0.2,
65
- "tokens": 61206,
66
- "duration_seconds": 143.3
67
- },
68
- {
69
- "eval_id": 3,
70
- "eval_name": "spec-tech-sem-user-stories-explicitas",
71
- "assertions_passed": 2,
72
- "assertions_total": 5,
73
- "pass_rate": 0.4,
74
- "tokens": 36808,
75
- "duration_seconds": 147.5
76
- }
77
- ],
78
- "aggregate": {
79
- "total_passed": 4,
80
- "total_assertions": 15,
81
- "pass_rate": 0.267,
82
- "mean_tokens": 55943,
83
- "stddev_tokens": 17257,
84
- "mean_duration_seconds": 212.7,
85
- "stddev_duration_seconds": 117.2
86
- }
87
- }
88
- ],
89
- "delta": {
90
- "pass_rate": "+73.3pp",
91
- "mean_tokens": "+13365 (+23.9%)",
92
- "mean_duration_seconds": "-23.3s (-11.0%)"
93
- }
94
- }
@@ -1,67 +0,0 @@
1
- # Benchmark — sdd-task-plan-expert (Iteration 2)
2
-
3
- ## Resumo
4
-
5
- | Metrica | with_skill | without_skill | Delta |
6
- |---------|-----------|---------------|-------|
7
- | **Pass Rate** | **100.0%** (15/15) | 26.7% (4/15) | **+73.3pp** |
8
- | Mean Tokens | 69,308 ± 14,283 | 55,943 ± 17,257 | +13,365 (+23.9%) |
9
- | Mean Duration | 189.4s ± 101.4s | 212.7s ± 117.2s | -23.3s (-11.0%) |
10
-
11
- ## Comparacao com Iteration 1
12
-
13
- | Metrica | Iter 1 with_skill | Iter 2 with_skill | Melhoria |
14
- |---------|-------------------|-------------------|----------|
15
- | **Pass Rate** | 93.3% (14/15) | **100.0% (15/15)** | **+6.7pp** |
16
- | Assertion a4 (rules) | FAIL | **PASS** | Corrigido |
17
-
18
- ## Resultados por Eval
19
-
20
- ### Eval 1: Happy Path (SPEC_TECH do modulo de usuario)
21
-
22
- | Assertion | with_skill | without_skill |
23
- |-----------|-----------|---------------|
24
- | a1: Extrai nome e confirma | PASS | FAIL |
25
- | a2: Uma pergunta por vez | PASS | FAIL |
26
- | a3: Propoe macro-fases | PASS | FAIL |
27
- | a4: Le rules ANTES | **PASS** | FAIL |
28
- | a5: Nao executa automaticamente | PASS | PASS |
29
-
30
- ### Eval 2: Spec Simples (alteracao pontual — telefone)
31
-
32
- | Assertion | with_skill | without_skill |
33
- |-----------|-----------|---------------|
34
- | b1: 3-6 tasks proporcionais | PASS (6) | FAIL (7) |
35
- | b2: Ordem de dependencias | PASS | PASS |
36
- | b3: Rastreabilidade US-10 | PASS | FAIL |
37
- | b4: Template completo (8 secoes) | PASS | FAIL |
38
- | b5: task_plan.md de referencia | PASS | FAIL |
39
-
40
- ### Eval 3: Sem User Stories (cache de cardapio)
41
-
42
- | Assertion | with_skill | without_skill |
43
- |-----------|-----------|---------------|
44
- | c1: Detecta ausencia de US | PASS | PASS |
45
- | c2: Pergunta ao usuario | PASS | FAIL |
46
- | c3: Nao inventa US ficticias | PASS | PASS |
47
- | c4: Nome em kebab-case | PASS | FAIL |
48
- | c5: Processo interativo | PASS | FAIL |
49
-
50
- ## Analise
51
-
52
- ### Melhoria Principal (Iteration 1 → 2)
53
- A unica assertion que falhava na iteration 1 (a4: leitura de rules) foi corrigida. O transcript da eval 1 mostra explicitamente "Passo 1 -- Read ALL project rules" com lista de 9 arquivos lidos ANTES da exploracao do codebase. A correcao (separar Passo 1 e Passo 2 no SKILL.md) funcionou.
54
-
55
- ### Assertions Discriminantes
56
- - **a4** (rules) era o unico discriminante na iteration 1 para with_skill. Agora esta corrigido.
57
- - Todas as 15 assertions passam com a skill — 100% pass rate.
58
- - Baseline (without_skill) consistentemente falha em: processo interativo, template compliance, rastreabilidade e kebab-case.
59
-
60
- ### Assertions Nao-Discriminantes
61
- - **a5** (nao executa automaticamente): Passa em ambas as configuracoes em todas as evals.
62
- - **c1** (detecta ausencia de US) e **c3** (nao inventa US): Passam em ambas.
63
-
64
- ### Tokens e Tempo
65
- - with_skill usa ~24% mais tokens em media, mas completa ~11% mais rapido.
66
- - A variancia e alta (stddev ~100s) devido a diferenca de complexidade entre evals.
67
- - Eval 2 com skill levou 305s (mais longo) — provavelmente por gerar 6 tasks completas com template de 8 secoes.
@@ -1,12 +0,0 @@
1
- {
2
- "eval_id": 1,
3
- "eval_name": "happy-path-spec-tech-usuario",
4
- "prompt": "Gere o TASK PLAN para a feature de usuario. O SPEC_TECH aprovado esta em docs/feature-user/v1/spec_tech.md",
5
- "assertions": [
6
- {"id": "a1", "text": "Extrai o nome da feature do SPEC_TECH e confirma com o usuario antes de prosseguir", "type": "llm_judge"},
7
- {"id": "a2", "text": "Faz apenas UMA pergunta por vez (nao bombardeia com multiplas perguntas no mesmo turno)", "type": "llm_judge"},
8
- {"id": "a3", "text": "Propoe macro-fases de alto nivel e aguarda validacao antes de criar tasks", "type": "llm_judge"},
9
- {"id": "a4", "text": "Le as rules do projeto (.claude/rules/ e CLAUDE.md) ANTES de gerar tasks", "type": "llm_judge"},
10
- {"id": "a5", "text": "NAO inicia execucao automatica de tasks — apenas apresenta o plano e aguarda", "type": "llm_judge"}
11
- ]
12
- }
@@ -1,32 +0,0 @@
1
- {
2
- "eval_id": 1,
3
- "eval_name": "happy-path-spec-tech-usuario",
4
- "configuration": "with_skill",
5
- "expectations": [
6
- {
7
- "text": "Extrai o nome da feature do SPEC_TECH e confirma com o usuario antes de prosseguir",
8
- "passed": true,
9
- "evidence": "Extraiu 'feature-user' da secao 1 do SPEC_TECH e perguntou 'Podemos iniciar a definicao macro das fases conforme proposto acima? Deseja ajustar algo na estrutura de fases?'"
10
- },
11
- {
12
- "text": "Faz apenas UMA pergunta por vez (nao bombardeia com multiplas perguntas no mesmo turno)",
13
- "passed": true,
14
- "evidence": "Apenas uma pergunta ao final da primeira interacao, aguardando validacao das macro-fases."
15
- },
16
- {
17
- "text": "Propoe macro-fases de alto nivel e aguarda validacao antes de criar tasks",
18
- "passed": true,
19
- "evidence": "Propos 5 macro-fases (Fundacao, Dados, Negocio, Apresentacao, Testes) com 11 tasks estimadas e aguardou confirmacao."
20
- },
21
- {
22
- "text": "Le as rules do projeto (.claude/rules/ e CLAUDE.md) ANTES de gerar tasks",
23
- "passed": true,
24
- "evidence": "Transcript mostra 'Passo 1 -- Read ALL project rules' com lista explicita de CLAUDE.md + 8 arquivos .claude/rules/. Executado ANTES da exploracao do codebase (Passo 2)."
25
- },
26
- {
27
- "text": "NAO inicia execucao automatica de tasks — apenas apresenta o plano e aguarda",
28
- "passed": true,
29
- "evidence": "Explicitamente diz 'Esta e a PRIMEIRA interacao do processo. Nas proximas interacoes, seriam destrinchadas as tasks...' — nao executou nenhuma task."
30
- }
31
- ]
32
- }
@@ -1,117 +0,0 @@
1
- # Resposta — TASK PLAN para Feature de Usuario
2
-
3
- ## 1. Feature Identificada
4
-
5
- Extraido da secao "1. Visao Geral Tecnica" do SPEC_TECH:
6
-
7
- - **Feature**: Modulo de Usuario -- Vakinha Burger
8
- - **Nome normalizado (kebab-case)**: `feature-user`
9
- - **Versao**: v1
10
- - **SPEC_TECH**: `docs/feature-user/v1/spec_tech.md`
11
- - **PRD**: `docs/feature-user/v1/prd.md`
12
-
13
- ---
14
-
15
- ## 2. Confirmacao e Proposta de Macro-Fases
16
-
17
- Obrigado! Vamos iniciar o TASK PLAN para **Modulo de Usuario -- Vakinha Burger**.
18
-
19
- ### Analise do Codebase (achados criticos)
20
-
21
- Antes de propor as fases, realizei a analise obrigatoria do projeto (Passo 1 e Passo 2 do SKILL.md):
22
-
23
- **Passo 1 -- Rules lidas:**
24
- - `CLAUDE.md` (raiz)
25
- - `.claude/rules/code-conventions.md`
26
- - `.claude/rules/database.md`
27
- - `.claude/rules/fx-di.md`
28
- - `.claude/rules/grpc.md`
29
- - `.claude/rules/protobuf.md`
30
- - `.claude/rules/repository.md`
31
- - `.claude/rules/service.md`
32
- - `.claude/rules/sqlc.md`
33
-
34
- **Passo 2 -- Exploracao do codebase:**
35
-
36
- Identifiquei que **a feature ja esta integralmente implementada** no branch atual (`user-feature`). Todos os arquivos referenciados no SPEC_TECH ja existem e contem o codigo completo:
37
-
38
- | Componente | Arquivo | Estado |
39
- |------------|---------|--------|
40
- | Identity package | `internal/pkg/identity/identity.go` | JA EXISTE -- Claims, GenerateToken, ParseToken, WithUserID, UserIDFromContext |
41
- | Identity tests | `internal/pkg/identity/identity_test.go` | JA EXISTE |
42
- | Auth interceptor | `internal/infra/grpc/interceptors/auth.go` | JA EXISTE -- Login em skipMethods, usa identity.ParseToken, injeta user_id |
43
- | Auth interceptor tests | `internal/infra/grpc/interceptors/auth_test.go` | JA EXISTE |
44
- | Migration 002 | `internal/db/migrations/002_add_endereco_usuarios.sql` | JA EXISTE |
45
- | User repository | `internal/repository/user_repository.go` | JA EXISTE -- Create, GetByID, GetByEmail, Update, modelo User com Address |
46
- | Repository integration tests | `internal/repository/user_repository_integration_test.go` | JA EXISTE |
47
- | User service | `internal/service/user_service.go` | JA EXISTE -- CreateUser, Login, GetUserLogged, UpdateUser, todos os erros, todas as validacoes |
48
- | User service tests | `internal/service/user_service_test.go` | JA EXISTE |
49
- | User handler | `internal/handler/grpc/user_handler.go` | JA EXISTE -- CreateUser, Login, GetUserLogged, UpdateUser, mapServiceError |
50
- | User handler tests | `internal/handler/grpc/user_handler_test.go` | JA EXISTE |
51
- | Config | `internal/infra/config/config.go` | JA EXISTE -- JWTExpirationHours |
52
- | E2E tests | `internal/e2e/user_e2e_test.go` | JA EXISTE |
53
-
54
- **Conclusao da analise**: Como todo o codigo ja existe, o TASK PLAN que seria gerado teria TODAS as tasks com status "Concluido". Isso muda significativamente a natureza do plano.
55
-
56
- ---
57
-
58
- ### Proposta de Macro-Fases
59
-
60
- Apesar de a implementacao ja existir, apresento as macro-fases que TERIAM sido utilizadas para decompor esta feature, conforme o SPEC_TECH:
61
-
62
- **Fase 1 -- Fundacao e Infraestrutura**
63
- - Objetivo: Criar os alicerces tecnicos que nao dependem de logica de negocio
64
- - Escopo: pacote `identity` (JWT), migration 002, configuracao (`JWTExpirationHours`), queries SQLC, geracao de codigo (`make generate`)
65
- - Tasks estimadas: T1 (identity package), T2 (migration + queries SQLC + make generate), T3 (config)
66
-
67
- **Fase 2 -- Camada de Dados**
68
- - Objetivo: Implementar o acesso a dados completo (repository)
69
- - Escopo: Adicionar `Address` ao modelo `User`, implementar `GetByEmail()` e `Update()`, atualizar `Create()`
70
- - Tasks estimadas: T4 (repository)
71
-
72
- **Fase 3 -- Logica de Negocio**
73
- - Objetivo: Implementar todas as regras de negocio no service
74
- - Escopo: `CreateUser` (validacoes completas), `Login`, `GetUserLogged`, `UpdateUser`, erros de dominio
75
- - Tasks estimadas: T5 (CreateUser atualizado + Login), T6 (GetUserLogged + UpdateUser)
76
-
77
- **Fase 4 -- Camada de Apresentacao**
78
- - Objetivo: Implementar handlers gRPC e atualizar o contrato proto
79
- - Escopo: proto atualizado, handlers `Login`, `GetUserLogged`, `UpdateUser`, `mapServiceError`, interceptor atualizado
80
- - Tasks estimadas: T7 (proto + make generate), T8 (handlers + interceptor)
81
-
82
- **Fase 5 -- Testes e Validacao**
83
- - Objetivo: Garantir cobertura de testes em todas as camadas
84
- - Escopo: testes unitarios (identity, service, handler, interceptor), testes de integracao (repository, migration), testes E2E
85
- - Tasks estimadas: T9 (testes unitarios), T10 (testes integracao), T11 (testes E2E)
86
-
87
- ### Rastreabilidade US -> Fases
88
-
89
- | User Story | Fases Envolvidas |
90
- |------------|-----------------|
91
- | US-01 (Cadastro) | Fase 1, 2, 3, 4, 5 |
92
- | US-02 (Login) | Fase 1, 3, 4, 5 |
93
- | US-03 (Consultar dados) | Fase 1, 3, 4, 5 |
94
- | US-04 (Atualizar dados) | Fase 2, 3, 4, 5 |
95
-
96
- ### Paralelismo Identificado
97
-
98
- - T1 (identity), T2 (migration/SQLC), T3 (config) podem rodar em **paralelo** (Fase 1)
99
- - T5 e T6 sao sequenciais (T6 depende de T5 para erros e tipos compartilhados)
100
- - T7 deve rodar antes de T8 (handlers dependem do proto gerado)
101
- - T9, T10, T11 podem rodar em **paralelo** (Fase 5), mas todas dependem de T1-T8
102
-
103
- ---
104
-
105
- ## Pergunta ao Usuario
106
-
107
- > Podemos iniciar a definicao macro das fases conforme proposto acima? Deseja ajustar algo na estrutura de fases, no agrupamento de tasks ou na ordem de dependencias?
108
-
109
- ### Resposta Simulada (eval -- sem usuario real)
110
-
111
- Como esta e uma execucao de avaliacao sem usuario real, assumo que o usuario responderia:
112
-
113
- > "Sim, pode seguir com essas fases. A estrutura esta boa."
114
-
115
- ---
116
-
117
- **Nota**: Esta e a PRIMEIRA interacao do processo. Nas proximas interacoes, seriam destrinchadas as tasks fase a fase, com criacao dos arquivos `tasks/TN.md` e, ao final, o `task_plan.md` de referencia. Conforme instrucoes do eval, paro aqui na primeira interacao.
@@ -1,91 +0,0 @@
1
- # Transcript -- Tool Calls
2
-
3
- ## 1. Read skill and templates (parallel)
4
-
5
- | Tool | Parameters |
6
- |------|-----------|
7
- | Read | `.claude/skills/sdd-task-plan-expert/SKILL.md` |
8
- | Read | `.claude/skills/sdd-task-plan-expert/templates/task_plan_template.md` |
9
- | Read | `.claude/skills/sdd-task-plan-expert/templates/task_template.md` |
10
- | Read | `docs/feature-user/v1/spec_tech.md` |
11
-
12
- > SKILL.md was read in full. Templates were read in full. SPEC_TECH triggered persisted-output due to size (49.8KB).
13
-
14
- ## 2. Read full SPEC_TECH (persisted output)
15
-
16
- | Tool | Parameters |
17
- |------|-----------|
18
- | Read | Persisted output file (full SPEC_TECH content) |
19
-
20
- > Still truncated. Proceeded with offset-based reads.
21
-
22
- ## 3. Read SPEC_TECH in chunks
23
-
24
- | Tool | Parameters |
25
- |------|-----------|
26
- | Read | `docs/feature-user/v1/spec_tech.md`, offset=1, limit=200 |
27
- | Read | `docs/feature-user/v1/spec_tech.md`, offset=200, limit=300 |
28
- | Read | `docs/feature-user/v1/spec_tech.md`, offset=498, limit=200 |
29
- | Read | `docs/feature-user/v1/spec_tech.md`, offset=697, limit=200 |
30
-
31
- > Sections 1-16 of the SPEC_TECH were fully read.
32
-
33
- ## 4. Passo 1 -- Read ALL project rules
34
-
35
- Rules already loaded from system-reminder context (CLAUDE.md and all .claude/rules/* files were provided as context). Confirmed reading:
36
- - `CLAUDE.md`
37
- - `.claude/rules/code-conventions.md`
38
- - `.claude/rules/database.md`
39
- - `.claude/rules/fx-di.md`
40
- - `.claude/rules/grpc.md`
41
- - `.claude/rules/protobuf.md`
42
- - `.claude/rules/repository.md`
43
- - `.claude/rules/service.md`
44
- - `.claude/rules/sqlc.md`
45
-
46
- ## 5. Passo 2 -- Explore codebase (parallel)
47
-
48
- | Tool | Parameters |
49
- |------|-----------|
50
- | Glob | pattern=`**/*.go`, path=project root |
51
- | Glob | pattern=`internal/db/migrations/*`, path=project root |
52
- | Glob | pattern=`internal/db/queries/*`, path=project root |
53
-
54
- > Found 24 Go files. Found 2 migration files. No query files in `internal/db/queries/` (queries are in `internal/db/sqlc/queries/`).
55
-
56
- ## 6. Read existing implementation files (parallel)
57
-
58
- | Tool | Parameters |
59
- |------|-----------|
60
- | Read | `internal/repository/user_repository.go` |
61
- | Read | `internal/service/user_service.go` |
62
- | Read | `internal/handler/grpc/user_handler.go` |
63
- | Read | `internal/infra/grpc/interceptors/auth.go` |
64
- | Read | `internal/infra/config/config.go` |
65
- | Read | `internal/pkg/identity/identity.go` |
66
-
67
- > All 6 files read successfully. Confirmed that the entire feature is already implemented.
68
-
69
- ## 7. Create output directory
70
-
71
- | Tool | Parameters |
72
- |------|-----------|
73
- | Bash | `mkdir -p ...outputs/` |
74
-
75
- ## 8. Write output files
76
-
77
- | Tool | Parameters |
78
- |------|-----------|
79
- | Write | `response.md` -- main response with feature name confirmation and macro-phases |
80
- | Write | `transcript.md` -- this file |
81
-
82
- ---
83
-
84
- ## Summary of Findings
85
-
86
- - **Feature name extracted**: "Modulo de Usuario -- Vakinha Burger" from SPEC_TECH section 1
87
- - **Feature directory**: `feature-user` (already exists at `docs/feature-user/v1/`)
88
- - **Critical finding**: The entire feature is already implemented in the codebase. All files referenced in sections 3.1 and 15 of the SPEC_TECH exist with complete implementations.
89
- - **Macro-phases proposed**: 5 phases (Fundacao, Dados, Negocio, Apresentacao, Testes) with 11 tasks
90
- - **User Stories covered**: US-01 through US-04, all mapped to phases
91
- - **First interaction completed**: Feature name confirmed + macro-phases proposed + awaiting user confirmation
@@ -1 +0,0 @@
1
- {"total_tokens": 64193, "duration_ms": 125607, "total_duration_seconds": 125.6}
@@ -1,32 +0,0 @@
1
- {
2
- "eval_id": 1,
3
- "eval_name": "happy-path-spec-tech-usuario",
4
- "configuration": "without_skill",
5
- "expectations": [
6
- {
7
- "text": "Extrai o nome da feature do SPEC_TECH e confirma com o usuario antes de prosseguir",
8
- "passed": false,
9
- "evidence": "Gerou o task plan completo com 12 tasks sem confirmar o nome da feature com o usuario. Identificou 'Modulo de Usuario v1' mas nao perguntou se estava correto."
10
- },
11
- {
12
- "text": "Faz apenas UMA pergunta por vez (nao bombardeia com multiplas perguntas no mesmo turno)",
13
- "passed": false,
14
- "evidence": "Nenhuma pergunta foi feita ao usuario. O output completo (695 linhas) foi gerado de uma vez sem interacao."
15
- },
16
- {
17
- "text": "Propoe macro-fases de alto nivel e aguarda validacao antes de criar tasks",
18
- "passed": false,
19
- "evidence": "Pulou diretamente para tasks detalhadas (TASK 01-12) sem propor macro-fases primeiro e aguardar validacao."
20
- },
21
- {
22
- "text": "Le as rules do projeto (.claude/rules/ e CLAUDE.md) ANTES de gerar tasks",
23
- "passed": false,
24
- "evidence": "Transcript mostra apenas leitura do SPEC_TECH e arquivos de implementacao. Nenhuma leitura de .claude/rules/ ou CLAUDE.md foi registrada."
25
- },
26
- {
27
- "text": "NAO inicia execucao automatica de tasks — apenas apresenta o plano e aguarda",
28
- "passed": true,
29
- "evidence": "Apresentou apenas o plano sem executar nenhuma task."
30
- }
31
- ]
32
- }