@luanpdd/kit-mcp 1.26.0 → 1.28.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/LICENSE +21 -21
- package/README.md +168 -914
- package/gates/agent-no-recursive-dispatch.md +45 -11
- package/kit/COMANDOS.md +138 -138
- package/kit/README.md +76 -76
- package/kit/agents/advisor-researcher.md +106 -106
- package/kit/agents/assumptions-analyzer.md +107 -107
- package/kit/agents/audit-log-implementer.md +1 -1
- package/kit/agents/auditor-consistencia-isolamento.md +1 -1
- package/kit/agents/b2b-saas-architect.md +1 -1
- package/kit/agents/cascading-failures-auditor.md +1 -1
- package/kit/agents/codebase-mapper.md +768 -768
- package/kit/agents/crm-pipeline-implementer.md +1 -1
- package/kit/agents/debugger.md +813 -813
- package/kit/agents/detector-tenant-quente.md +1 -1
- package/kit/agents/evolution-go-integrator.md +1 -1
- package/kit/agents/example-reviewer.md +21 -21
- package/kit/agents/executor.md +564 -564
- package/kit/agents/integration-checker.md +200 -200
- package/kit/agents/invite-flow-implementer.md +1 -1
- package/kit/agents/legacy-characterizer.md +1 -1
- package/kit/agents/lgpd-compliance-auditor.md +1 -1
- package/kit/agents/multi-tenant-isolation-auditor.md +1 -1
- package/kit/agents/multi-tenant-rls-writer.md +1 -1
- package/kit/agents/nyquist-auditor.md +178 -178
- package/kit/agents/observability-coverage-auditor.md +1 -1
- package/kit/agents/org-onboarding-implementer.md +1 -1
- package/kit/agents/payload-capture-instrumenter.md +1 -1
- package/kit/agents/phase-researcher.md +696 -696
- package/kit/agents/plan-checker.md +272 -272
- package/kit/agents/planner.md +922 -922
- package/kit/agents/project-researcher.md +652 -652
- package/kit/agents/refactor-safety-auditor.md +1 -1
- package/kit/agents/release-pipeline-auditor.md +11 -0
- package/kit/agents/research-synthesizer.md +245 -245
- package/kit/agents/roadmapper.md +677 -677
- package/kit/agents/seam-finder.md +1 -1
- package/kit/agents/shotgun-surgery-detector.md +1 -1
- package/kit/agents/supabase-architect.md +14 -0
- package/kit/agents/supabase-branching-architect.md +562 -0
- package/kit/agents/supabase-cicd-pipeline-implementer.md +777 -0
- package/kit/agents/supabase-column-privileges-writer.md +1 -1
- package/kit/agents/supabase-migration-writer.md +13 -1
- package/kit/agents/supabase-rbac-implementer.md +1 -1
- package/kit/agents/supabase-rls-hardener.md +1 -1
- package/kit/agents/supabase-rls-writer.md +1 -1
- package/kit/agents/supabase-roles-implementer.md +1 -1
- package/kit/agents/super-admin-implementer.md +1 -1
- package/kit/agents/ui-auditor.md +437 -437
- package/kit/agents/ui-checker.md +302 -302
- package/kit/agents/ui-researcher.md +355 -355
- package/kit/agents/user-profiler.md +175 -175
- package/kit/agents/validador-evolucao-schema.md +1 -1
- package/kit/agents/verifier.md +728 -728
- package/kit/commands/adicionar-backlog.md +75 -75
- package/kit/commands/adicionar-fase.md +42 -42
- package/kit/commands/adicionar-tarefa.md +45 -45
- package/kit/commands/adicionar-testes.md +41 -41
- package/kit/commands/ajuda.md +21 -21
- package/kit/commands/atualizar.md +37 -37
- package/kit/commands/auditar-cascading.md +1 -1
- package/kit/commands/auditar-marco.md +179 -179
- package/kit/commands/auditar-observabilidade-cobertura.md +1 -1
- package/kit/commands/auditar-refactor.md +1 -1
- package/kit/commands/auditar-release.md +1 -1
- package/kit/commands/auditar-uat.md +23 -23
- package/kit/commands/autonomo.md +40 -40
- package/kit/commands/branch-pr.md +24 -24
- package/kit/commands/burn-rate-status.md +1 -1
- package/kit/commands/capturar-payloads.md +1 -1
- package/kit/commands/caracterizar.md +1 -1
- package/kit/commands/concluir-marco.md +247 -247
- package/kit/commands/configuracoes.md +36 -36
- package/kit/commands/dados-distribuidos.md +1 -1
- package/kit/commands/definir-perfil.md +10 -10
- package/kit/commands/depurar.md +190 -190
- package/kit/commands/detectar-duplicacao.md +1 -1
- package/kit/commands/discutir-fase.md +131 -131
- package/kit/commands/encontrar-seams.md +1 -1
- package/kit/commands/entrar-discord.md +17 -17
- package/kit/commands/estatisticas.md +18 -18
- package/kit/commands/example-greeting.md +33 -33
- package/kit/commands/executar-fase.md +58 -58
- package/kit/commands/expresso.md +56 -56
- package/kit/commands/fase-ui.md +34 -34
- package/kit/commands/fazer.md +57 -57
- package/kit/commands/fio.md +125 -125
- package/kit/commands/fluxos-trabalho.md +64 -64
- package/kit/commands/forense.md +176 -176
- package/kit/commands/gerenciador.md +38 -38
- package/kit/commands/inserir-fase.md +31 -31
- package/kit/commands/legacy.md +1 -1
- package/kit/commands/limpeza.md +17 -17
- package/kit/commands/listar-hipoteses-fase.md +45 -45
- package/kit/commands/listar-workspaces.md +18 -18
- package/kit/commands/load-shedding.md +1 -1
- package/kit/commands/mapear-codebase.md +70 -70
- package/kit/commands/multi-tenant.md +1 -1
- package/kit/commands/nota.md +33 -33
- package/kit/commands/novo-marco.md +43 -43
- package/kit/commands/novo-projeto.md +41 -41
- package/kit/commands/novo-workspace.md +43 -43
- package/kit/commands/pausar-trabalho.md +37 -37
- package/kit/commands/perfil-usuario.md +45 -45
- package/kit/commands/pesquisar-fase.md +195 -195
- package/kit/commands/planejar-fase.md +67 -67
- package/kit/commands/planejar-lacunas.md +33 -33
- package/kit/commands/plantar-ideia.md +25 -25
- package/kit/commands/progresso.md +24 -24
- package/kit/commands/proximo.md +30 -30
- package/kit/commands/publicar.md +490 -490
- package/kit/commands/rapido.md +35 -35
- package/kit/commands/reaplicar-patches.md +124 -124
- package/kit/commands/refactor-seguro.md +1 -1
- package/kit/commands/relatorio-sessao.md +19 -19
- package/kit/commands/remover-fase.md +31 -31
- package/kit/commands/remover-workspace.md +26 -26
- package/kit/commands/resumo-marco.md +50 -50
- package/kit/commands/retomar-trabalho.md +40 -40
- package/kit/commands/revisar-backlog.md +60 -60
- package/kit/commands/revisar-ui.md +32 -32
- package/kit/commands/revisar.md +37 -37
- package/kit/commands/saude.md +21 -21
- package/kit/commands/setup-notion.md +93 -93
- package/kit/commands/storytelling.md +1 -1
- package/kit/commands/supabase.md +1 -1
- package/kit/commands/sync-main.md +68 -68
- package/kit/commands/validar-fase.md +35 -35
- package/kit/commands/verificar-tarefas.md +44 -44
- package/kit/commands/verificar-trabalho.md +64 -64
- package/kit/file-manifest.json +93 -86
- package/kit/framework/bin/lib/commands.cjs +959 -959
- package/kit/framework/bin/lib/config.cjs +442 -442
- package/kit/framework/bin/lib/core.cjs +1230 -1230
- package/kit/framework/bin/lib/frontmatter.cjs +336 -336
- package/kit/framework/bin/lib/init.cjs +1442 -1442
- package/kit/framework/bin/lib/milestone.cjs +252 -252
- package/kit/framework/bin/lib/model-profiles.cjs +68 -68
- package/kit/framework/bin/lib/phase.cjs +888 -888
- package/kit/framework/bin/lib/profile-output.cjs +952 -952
- package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
- package/kit/framework/bin/lib/roadmap.cjs +329 -329
- package/kit/framework/bin/lib/security.cjs +382 -382
- package/kit/framework/bin/lib/state.cjs +1031 -1031
- package/kit/framework/bin/lib/template.cjs +222 -222
- package/kit/framework/bin/lib/uat.cjs +282 -282
- package/kit/framework/bin/lib/verify.cjs +888 -888
- package/kit/framework/bin/lib/workstream.cjs +491 -491
- package/kit/framework/bin/tools.cjs +918 -918
- package/kit/framework/commands/workstreams.md +63 -63
- package/kit/framework/references/checkpoints.md +778 -778
- package/kit/framework/references/continuation-format.md +249 -249
- package/kit/framework/references/decimal-phase-calculation.md +64 -64
- package/kit/framework/references/git-integration.md +295 -295
- package/kit/framework/references/git-planning-commit.md +38 -38
- package/kit/framework/references/model-profile-resolution.md +36 -36
- package/kit/framework/references/model-profiles.md +139 -139
- package/kit/framework/references/phase-argument-parsing.md +61 -61
- package/kit/framework/references/planning-config.md +202 -202
- package/kit/framework/references/questioning.md +162 -162
- package/kit/framework/references/tdd.md +263 -263
- package/kit/framework/references/ui-brand.md +160 -160
- package/kit/framework/references/user-profiling.md +657 -657
- package/kit/framework/references/verification-patterns.md +612 -612
- package/kit/framework/references/workstream-flag.md +58 -58
- package/kit/framework/templates/DEBUG.md +164 -164
- package/kit/framework/templates/UAT.md +265 -265
- package/kit/framework/templates/UI-SPEC.md +100 -100
- package/kit/framework/templates/VALIDATION.md +76 -76
- package/kit/framework/templates/claude-md.md +122 -122
- package/kit/framework/templates/codebase/architecture.md +185 -185
- package/kit/framework/templates/codebase/concerns.md +205 -205
- package/kit/framework/templates/codebase/conventions.md +204 -204
- package/kit/framework/templates/codebase/integrations.md +192 -192
- package/kit/framework/templates/codebase/stack.md +158 -158
- package/kit/framework/templates/codebase/structure.md +199 -199
- package/kit/framework/templates/codebase/testing.md +301 -301
- package/kit/framework/templates/config.json +44 -44
- package/kit/framework/templates/context.md +352 -352
- package/kit/framework/templates/continue-here.md +78 -78
- package/kit/framework/templates/copilot-instructions.md +7 -7
- package/kit/framework/templates/debug-subagent-prompt.md +91 -91
- package/kit/framework/templates/dev-preferences.md +20 -20
- package/kit/framework/templates/discovery.md +146 -146
- package/kit/framework/templates/discussion-log.md +63 -63
- package/kit/framework/templates/milestone-archive.md +123 -123
- package/kit/framework/templates/milestone.md +115 -115
- package/kit/framework/templates/phase-prompt.md +610 -610
- package/kit/framework/templates/planner-subagent-prompt.md +117 -117
- package/kit/framework/templates/project.md +186 -186
- package/kit/framework/templates/requirements.md +231 -231
- package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
- package/kit/framework/templates/research-project/FEATURES.md +147 -147
- package/kit/framework/templates/research-project/PITFALLS.md +200 -200
- package/kit/framework/templates/research-project/STACK.md +120 -120
- package/kit/framework/templates/research-project/SUMMARY.md +170 -170
- package/kit/framework/templates/research.md +419 -419
- package/kit/framework/templates/retrospective.md +54 -54
- package/kit/framework/templates/roadmap.md +202 -202
- package/kit/framework/templates/state.md +176 -176
- package/kit/framework/templates/summary-complex.md +59 -59
- package/kit/framework/templates/summary-minimal.md +41 -41
- package/kit/framework/templates/summary-standard.md +48 -48
- package/kit/framework/templates/summary.md +209 -209
- package/kit/framework/templates/user-profile.md +146 -146
- package/kit/framework/templates/user-setup.md +256 -256
- package/kit/framework/templates/verification-report.md +258 -258
- package/kit/framework/workflows/add-phase.md +112 -112
- package/kit/framework/workflows/add-tests.md +351 -351
- package/kit/framework/workflows/add-todo.md +158 -158
- package/kit/framework/workflows/audit-milestone.md +340 -340
- package/kit/framework/workflows/audit-uat.md +109 -109
- package/kit/framework/workflows/autonomous.md +891 -891
- package/kit/framework/workflows/check-todos.md +177 -177
- package/kit/framework/workflows/cleanup.md +152 -152
- package/kit/framework/workflows/complete-milestone.md +696 -696
- package/kit/framework/workflows/diagnose-issues.md +231 -231
- package/kit/framework/workflows/discovery-phase.md +289 -289
- package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
- package/kit/framework/workflows/discuss-phase.md +784 -784
- package/kit/framework/workflows/do.md +104 -104
- package/kit/framework/workflows/execute-phase.md +838 -838
- package/kit/framework/workflows/execute-plan.md +510 -510
- package/kit/framework/workflows/fast.md +102 -102
- package/kit/framework/workflows/forensics.md +265 -265
- package/kit/framework/workflows/health.md +181 -181
- package/kit/framework/workflows/help.md +619 -619
- package/kit/framework/workflows/insert-phase.md +130 -130
- package/kit/framework/workflows/list-phase-assumptions.md +178 -178
- package/kit/framework/workflows/list-workspaces.md +56 -56
- package/kit/framework/workflows/manager.md +362 -362
- package/kit/framework/workflows/map-codebase.md +377 -377
- package/kit/framework/workflows/milestone-summary.md +223 -223
- package/kit/framework/workflows/new-milestone.md +486 -486
- package/kit/framework/workflows/new-project.md +1159 -1159
- package/kit/framework/workflows/new-workspace.md +237 -237
- package/kit/framework/workflows/next.md +97 -97
- package/kit/framework/workflows/node-repair.md +92 -92
- package/kit/framework/workflows/note.md +156 -156
- package/kit/framework/workflows/pause-work.md +176 -176
- package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
- package/kit/framework/workflows/plan-phase.md +765 -765
- package/kit/framework/workflows/plant-seed.md +169 -169
- package/kit/framework/workflows/pr-branch.md +129 -129
- package/kit/framework/workflows/profile-user.md +450 -450
- package/kit/framework/workflows/progress.md +507 -507
- package/kit/framework/workflows/quick.md +757 -757
- package/kit/framework/workflows/remove-phase.md +155 -155
- package/kit/framework/workflows/remove-workspace.md +90 -90
- package/kit/framework/workflows/research-phase.md +82 -82
- package/kit/framework/workflows/resume-project.md +326 -326
- package/kit/framework/workflows/review.md +228 -228
- package/kit/framework/workflows/session-report.md +146 -146
- package/kit/framework/workflows/settings.md +283 -283
- package/kit/framework/workflows/ship.md +228 -228
- package/kit/framework/workflows/stats.md +60 -60
- package/kit/framework/workflows/transition.md +671 -671
- package/kit/framework/workflows/ui-phase.md +302 -302
- package/kit/framework/workflows/ui-review.md +165 -165
- package/kit/framework/workflows/update.md +323 -323
- package/kit/framework/workflows/validate-phase.md +174 -174
- package/kit/framework/workflows/verify-phase.md +252 -252
- package/kit/framework/workflows/verify-work.md +637 -637
- package/kit/hooks/check-update.js +118 -118
- package/kit/hooks/context-monitor.js +163 -163
- package/kit/hooks/prompt-guard.js +103 -103
- package/kit/hooks/statusline.js +125 -125
- package/kit/hooks/workflow-guard.js +101 -101
- package/kit/settings.json +45 -45
- package/kit/skills/_shared-supabase/glossary.md +10 -0
- package/kit/skills/ai-prompt-characterization/SKILL.md +1 -1
- package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +1 -1
- package/kit/skills/audit-log-multi-tenant/SKILL.md +1 -1
- package/kit/skills/b2b-saas-architecture/SKILL.md +1 -1
- package/kit/skills/consistencia-leitura-replica/SKILL.md +1 -1
- package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +1 -1
- package/kit/skills/escolha-modelo-consistencia/SKILL.md +1 -1
- package/kit/skills/evolucao-schema-compativel/SKILL.md +1 -1
- package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +1 -1
- package/kit/skills/example-skill/SKILL.md +42 -42
- package/kit/skills/legacy-api-only-applications/SKILL.md +1 -1
- package/kit/skills/legacy-characterization-tests/SKILL.md +1 -1
- package/kit/skills/legacy-effect-analysis/SKILL.md +1 -1
- package/kit/skills/legacy-extract-class/SKILL.md +1 -1
- package/kit/skills/legacy-programming-by-difference/SKILL.md +1 -1
- package/kit/skills/legacy-seams-and-test-harness/SKILL.md +1 -1
- package/kit/skills/legacy-shotgun-surgery/SKILL.md +1 -1
- package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +1 -1
- package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +1 -1
- package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +1 -1
- package/kit/skills/member-invite-flow/SKILL.md +1 -1
- package/kit/skills/member-management-react-shadcn/SKILL.md +1 -1
- package/kit/skills/multi-tenant-performance-scaling/SKILL.md +1 -1
- package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +1 -1
- package/kit/skills/org-onboarding-flow/SKILL.md +1 -1
- package/kit/skills/org-switcher-react-pattern/SKILL.md +1 -1
- package/kit/skills/permission-gate-react-pattern/SKILL.md +1 -1
- package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +1 -1
- package/kit/skills/pre-refactor-characterization/SKILL.md +1 -1
- package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +1 -1
- package/kit/skills/streams-eventos-cdc/SKILL.md +1 -1
- package/kit/skills/supabase-branching-workflow/SKILL.md +544 -0
- package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -0
- package/kit/skills/supabase-column-level-security/SKILL.md +1 -1
- package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -0
- package/kit/skills/supabase-custom-claims-rbac/SKILL.md +1 -1
- package/kit/skills/supabase-migration-repair/SKILL.md +823 -0
- package/kit/skills/supabase-migrations/SKILL.md +1 -1
- package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -0
- package/kit/skills/supabase-postgres-roles/SKILL.md +1 -1
- package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +1 -1
- package/kit/skills/supabase-rls-policies/SKILL.md +1 -1
- package/kit/skills/super-admin-platform-pattern/SKILL.md +1 -1
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +1 -1
- package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +1 -1
- package/package.json +63 -63
- package/src/cli/index.js +345 -6
- package/src/cli/render.js +7 -0
- package/src/core/kit.js +216 -216
- package/src/core/logger.js +170 -0
- package/src/core/notify.js +60 -0
- package/src/core/reflect.js +247 -247
- package/src/core/reverse-sync.js +372 -372
- package/src/core/sync.js +418 -418
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +65 -2
|
@@ -1,252 +1,252 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Verificar o alcance do objetivo da fase por meio de análise regressiva de objetivos. Verificar se o código entrega o que a fase prometeu, não apenas se as tarefas foram concluídas.
|
|
3
|
-
|
|
4
|
-
Executado por um subagente de verificação spawnado a partir de execute-phase.md.
|
|
5
|
-
</purpose>
|
|
6
|
-
|
|
7
|
-
<core_principle>
|
|
8
|
-
**Conclusão de tarefa ≠ Alcance do objetivo**
|
|
9
|
-
|
|
10
|
-
Uma tarefa "criar componente de chat" pode ser marcada como concluída quando o componente é um placeholder. A tarefa foi feita — mas o objetivo "interface de chat funcional" não foi alcançado.
|
|
11
|
-
|
|
12
|
-
Verificação regressiva de objetivos:
|
|
13
|
-
1. O que deve ser VERDADEIRO para o objetivo ser alcançado?
|
|
14
|
-
2. O que deve EXISTIR para essas verdades se sustentarem?
|
|
15
|
-
3. O que deve estar CONECTADO para esses artefatos funcionarem?
|
|
16
|
-
|
|
17
|
-
Em seguida, verifique cada nível em relação ao código atual.
|
|
18
|
-
</core_principle>
|
|
19
|
-
|
|
20
|
-
<required_reading>
|
|
21
|
-
@./.claude/framework/references/verification-patterns.md
|
|
22
|
-
@./.claude/framework/templates/verification-report.md
|
|
23
|
-
</required_reading>
|
|
24
|
-
|
|
25
|
-
<process>
|
|
26
|
-
|
|
27
|
-
<step name="load_context" priority="first">
|
|
28
|
-
Carregue o contexto da operação de fase:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
INIT=$(node "./.claude/framework/bin/tools.cjs" init phase-op "${PHASE_ARG}")
|
|
32
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Extraia do JSON de init: `phase_dir`, `phase_number`, `phase_name`, `has_plans`, `plan_count`.
|
|
36
|
-
|
|
37
|
-
Em seguida, carregue os detalhes da fase e liste os planos/sumários:
|
|
38
|
-
```bash
|
|
39
|
-
node "./.claude/framework/bin/tools.cjs" roadmap get-phase "${phase_number}"
|
|
40
|
-
grep -E "^| ${phase_number}" .planning/REQUIREMENTS.md 2>/dev/null || true
|
|
41
|
-
ls "$phase_dir"/*-SUMMARY.md "$phase_dir"/*-PLAN.md 2>/dev/null || true
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Extraia o **objetivo da fase** do ROADMAP.md (o resultado a verificar, não as tarefas) e os **requisitos** do REQUIREMENTS.md se existir.
|
|
45
|
-
</step>
|
|
46
|
-
|
|
47
|
-
<step name="establish_must_haves">
|
|
48
|
-
**Opção A: Must-haves no frontmatter do PLAN**
|
|
49
|
-
|
|
50
|
-
Use tools para extrair must_haves de cada PLAN:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
54
|
-
MUST_HAVES=$(node "./.claude/framework/bin/tools.cjs" frontmatter get "$plan" --field must_haves)
|
|
55
|
-
echo "=== $plan ===" && echo "$MUST_HAVES"
|
|
56
|
-
done
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Retorna JSON: `{ truths: [...], artifacts: [...], key_links: [...] }`
|
|
60
|
-
|
|
61
|
-
Agregue todos os must_haves dos planos para verificação em nível de fase.
|
|
62
|
-
|
|
63
|
-
**Opção B: Usar Critérios de Sucesso do ROADMAP.md**
|
|
64
|
-
|
|
65
|
-
Se não houver must_haves no frontmatter (MUST_HAVES retorna erro ou vazio), verifique os Critérios de Sucesso:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
PHASE_DATA=$(node "./.claude/framework/bin/tools.cjs" roadmap get-phase "${phase_number}" --raw)
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Analise o array `success_criteria` da saída JSON. Se não vazio:
|
|
72
|
-
1. Use cada Critério de Sucesso diretamente como uma **verdade** (já escritos como comportamentos observáveis e testáveis)
|
|
73
|
-
2. Derive **artefatos** (caminhos de arquivo concretos para cada verdade)
|
|
74
|
-
3. Derive **key links** (conexões críticas onde stubs se escondem)
|
|
75
|
-
4. Documente os must-haves antes de prosseguir
|
|
76
|
-
|
|
77
|
-
Critérios de Sucesso do ROADMAP.md são o contrato — sobrepõem must_haves do nível do PLAN quando ambos existem.
|
|
78
|
-
|
|
79
|
-
**Opção C: Derivar do objetivo da fase (fallback)**
|
|
80
|
-
|
|
81
|
-
Se não houver must_haves no frontmatter E não houver Critérios de Sucesso no ROADMAP:
|
|
82
|
-
1. Declare o objetivo do ROADMAP.md
|
|
83
|
-
2. Derive **verdades** (3-7 comportamentos observáveis, cada um testável)
|
|
84
|
-
3. Derive **artefatos** (caminhos de arquivo concretos para cada verdade)
|
|
85
|
-
4. Derive **key links** (conexões críticas onde stubs se escondem)
|
|
86
|
-
5. Documente os must-haves derivados antes de prosseguir
|
|
87
|
-
</step>
|
|
88
|
-
|
|
89
|
-
<step name="verify_truths">
|
|
90
|
-
Para cada verdade observável, determine se o código a viabiliza.
|
|
91
|
-
|
|
92
|
-
**Status:** ✓ VERIFICADO (todos os artefatos de suporte passam) | ✗ FALHOU (artefato ausente/stub/desconectado) | ? INCERTO (precisa de humano)
|
|
93
|
-
|
|
94
|
-
Para cada verdade: identifique artefatos de suporte → verifique o status do artefato → verifique a conexão → determine o status da verdade.
|
|
95
|
-
|
|
96
|
-
**Exemplo:** Verdade "Usuário pode ver mensagens existentes" depende de Chat.tsx (renderiza), /api/chat GET (fornece), modelo Message (schema). Se Chat.tsx for um stub ou a API retornar [] codificado → FALHOU. Se tudo existe, é substantivo e conectado → VERIFICADO.
|
|
97
|
-
</step>
|
|
98
|
-
|
|
99
|
-
<step name="verify_artifacts">
|
|
100
|
-
Use tools para verificação de artefatos contra must_haves em cada PLAN:
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
104
|
-
ARTIFACT_RESULT=$(node "./.claude/framework/bin/tools.cjs" verify artifacts "$plan")
|
|
105
|
-
echo "=== $plan ===" && echo "$ARTIFACT_RESULT"
|
|
106
|
-
done
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Analise o resultado JSON: `{ all_passed, passed, total, artifacts: [{path, exists, issues, passed}] }`
|
|
110
|
-
|
|
111
|
-
**Status do artefato a partir do resultado:**
|
|
112
|
-
- `exists=false` → AUSENTE
|
|
113
|
-
- `issues` não vazio → STUB (verifique issues por "Only N lines" ou "Missing pattern")
|
|
114
|
-
- `passed=true` → VERIFICADO (Níveis 1-2 passam)
|
|
115
|
-
|
|
116
|
-
**Nível 3 — Conectado (verificação manual para artefatos que passam nos Níveis 1-2):**
|
|
117
|
-
```bash
|
|
118
|
-
grep -r "import.*$artifact_name" src/ --include="*.ts" --include="*.tsx" # IMPORTADO
|
|
119
|
-
grep -r "$artifact_name" src/ --include="*.ts" --include="*.tsx" | grep -v "import" # USADO
|
|
120
|
-
```
|
|
121
|
-
CONECTADO = importado E usado. ÓRFÃO = existe mas não importado/usado.
|
|
122
|
-
|
|
123
|
-
| Existe | Substantivo | Conectado | Status |
|
|
124
|
-
|--------|-------------|-----------|--------|
|
|
125
|
-
| ✓ | ✓ | ✓ | ✓ VERIFICADO |
|
|
126
|
-
| ✓ | ✓ | ✗ | ⚠️ ÓRFÃO |
|
|
127
|
-
| ✓ | ✗ | - | ✗ STUB |
|
|
128
|
-
| ✗ | - | - | ✗ AUSENTE |
|
|
129
|
-
|
|
130
|
-
**Verificação pontual de exportações (severidade AVISO):**
|
|
131
|
-
|
|
132
|
-
Para artefatos que passam no Nível 3, verifique pontualmente as exportações individuais:
|
|
133
|
-
- Extraia os símbolos exportados chave (funções, constantes, classes — pule tipos/interfaces)
|
|
134
|
-
- Para cada um, pesquise uso fora do arquivo que define
|
|
135
|
-
- Sinalize exportações com zero call sites externos como "exportado mas não utilizado"
|
|
136
|
-
|
|
137
|
-
Isso captura stores mortos como `setPlan()` que existem em um arquivo conectado mas nunca são chamados de fato. Reporte como AVISO — pode indicar conexão incompleta entre planos ou código sobrante de revisões de plano.
|
|
138
|
-
</step>
|
|
139
|
-
|
|
140
|
-
<step name="verify_wiring">
|
|
141
|
-
Use tools para verificação de key links contra must_haves em cada PLAN:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
145
|
-
LINKS_RESULT=$(node "./.claude/framework/bin/tools.cjs" verify key-links "$plan")
|
|
146
|
-
echo "=== $plan ===" && echo "$LINKS_RESULT"
|
|
147
|
-
done
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
Analise o resultado JSON: `{ all_verified, verified, total, links: [{from, to, via, verified, detail}] }`
|
|
151
|
-
|
|
152
|
-
**Status do link a partir do resultado:**
|
|
153
|
-
- `verified=true` → CONECTADO
|
|
154
|
-
- `verified=false` com "not found" → NÃO_CONECTADO
|
|
155
|
-
- `verified=false` com "Pattern not found" → PARCIAL
|
|
156
|
-
|
|
157
|
-
**Padrões fallback (se key_links não estiverem nos must_haves):**
|
|
158
|
-
|
|
159
|
-
| Padrão | Verificação | Status |
|
|
160
|
-
|--------|-------------|--------|
|
|
161
|
-
| Componente → API | chamada fetch/axios ao caminho da API, resposta usada (await/.then/setState) | CONECTADO / PARCIAL (chamada mas resposta não usada) / NÃO_CONECTADO |
|
|
162
|
-
| API → Banco de Dados | query Prisma/DB no modelo, resultado retornado via res.json() | CONECTADO / PARCIAL (query mas não retornado) / NÃO_CONECTADO |
|
|
163
|
-
| Formulário → Handler | onSubmit com implementação real (fetch/axios/mutate/dispatch), não console.log/vazio | CONECTADO / STUB (apenas log/vazio) / NÃO_CONECTADO |
|
|
164
|
-
| Estado → Render | variável useState aparece no JSX (`{stateVar}` ou `{stateVar.property}`) | CONECTADO / NÃO_CONECTADO |
|
|
165
|
-
|
|
166
|
-
Registre status e evidência para cada key link.
|
|
167
|
-
</step>
|
|
168
|
-
|
|
169
|
-
<step name="verify_requirements">
|
|
170
|
-
Se REQUIREMENTS.md existir:
|
|
171
|
-
```bash
|
|
172
|
-
grep -E "Phase ${PHASE_NUM}" .planning/REQUIREMENTS.md 2>/dev/null || true
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
Para cada requisito: analise a descrição → identifique verdades/artefatos de suporte → status: ✓ SATISFEITO / ✗ BLOQUEADO / ? PRECISA DE HUMANO.
|
|
176
|
-
</step>
|
|
177
|
-
|
|
178
|
-
<step name="scan_antipatterns">
|
|
179
|
-
Extraia arquivos modificados nesta fase do SUMMARY.md, escaneie cada um:
|
|
180
|
-
|
|
181
|
-
| Padrão | Busca | Severidade |
|
|
182
|
-
|--------|-------|------------|
|
|
183
|
-
| TODO/FIXME/XXX/HACK | `grep -n -E "TODO\|FIXME\|XXX\|HACK"` | ⚠️ Aviso |
|
|
184
|
-
| Conteúdo placeholder | `grep -n -iE "placeholder\|coming soon\|will be here"` | 🛑 Bloqueador |
|
|
185
|
-
| Retornos vazios | `grep -n -E "return null\|return \{\}\|return \[\]\|=> \{\}"` | ⚠️ Aviso |
|
|
186
|
-
| Funções apenas com log | Funções contendo apenas console.log | ⚠️ Aviso |
|
|
187
|
-
|
|
188
|
-
Categorize: 🛑 Bloqueador (impede o objetivo) | ⚠️ Aviso (incompleto) | ℹ️ Info (notável).
|
|
189
|
-
</step>
|
|
190
|
-
|
|
191
|
-
<step name="identify_human_verification">
|
|
192
|
-
**Sempre precisa de humano:** Aparência visual, conclusão de fluxo do usuário, comportamento em tempo real (WebSocket/SSE), integração com serviço externo, sensação de desempenho, clareza de mensagens de erro.
|
|
193
|
-
|
|
194
|
-
**Precisa de humano se incerto:** Conexão complexa que grep não consegue rastrear, comportamento dinâmico dependente de estado, casos extremos.
|
|
195
|
-
|
|
196
|
-
Formate cada um como: Nome do Teste → O que fazer → Resultado esperado → Por que não pode verificar programaticamente.
|
|
197
|
-
</step>
|
|
198
|
-
|
|
199
|
-
<step name="determine_status">
|
|
200
|
-
**passed:** Todas as verdades VERIFICADAS, todos os artefatos passam nos níveis 1-3, todos os key links CONECTADOS, sem anti-padrões bloqueadores.
|
|
201
|
-
|
|
202
|
-
**gaps_found:** Qualquer verdade FALHOU, artefato AUSENTE/STUB, key link NÃO_CONECTADO, ou bloqueador encontrado.
|
|
203
|
-
|
|
204
|
-
**human_needed:** Todas as verificações automatizadas passam, mas itens de verificação humana permanecem.
|
|
205
|
-
|
|
206
|
-
**Pontuação:** `verified_truths / total_truths`
|
|
207
|
-
</step>
|
|
208
|
-
|
|
209
|
-
<step name="generate_fix_plans">
|
|
210
|
-
Se gaps_found:
|
|
211
|
-
|
|
212
|
-
1. **Agrupar lacunas relacionadas:** Stub de API + componente desconectado → "Conectar frontend ao backend". Vários ausentes → "Completar implementação principal". Apenas conexão → "Conectar componentes existentes".
|
|
213
|
-
|
|
214
|
-
2. **Gerar plano por grupo:** Objetivo, 2-3 tarefas (arquivos/ação/verificar para cada), etapa de re-verificação. Mantenha focado: uma preocupação por plano.
|
|
215
|
-
|
|
216
|
-
3. **Ordenar por dependência:** Corrigir ausentes → corrigir stubs → corrigir conexões → verificar.
|
|
217
|
-
</step>
|
|
218
|
-
|
|
219
|
-
<step name="create_report">
|
|
220
|
-
```bash
|
|
221
|
-
REPORT_PATH="$PHASE_DIR/${PHASE_NUM}-VERIFICATION.md"
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
Preencha as seções do template: frontmatter (fase/timestamp/status/pontuação), alcance do objetivo, tabela de artefatos, tabela de conexões, cobertura de requisitos, anti-padrões, verificação humana, resumo de lacunas, planos de correção (se gaps_found), metadados.
|
|
225
|
-
|
|
226
|
-
Veja ./.claude/framework/templates/verification-report.md para o template completo.
|
|
227
|
-
</step>
|
|
228
|
-
|
|
229
|
-
<step name="return_to_orchestrator">
|
|
230
|
-
Retorne status (`passed` | `gaps_found` | `human_needed`), pontuação (N/M must-haves), caminho do relatório.
|
|
231
|
-
|
|
232
|
-
Se gaps_found: liste lacunas + nomes de planos de correção recomendados.
|
|
233
|
-
Se human_needed: liste itens que requerem teste humano.
|
|
234
|
-
|
|
235
|
-
O orquestrador roteia: `passed` → update_roadmap | `gaps_found` → criar/executar correções, re-verificar | `human_needed` → apresentar ao usuário.
|
|
236
|
-
</step>
|
|
237
|
-
|
|
238
|
-
</process>
|
|
239
|
-
|
|
240
|
-
<success_criteria>
|
|
241
|
-
- [ ] Must-haves estabelecidos (a partir do frontmatter ou derivados)
|
|
242
|
-
- [ ] Todas as verdades verificadas com status e evidência
|
|
243
|
-
- [ ] Todos os artefatos verificados nos três níveis
|
|
244
|
-
- [ ] Todos os key links verificados
|
|
245
|
-
- [ ] Cobertura de requisitos avaliada (se aplicável)
|
|
246
|
-
- [ ] Anti-padrões escaneados e categorizados
|
|
247
|
-
- [ ] Itens de verificação humana identificados
|
|
248
|
-
- [ ] Status geral determinado
|
|
249
|
-
- [ ] Planos de correção gerados (se gaps_found)
|
|
250
|
-
- [ ] VERIFICATION.md criado com relatório completo
|
|
251
|
-
- [ ] Resultados retornados ao orquestrador
|
|
252
|
-
</success_criteria>
|
|
1
|
+
<purpose>
|
|
2
|
+
Verificar o alcance do objetivo da fase por meio de análise regressiva de objetivos. Verificar se o código entrega o que a fase prometeu, não apenas se as tarefas foram concluídas.
|
|
3
|
+
|
|
4
|
+
Executado por um subagente de verificação spawnado a partir de execute-phase.md.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<core_principle>
|
|
8
|
+
**Conclusão de tarefa ≠ Alcance do objetivo**
|
|
9
|
+
|
|
10
|
+
Uma tarefa "criar componente de chat" pode ser marcada como concluída quando o componente é um placeholder. A tarefa foi feita — mas o objetivo "interface de chat funcional" não foi alcançado.
|
|
11
|
+
|
|
12
|
+
Verificação regressiva de objetivos:
|
|
13
|
+
1. O que deve ser VERDADEIRO para o objetivo ser alcançado?
|
|
14
|
+
2. O que deve EXISTIR para essas verdades se sustentarem?
|
|
15
|
+
3. O que deve estar CONECTADO para esses artefatos funcionarem?
|
|
16
|
+
|
|
17
|
+
Em seguida, verifique cada nível em relação ao código atual.
|
|
18
|
+
</core_principle>
|
|
19
|
+
|
|
20
|
+
<required_reading>
|
|
21
|
+
@./.claude/framework/references/verification-patterns.md
|
|
22
|
+
@./.claude/framework/templates/verification-report.md
|
|
23
|
+
</required_reading>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
|
|
27
|
+
<step name="load_context" priority="first">
|
|
28
|
+
Carregue o contexto da operação de fase:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
INIT=$(node "./.claude/framework/bin/tools.cjs" init phase-op "${PHASE_ARG}")
|
|
32
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Extraia do JSON de init: `phase_dir`, `phase_number`, `phase_name`, `has_plans`, `plan_count`.
|
|
36
|
+
|
|
37
|
+
Em seguida, carregue os detalhes da fase e liste os planos/sumários:
|
|
38
|
+
```bash
|
|
39
|
+
node "./.claude/framework/bin/tools.cjs" roadmap get-phase "${phase_number}"
|
|
40
|
+
grep -E "^| ${phase_number}" .planning/REQUIREMENTS.md 2>/dev/null || true
|
|
41
|
+
ls "$phase_dir"/*-SUMMARY.md "$phase_dir"/*-PLAN.md 2>/dev/null || true
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Extraia o **objetivo da fase** do ROADMAP.md (o resultado a verificar, não as tarefas) e os **requisitos** do REQUIREMENTS.md se existir.
|
|
45
|
+
</step>
|
|
46
|
+
|
|
47
|
+
<step name="establish_must_haves">
|
|
48
|
+
**Opção A: Must-haves no frontmatter do PLAN**
|
|
49
|
+
|
|
50
|
+
Use tools para extrair must_haves de cada PLAN:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
54
|
+
MUST_HAVES=$(node "./.claude/framework/bin/tools.cjs" frontmatter get "$plan" --field must_haves)
|
|
55
|
+
echo "=== $plan ===" && echo "$MUST_HAVES"
|
|
56
|
+
done
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Retorna JSON: `{ truths: [...], artifacts: [...], key_links: [...] }`
|
|
60
|
+
|
|
61
|
+
Agregue todos os must_haves dos planos para verificação em nível de fase.
|
|
62
|
+
|
|
63
|
+
**Opção B: Usar Critérios de Sucesso do ROADMAP.md**
|
|
64
|
+
|
|
65
|
+
Se não houver must_haves no frontmatter (MUST_HAVES retorna erro ou vazio), verifique os Critérios de Sucesso:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
PHASE_DATA=$(node "./.claude/framework/bin/tools.cjs" roadmap get-phase "${phase_number}" --raw)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Analise o array `success_criteria` da saída JSON. Se não vazio:
|
|
72
|
+
1. Use cada Critério de Sucesso diretamente como uma **verdade** (já escritos como comportamentos observáveis e testáveis)
|
|
73
|
+
2. Derive **artefatos** (caminhos de arquivo concretos para cada verdade)
|
|
74
|
+
3. Derive **key links** (conexões críticas onde stubs se escondem)
|
|
75
|
+
4. Documente os must-haves antes de prosseguir
|
|
76
|
+
|
|
77
|
+
Critérios de Sucesso do ROADMAP.md são o contrato — sobrepõem must_haves do nível do PLAN quando ambos existem.
|
|
78
|
+
|
|
79
|
+
**Opção C: Derivar do objetivo da fase (fallback)**
|
|
80
|
+
|
|
81
|
+
Se não houver must_haves no frontmatter E não houver Critérios de Sucesso no ROADMAP:
|
|
82
|
+
1. Declare o objetivo do ROADMAP.md
|
|
83
|
+
2. Derive **verdades** (3-7 comportamentos observáveis, cada um testável)
|
|
84
|
+
3. Derive **artefatos** (caminhos de arquivo concretos para cada verdade)
|
|
85
|
+
4. Derive **key links** (conexões críticas onde stubs se escondem)
|
|
86
|
+
5. Documente os must-haves derivados antes de prosseguir
|
|
87
|
+
</step>
|
|
88
|
+
|
|
89
|
+
<step name="verify_truths">
|
|
90
|
+
Para cada verdade observável, determine se o código a viabiliza.
|
|
91
|
+
|
|
92
|
+
**Status:** ✓ VERIFICADO (todos os artefatos de suporte passam) | ✗ FALHOU (artefato ausente/stub/desconectado) | ? INCERTO (precisa de humano)
|
|
93
|
+
|
|
94
|
+
Para cada verdade: identifique artefatos de suporte → verifique o status do artefato → verifique a conexão → determine o status da verdade.
|
|
95
|
+
|
|
96
|
+
**Exemplo:** Verdade "Usuário pode ver mensagens existentes" depende de Chat.tsx (renderiza), /api/chat GET (fornece), modelo Message (schema). Se Chat.tsx for um stub ou a API retornar [] codificado → FALHOU. Se tudo existe, é substantivo e conectado → VERIFICADO.
|
|
97
|
+
</step>
|
|
98
|
+
|
|
99
|
+
<step name="verify_artifacts">
|
|
100
|
+
Use tools para verificação de artefatos contra must_haves em cada PLAN:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
104
|
+
ARTIFACT_RESULT=$(node "./.claude/framework/bin/tools.cjs" verify artifacts "$plan")
|
|
105
|
+
echo "=== $plan ===" && echo "$ARTIFACT_RESULT"
|
|
106
|
+
done
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Analise o resultado JSON: `{ all_passed, passed, total, artifacts: [{path, exists, issues, passed}] }`
|
|
110
|
+
|
|
111
|
+
**Status do artefato a partir do resultado:**
|
|
112
|
+
- `exists=false` → AUSENTE
|
|
113
|
+
- `issues` não vazio → STUB (verifique issues por "Only N lines" ou "Missing pattern")
|
|
114
|
+
- `passed=true` → VERIFICADO (Níveis 1-2 passam)
|
|
115
|
+
|
|
116
|
+
**Nível 3 — Conectado (verificação manual para artefatos que passam nos Níveis 1-2):**
|
|
117
|
+
```bash
|
|
118
|
+
grep -r "import.*$artifact_name" src/ --include="*.ts" --include="*.tsx" # IMPORTADO
|
|
119
|
+
grep -r "$artifact_name" src/ --include="*.ts" --include="*.tsx" | grep -v "import" # USADO
|
|
120
|
+
```
|
|
121
|
+
CONECTADO = importado E usado. ÓRFÃO = existe mas não importado/usado.
|
|
122
|
+
|
|
123
|
+
| Existe | Substantivo | Conectado | Status |
|
|
124
|
+
|--------|-------------|-----------|--------|
|
|
125
|
+
| ✓ | ✓ | ✓ | ✓ VERIFICADO |
|
|
126
|
+
| ✓ | ✓ | ✗ | ⚠️ ÓRFÃO |
|
|
127
|
+
| ✓ | ✗ | - | ✗ STUB |
|
|
128
|
+
| ✗ | - | - | ✗ AUSENTE |
|
|
129
|
+
|
|
130
|
+
**Verificação pontual de exportações (severidade AVISO):**
|
|
131
|
+
|
|
132
|
+
Para artefatos que passam no Nível 3, verifique pontualmente as exportações individuais:
|
|
133
|
+
- Extraia os símbolos exportados chave (funções, constantes, classes — pule tipos/interfaces)
|
|
134
|
+
- Para cada um, pesquise uso fora do arquivo que define
|
|
135
|
+
- Sinalize exportações com zero call sites externos como "exportado mas não utilizado"
|
|
136
|
+
|
|
137
|
+
Isso captura stores mortos como `setPlan()` que existem em um arquivo conectado mas nunca são chamados de fato. Reporte como AVISO — pode indicar conexão incompleta entre planos ou código sobrante de revisões de plano.
|
|
138
|
+
</step>
|
|
139
|
+
|
|
140
|
+
<step name="verify_wiring">
|
|
141
|
+
Use tools para verificação de key links contra must_haves em cada PLAN:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
145
|
+
LINKS_RESULT=$(node "./.claude/framework/bin/tools.cjs" verify key-links "$plan")
|
|
146
|
+
echo "=== $plan ===" && echo "$LINKS_RESULT"
|
|
147
|
+
done
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Analise o resultado JSON: `{ all_verified, verified, total, links: [{from, to, via, verified, detail}] }`
|
|
151
|
+
|
|
152
|
+
**Status do link a partir do resultado:**
|
|
153
|
+
- `verified=true` → CONECTADO
|
|
154
|
+
- `verified=false` com "not found" → NÃO_CONECTADO
|
|
155
|
+
- `verified=false` com "Pattern not found" → PARCIAL
|
|
156
|
+
|
|
157
|
+
**Padrões fallback (se key_links não estiverem nos must_haves):**
|
|
158
|
+
|
|
159
|
+
| Padrão | Verificação | Status |
|
|
160
|
+
|--------|-------------|--------|
|
|
161
|
+
| Componente → API | chamada fetch/axios ao caminho da API, resposta usada (await/.then/setState) | CONECTADO / PARCIAL (chamada mas resposta não usada) / NÃO_CONECTADO |
|
|
162
|
+
| API → Banco de Dados | query Prisma/DB no modelo, resultado retornado via res.json() | CONECTADO / PARCIAL (query mas não retornado) / NÃO_CONECTADO |
|
|
163
|
+
| Formulário → Handler | onSubmit com implementação real (fetch/axios/mutate/dispatch), não console.log/vazio | CONECTADO / STUB (apenas log/vazio) / NÃO_CONECTADO |
|
|
164
|
+
| Estado → Render | variável useState aparece no JSX (`{stateVar}` ou `{stateVar.property}`) | CONECTADO / NÃO_CONECTADO |
|
|
165
|
+
|
|
166
|
+
Registre status e evidência para cada key link.
|
|
167
|
+
</step>
|
|
168
|
+
|
|
169
|
+
<step name="verify_requirements">
|
|
170
|
+
Se REQUIREMENTS.md existir:
|
|
171
|
+
```bash
|
|
172
|
+
grep -E "Phase ${PHASE_NUM}" .planning/REQUIREMENTS.md 2>/dev/null || true
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Para cada requisito: analise a descrição → identifique verdades/artefatos de suporte → status: ✓ SATISFEITO / ✗ BLOQUEADO / ? PRECISA DE HUMANO.
|
|
176
|
+
</step>
|
|
177
|
+
|
|
178
|
+
<step name="scan_antipatterns">
|
|
179
|
+
Extraia arquivos modificados nesta fase do SUMMARY.md, escaneie cada um:
|
|
180
|
+
|
|
181
|
+
| Padrão | Busca | Severidade |
|
|
182
|
+
|--------|-------|------------|
|
|
183
|
+
| TODO/FIXME/XXX/HACK | `grep -n -E "TODO\|FIXME\|XXX\|HACK"` | ⚠️ Aviso |
|
|
184
|
+
| Conteúdo placeholder | `grep -n -iE "placeholder\|coming soon\|will be here"` | 🛑 Bloqueador |
|
|
185
|
+
| Retornos vazios | `grep -n -E "return null\|return \{\}\|return \[\]\|=> \{\}"` | ⚠️ Aviso |
|
|
186
|
+
| Funções apenas com log | Funções contendo apenas console.log | ⚠️ Aviso |
|
|
187
|
+
|
|
188
|
+
Categorize: 🛑 Bloqueador (impede o objetivo) | ⚠️ Aviso (incompleto) | ℹ️ Info (notável).
|
|
189
|
+
</step>
|
|
190
|
+
|
|
191
|
+
<step name="identify_human_verification">
|
|
192
|
+
**Sempre precisa de humano:** Aparência visual, conclusão de fluxo do usuário, comportamento em tempo real (WebSocket/SSE), integração com serviço externo, sensação de desempenho, clareza de mensagens de erro.
|
|
193
|
+
|
|
194
|
+
**Precisa de humano se incerto:** Conexão complexa que grep não consegue rastrear, comportamento dinâmico dependente de estado, casos extremos.
|
|
195
|
+
|
|
196
|
+
Formate cada um como: Nome do Teste → O que fazer → Resultado esperado → Por que não pode verificar programaticamente.
|
|
197
|
+
</step>
|
|
198
|
+
|
|
199
|
+
<step name="determine_status">
|
|
200
|
+
**passed:** Todas as verdades VERIFICADAS, todos os artefatos passam nos níveis 1-3, todos os key links CONECTADOS, sem anti-padrões bloqueadores.
|
|
201
|
+
|
|
202
|
+
**gaps_found:** Qualquer verdade FALHOU, artefato AUSENTE/STUB, key link NÃO_CONECTADO, ou bloqueador encontrado.
|
|
203
|
+
|
|
204
|
+
**human_needed:** Todas as verificações automatizadas passam, mas itens de verificação humana permanecem.
|
|
205
|
+
|
|
206
|
+
**Pontuação:** `verified_truths / total_truths`
|
|
207
|
+
</step>
|
|
208
|
+
|
|
209
|
+
<step name="generate_fix_plans">
|
|
210
|
+
Se gaps_found:
|
|
211
|
+
|
|
212
|
+
1. **Agrupar lacunas relacionadas:** Stub de API + componente desconectado → "Conectar frontend ao backend". Vários ausentes → "Completar implementação principal". Apenas conexão → "Conectar componentes existentes".
|
|
213
|
+
|
|
214
|
+
2. **Gerar plano por grupo:** Objetivo, 2-3 tarefas (arquivos/ação/verificar para cada), etapa de re-verificação. Mantenha focado: uma preocupação por plano.
|
|
215
|
+
|
|
216
|
+
3. **Ordenar por dependência:** Corrigir ausentes → corrigir stubs → corrigir conexões → verificar.
|
|
217
|
+
</step>
|
|
218
|
+
|
|
219
|
+
<step name="create_report">
|
|
220
|
+
```bash
|
|
221
|
+
REPORT_PATH="$PHASE_DIR/${PHASE_NUM}-VERIFICATION.md"
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Preencha as seções do template: frontmatter (fase/timestamp/status/pontuação), alcance do objetivo, tabela de artefatos, tabela de conexões, cobertura de requisitos, anti-padrões, verificação humana, resumo de lacunas, planos de correção (se gaps_found), metadados.
|
|
225
|
+
|
|
226
|
+
Veja ./.claude/framework/templates/verification-report.md para o template completo.
|
|
227
|
+
</step>
|
|
228
|
+
|
|
229
|
+
<step name="return_to_orchestrator">
|
|
230
|
+
Retorne status (`passed` | `gaps_found` | `human_needed`), pontuação (N/M must-haves), caminho do relatório.
|
|
231
|
+
|
|
232
|
+
Se gaps_found: liste lacunas + nomes de planos de correção recomendados.
|
|
233
|
+
Se human_needed: liste itens que requerem teste humano.
|
|
234
|
+
|
|
235
|
+
O orquestrador roteia: `passed` → update_roadmap | `gaps_found` → criar/executar correções, re-verificar | `human_needed` → apresentar ao usuário.
|
|
236
|
+
</step>
|
|
237
|
+
|
|
238
|
+
</process>
|
|
239
|
+
|
|
240
|
+
<success_criteria>
|
|
241
|
+
- [ ] Must-haves estabelecidos (a partir do frontmatter ou derivados)
|
|
242
|
+
- [ ] Todas as verdades verificadas com status e evidência
|
|
243
|
+
- [ ] Todos os artefatos verificados nos três níveis
|
|
244
|
+
- [ ] Todos os key links verificados
|
|
245
|
+
- [ ] Cobertura de requisitos avaliada (se aplicável)
|
|
246
|
+
- [ ] Anti-padrões escaneados e categorizados
|
|
247
|
+
- [ ] Itens de verificação humana identificados
|
|
248
|
+
- [ ] Status geral determinado
|
|
249
|
+
- [ ] Planos de correção gerados (se gaps_found)
|
|
250
|
+
- [ ] VERIFICATION.md criado com relatório completo
|
|
251
|
+
- [ ] Resultados retornados ao orquestrador
|
|
252
|
+
</success_criteria>
|