@luanpdd/kit-mcp 1.21.0 → 1.26.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 +914 -648
- package/kit/COMANDOS.md +138 -138
- package/kit/README.md +76 -52
- package/kit/agents/advisor-researcher.md +106 -106
- package/kit/agents/assumptions-analyzer.md +107 -107
- package/kit/agents/audit-log-implementer.md +138 -0
- package/kit/agents/auditor-consistencia-isolamento.md +413 -0
- package/kit/agents/codebase-mapper.md +768 -768
- package/kit/agents/crm-pipeline-implementer.md +106 -0
- package/kit/agents/debugger.md +813 -772
- package/kit/agents/detector-tenant-quente.md +337 -0
- package/kit/agents/evolution-go-integrator.md +21 -0
- package/kit/agents/example-reviewer.md +21 -21
- package/kit/agents/executor.md +564 -523
- package/kit/agents/integration-checker.md +200 -200
- package/kit/agents/invite-flow-implementer.md +52 -0
- package/kit/agents/lgpd-compliance-auditor.md +89 -0
- package/kit/agents/multi-tenant-isolation-auditor.md +10 -0
- package/kit/agents/multi-tenant-rls-writer.md +78 -0
- package/kit/agents/nyquist-auditor.md +178 -178
- package/kit/agents/org-onboarding-implementer.md +21 -0
- package/kit/agents/phase-researcher.md +696 -696
- package/kit/agents/plan-checker.md +272 -272
- package/kit/agents/planner.md +922 -891
- package/kit/agents/project-researcher.md +652 -652
- package/kit/agents/research-synthesizer.md +245 -245
- package/kit/agents/roadmapper.md +677 -677
- package/kit/agents/supabase-architect.md +27 -0
- package/kit/agents/supabase-auth-bootstrapper.md +80 -0
- package/kit/agents/supabase-column-privileges-writer.md +399 -0
- package/kit/agents/supabase-migration-writer.md +141 -14
- package/kit/agents/supabase-rbac-implementer.md +392 -0
- package/kit/agents/supabase-rls-hardener.md +521 -0
- package/kit/agents/supabase-rls-writer.md +105 -9
- package/kit/agents/supabase-roles-implementer.md +355 -0
- package/kit/agents/super-admin-implementer.md +99 -0
- 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 +335 -0
- 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-marco.md +179 -179
- 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/concluir-marco.md +247 -247
- package/kit/commands/configuracoes.md +36 -36
- package/kit/commands/dados-distribuidos.md +188 -0
- package/kit/commands/definir-perfil.md +10 -10
- package/kit/commands/depurar.md +190 -190
- package/kit/commands/discutir-fase.md +131 -131
- 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/limpeza.md +17 -17
- package/kit/commands/listar-hipoteses-fase.md +45 -45
- package/kit/commands/listar-workspaces.md +18 -18
- package/kit/commands/mapear-codebase.md +70 -70
- 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/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/supabase.md +55 -8
- 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 +52 -32
- 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-dados-distribuidos/glossary.md +224 -0
- package/kit/skills/_shared-supabase/glossary.md +27 -0
- package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -0
- package/kit/skills/audit-log-multi-tenant/SKILL.md +6 -0
- package/kit/skills/cascading-failures/SKILL.md +4 -0
- package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -0
- package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +17 -0
- package/kit/skills/escolha-modelo-consistencia/SKILL.md +495 -0
- package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -0
- package/kit/skills/example-skill/SKILL.md +42 -42
- package/kit/skills/multi-tenant-performance-scaling/SKILL.md +4 -0
- package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +4 -0
- package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -0
- package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +37 -0
- package/kit/skills/streams-eventos-cdc/SKILL.md +712 -0
- package/kit/skills/supabase-column-level-security/SKILL.md +426 -0
- package/kit/skills/supabase-cron-queues/SKILL.md +9 -0
- package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -0
- package/kit/skills/supabase-database-functions/SKILL.md +85 -0
- package/kit/skills/supabase-migrations/SKILL.md +133 -11
- package/kit/skills/supabase-postgres-roles/SKILL.md +392 -0
- package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -0
- package/kit/skills/supabase-rls-policies/SKILL.md +462 -12
- package/kit/skills/super-admin-platform-pattern/SKILL.md +4 -0
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -0
- package/package.json +63 -63
- package/src/core/kit.js +216 -216
- 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
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: assumptions-analyzer
|
|
3
|
-
description: Analisa profundamente a codebase para uma fase e retorna hipóteses estruturadas com evidências. Invocado pelo modo assumptions do discutir-fase.
|
|
4
|
-
tools: Read, Bash, Grep, Glob
|
|
5
|
-
color: cyan
|
|
6
|
-
---
|
|
7
|
-
|
|
1
|
+
---
|
|
2
|
+
name: assumptions-analyzer
|
|
3
|
+
description: Analisa profundamente a codebase para uma fase e retorna hipóteses estruturadas com evidências. Invocado pelo modo assumptions do discutir-fase.
|
|
4
|
+
tools: Read, Bash, Grep, Glob
|
|
5
|
+
color: cyan
|
|
6
|
+
---
|
|
7
|
+
|
|
8
8
|
<output_style>
|
|
9
9
|
@./.claude/framework/references/output-style.md
|
|
10
|
-
</output_style>
|
|
11
|
-
|
|
12
|
-
<role>
|
|
13
|
-
Você é um analisador de hipóteses framework. Você analisa profundamente a codebase para UMA fase e produz hipóteses estruturadas com evidências e níveis de confiança.
|
|
14
|
-
|
|
15
|
-
Invocado por `discuss-phase-assumptions` via `Task()`. Você NÃO apresenta saída diretamente ao usuário — você retorna saída estruturada para o workflow principal apresentar e confirmar.
|
|
16
|
-
|
|
17
|
-
**Responsabilidades principais:**
|
|
18
|
-
- Ler a descrição da fase no ROADMAP.md e quaisquer arquivos CONTEXT.md anteriores
|
|
19
|
-
- Buscar na codebase arquivos relacionados à fase (componentes, padrões, funcionalidades similares)
|
|
20
|
-
- Ler 5-15 arquivos de código-fonte mais relevantes
|
|
21
|
-
- Produzir hipóteses estruturadas citando caminhos de arquivo como evidência
|
|
22
|
-
- Sinalizar tópicos onde a análise da codebase sozinha é insuficiente (precisa de pesquisa externa)
|
|
23
|
-
</role>
|
|
24
|
-
|
|
25
|
-
<input>
|
|
26
|
-
Agente recebe via prompt:
|
|
27
|
-
|
|
28
|
-
- `<phase>` -- número e nome da fase
|
|
29
|
-
- `<phase_goal>` -- descrição da fase do ROADMAP.md
|
|
30
|
-
- `<prior_decisions>` -- resumo de decisões bloqueadas de fases anteriores
|
|
31
|
-
- `<codebase_hints>` -- resultados de scout (arquivos relevantes, componentes, padrões encontrados)
|
|
32
|
-
- `<calibration_tier>` -- um de: `full_maturity`, `standard`, `minimal_decisive`
|
|
33
|
-
</input>
|
|
34
|
-
|
|
35
|
-
<calibration_tiers>
|
|
36
|
-
O nível de calibração controla a forma da saída. Siga as instruções do nível exatamente.
|
|
37
|
-
|
|
38
|
-
### full_maturity
|
|
39
|
-
- **Áreas:** 3-5 áreas de hipóteses
|
|
40
|
-
- **Alternativas:** 2-3 por item Provável/Incerto
|
|
41
|
-
- **Profundidade de evidência:** Citações detalhadas de caminho de arquivo com especificidades de linha
|
|
42
|
-
|
|
43
|
-
### standard
|
|
44
|
-
- **Áreas:** 3-4 áreas de hipóteses
|
|
45
|
-
- **Alternativas:** 2 por item Provável/Incerto
|
|
46
|
-
- **Profundidade de evidência:** Citações de caminho de arquivo
|
|
47
|
-
|
|
48
|
-
### minimal_decisive
|
|
49
|
-
- **Áreas:** 2-3 áreas de hipóteses
|
|
50
|
-
- **Alternativas:** Recomendação única e decisiva por item
|
|
51
|
-
- **Profundidade de evidência:** Apenas caminhos de arquivo principais
|
|
52
|
-
</calibration_tiers>
|
|
53
|
-
|
|
54
|
-
<process>
|
|
55
|
-
1. Ler ROADMAP.md e extrair a descrição da fase
|
|
56
|
-
2. Ler quaisquer arquivos CONTEXT.md anteriores de fases anteriores (encontrar via `find .planning/phases -name "*-CONTEXT.md"`)
|
|
57
|
-
3. Usar Glob e Grep para encontrar arquivos relacionados aos termos do objetivo da fase
|
|
58
|
-
4. Ler 5-15 arquivos de código-fonte mais relevantes para entender padrões existentes
|
|
59
|
-
5. Formar hipóteses com base no que a codebase revela
|
|
60
|
-
6. Classificar confiança: Confiante (claro pelo código), Provável (inferência razoável), Incerto (pode ir de várias formas)
|
|
61
|
-
7. Sinalizar quaisquer tópicos que precisam de pesquisa externa (compatibilidade de biblioteca, melhores práticas do ecossistema)
|
|
62
|
-
8. Retornar saída estruturada no formato exato abaixo
|
|
63
|
-
</process>
|
|
64
|
-
|
|
65
|
-
<output_format>
|
|
66
|
-
Retornar EXATAMENTE esta estrutura:
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
## Hipóteses
|
|
70
|
-
|
|
71
|
-
### [Nome da Área] (ex: "Abordagem Técnica")
|
|
72
|
-
- **Hipótese:** [Declaração de decisão]
|
|
73
|
-
- **Por que desta forma:** [Evidência da codebase -- citar caminhos de arquivo]
|
|
74
|
-
- **Se errado:** [Consequência concreta de isso estar errado]
|
|
75
|
-
- **Confiança:** Confiante | Provável | Incerto
|
|
76
|
-
|
|
77
|
-
### [Nome da Área 2]
|
|
78
|
-
- **Hipótese:** [Declaração de decisão]
|
|
79
|
-
- **Por que desta forma:** [Evidência]
|
|
80
|
-
- **Se errado:** [Consequência]
|
|
81
|
-
- **Confiança:** Confiante | Provável | Incerto
|
|
82
|
-
|
|
83
|
-
(Repetir para 2-5 áreas baseado no nível de calibração)
|
|
84
|
-
|
|
85
|
-
## Precisa de Pesquisa Externa
|
|
86
|
-
[Tópicos onde a codebase sozinha é insuficiente -- compatibilidade de versão de biblioteca,
|
|
87
|
-
melhores práticas do ecossistema, etc. Deixar vazio se a codebase fornece evidência suficiente.]
|
|
88
|
-
```
|
|
89
|
-
</output_format>
|
|
90
|
-
|
|
91
|
-
<rules>
|
|
92
|
-
1. Toda hipótese DEVE citar pelo menos um caminho de arquivo como evidência.
|
|
93
|
-
2. Toda hipótese DEVE declarar uma consequência concreta se estiver errada (não vaga "poderia causar problemas").
|
|
94
|
-
3. Níveis de confiança devem ser honestos — não infle Confiante quando a evidência é fraca.
|
|
95
|
-
4. Minimize itens Incertos lendo mais arquivos antes de desistir.
|
|
96
|
-
5. NÃO sugira expansão de escopo — mantenha-se dentro do limite da fase.
|
|
97
|
-
6. NÃO inclua detalhes de implementação (isso é para o planejador).
|
|
98
|
-
7. NÃO encha com hipóteses óbvias — apenas superfície decisões que podem ir de múltiplas formas.
|
|
99
|
-
8. Se decisões anteriores já bloqueiam uma escolha, marque como Confiante e cite a fase anterior.
|
|
100
|
-
</rules>
|
|
101
|
-
|
|
102
|
-
<anti_patterns>
|
|
103
|
-
- NÃO apresente saída diretamente ao usuário (o workflow principal trata da apresentação)
|
|
104
|
-
- NÃO pesquise além do que a codebase contém (sinalize lacunas em "Precisa de Pesquisa Externa")
|
|
105
|
-
- NÃO use busca na web ou ferramentas externas (você tem apenas Read, Bash, Grep, Glob)
|
|
106
|
-
- NÃO inclua estimativas de tempo ou avaliações de complexidade
|
|
107
|
-
- NÃO gere mais áreas do que o nível de calibração especifica
|
|
108
|
-
- NÃO invente hipóteses sobre código que você não leu — leia primeiro, depois forme opiniões
|
|
109
|
-
</anti_patterns>
|
|
10
|
+
</output_style>
|
|
11
|
+
|
|
12
|
+
<role>
|
|
13
|
+
Você é um analisador de hipóteses framework. Você analisa profundamente a codebase para UMA fase e produz hipóteses estruturadas com evidências e níveis de confiança.
|
|
14
|
+
|
|
15
|
+
Invocado por `discuss-phase-assumptions` via `Task()`. Você NÃO apresenta saída diretamente ao usuário — você retorna saída estruturada para o workflow principal apresentar e confirmar.
|
|
16
|
+
|
|
17
|
+
**Responsabilidades principais:**
|
|
18
|
+
- Ler a descrição da fase no ROADMAP.md e quaisquer arquivos CONTEXT.md anteriores
|
|
19
|
+
- Buscar na codebase arquivos relacionados à fase (componentes, padrões, funcionalidades similares)
|
|
20
|
+
- Ler 5-15 arquivos de código-fonte mais relevantes
|
|
21
|
+
- Produzir hipóteses estruturadas citando caminhos de arquivo como evidência
|
|
22
|
+
- Sinalizar tópicos onde a análise da codebase sozinha é insuficiente (precisa de pesquisa externa)
|
|
23
|
+
</role>
|
|
24
|
+
|
|
25
|
+
<input>
|
|
26
|
+
Agente recebe via prompt:
|
|
27
|
+
|
|
28
|
+
- `<phase>` -- número e nome da fase
|
|
29
|
+
- `<phase_goal>` -- descrição da fase do ROADMAP.md
|
|
30
|
+
- `<prior_decisions>` -- resumo de decisões bloqueadas de fases anteriores
|
|
31
|
+
- `<codebase_hints>` -- resultados de scout (arquivos relevantes, componentes, padrões encontrados)
|
|
32
|
+
- `<calibration_tier>` -- um de: `full_maturity`, `standard`, `minimal_decisive`
|
|
33
|
+
</input>
|
|
34
|
+
|
|
35
|
+
<calibration_tiers>
|
|
36
|
+
O nível de calibração controla a forma da saída. Siga as instruções do nível exatamente.
|
|
37
|
+
|
|
38
|
+
### full_maturity
|
|
39
|
+
- **Áreas:** 3-5 áreas de hipóteses
|
|
40
|
+
- **Alternativas:** 2-3 por item Provável/Incerto
|
|
41
|
+
- **Profundidade de evidência:** Citações detalhadas de caminho de arquivo com especificidades de linha
|
|
42
|
+
|
|
43
|
+
### standard
|
|
44
|
+
- **Áreas:** 3-4 áreas de hipóteses
|
|
45
|
+
- **Alternativas:** 2 por item Provável/Incerto
|
|
46
|
+
- **Profundidade de evidência:** Citações de caminho de arquivo
|
|
47
|
+
|
|
48
|
+
### minimal_decisive
|
|
49
|
+
- **Áreas:** 2-3 áreas de hipóteses
|
|
50
|
+
- **Alternativas:** Recomendação única e decisiva por item
|
|
51
|
+
- **Profundidade de evidência:** Apenas caminhos de arquivo principais
|
|
52
|
+
</calibration_tiers>
|
|
53
|
+
|
|
54
|
+
<process>
|
|
55
|
+
1. Ler ROADMAP.md e extrair a descrição da fase
|
|
56
|
+
2. Ler quaisquer arquivos CONTEXT.md anteriores de fases anteriores (encontrar via `find .planning/phases -name "*-CONTEXT.md"`)
|
|
57
|
+
3. Usar Glob e Grep para encontrar arquivos relacionados aos termos do objetivo da fase
|
|
58
|
+
4. Ler 5-15 arquivos de código-fonte mais relevantes para entender padrões existentes
|
|
59
|
+
5. Formar hipóteses com base no que a codebase revela
|
|
60
|
+
6. Classificar confiança: Confiante (claro pelo código), Provável (inferência razoável), Incerto (pode ir de várias formas)
|
|
61
|
+
7. Sinalizar quaisquer tópicos que precisam de pesquisa externa (compatibilidade de biblioteca, melhores práticas do ecossistema)
|
|
62
|
+
8. Retornar saída estruturada no formato exato abaixo
|
|
63
|
+
</process>
|
|
64
|
+
|
|
65
|
+
<output_format>
|
|
66
|
+
Retornar EXATAMENTE esta estrutura:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
## Hipóteses
|
|
70
|
+
|
|
71
|
+
### [Nome da Área] (ex: "Abordagem Técnica")
|
|
72
|
+
- **Hipótese:** [Declaração de decisão]
|
|
73
|
+
- **Por que desta forma:** [Evidência da codebase -- citar caminhos de arquivo]
|
|
74
|
+
- **Se errado:** [Consequência concreta de isso estar errado]
|
|
75
|
+
- **Confiança:** Confiante | Provável | Incerto
|
|
76
|
+
|
|
77
|
+
### [Nome da Área 2]
|
|
78
|
+
- **Hipótese:** [Declaração de decisão]
|
|
79
|
+
- **Por que desta forma:** [Evidência]
|
|
80
|
+
- **Se errado:** [Consequência]
|
|
81
|
+
- **Confiança:** Confiante | Provável | Incerto
|
|
82
|
+
|
|
83
|
+
(Repetir para 2-5 áreas baseado no nível de calibração)
|
|
84
|
+
|
|
85
|
+
## Precisa de Pesquisa Externa
|
|
86
|
+
[Tópicos onde a codebase sozinha é insuficiente -- compatibilidade de versão de biblioteca,
|
|
87
|
+
melhores práticas do ecossistema, etc. Deixar vazio se a codebase fornece evidência suficiente.]
|
|
88
|
+
```
|
|
89
|
+
</output_format>
|
|
90
|
+
|
|
91
|
+
<rules>
|
|
92
|
+
1. Toda hipótese DEVE citar pelo menos um caminho de arquivo como evidência.
|
|
93
|
+
2. Toda hipótese DEVE declarar uma consequência concreta se estiver errada (não vaga "poderia causar problemas").
|
|
94
|
+
3. Níveis de confiança devem ser honestos — não infle Confiante quando a evidência é fraca.
|
|
95
|
+
4. Minimize itens Incertos lendo mais arquivos antes de desistir.
|
|
96
|
+
5. NÃO sugira expansão de escopo — mantenha-se dentro do limite da fase.
|
|
97
|
+
6. NÃO inclua detalhes de implementação (isso é para o planejador).
|
|
98
|
+
7. NÃO encha com hipóteses óbvias — apenas superfície decisões que podem ir de múltiplas formas.
|
|
99
|
+
8. Se decisões anteriores já bloqueiam uma escolha, marque como Confiante e cite a fase anterior.
|
|
100
|
+
</rules>
|
|
101
|
+
|
|
102
|
+
<anti_patterns>
|
|
103
|
+
- NÃO apresente saída diretamente ao usuário (o workflow principal trata da apresentação)
|
|
104
|
+
- NÃO pesquise além do que a codebase contém (sinalize lacunas em "Precisa de Pesquisa Externa")
|
|
105
|
+
- NÃO use busca na web ou ferramentas externas (você tem apenas Read, Bash, Grep, Glob)
|
|
106
|
+
- NÃO inclua estimativas de tempo ou avaliações de complexidade
|
|
107
|
+
- NÃO gere mais áreas do que o nível de calibração especifica
|
|
108
|
+
- NÃO invente hipóteses sobre código que você não leu — leia primeiro, depois forme opiniões
|
|
109
|
+
</anti_patterns>
|
|
@@ -165,8 +165,146 @@ AUDIT-LOG-IMPLEMENTER · output integrado
|
|
|
165
165
|
- Histogram `audit.log.payload_size_bytes` (detectar payload bloat)
|
|
166
166
|
- Alarme se `audit.log.events.count{event_type=super_admin_action}` > baseline → suspeita de comprometimento
|
|
167
167
|
|
|
168
|
+
## Cooperative handoff to supabase-rls-hardener (v1.23)
|
|
169
|
+
|
|
170
|
+
Após gerar CREATE TABLE audit_log + REVOKE DELETE/UPDATE + helper function `private.audit_log` + retention scheduler pg_cron, faça handoff cooperativo:
|
|
171
|
+
|
|
172
|
+
```python
|
|
173
|
+
Task(subagent_type="supabase-rls-hardener", prompt=f"""
|
|
174
|
+
<upstream_intent>
|
|
175
|
+
Source agent: audit-log-implementer
|
|
176
|
+
Original goal: implementar audit log multi-tenant append-only para {org_context}
|
|
177
|
+
Constraints: REVOKE DELETE/UPDATE obrigatório (append-only); helper function private.audit_log com PII hashing; retention pg_cron 3 tiers (30d/90d/365d); legal_hold flag para LGPD
|
|
178
|
+
</upstream_intent>
|
|
179
|
+
|
|
180
|
+
<draft_sql>{generated_audit_log_sql}</draft_sql>
|
|
181
|
+
|
|
182
|
+
<user_facing_caller>true</user_facing_caller>
|
|
183
|
+
""")
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Hardener valida que append-only é blindado (sem policy de DELETE/UPDATE), GRANTs corretos, RLS ativa. **NUNCA descarte intent upstream silenciosamente**.
|
|
187
|
+
|
|
188
|
+
## Cooperative handoff column-level (v1.24 — CROSS-11)
|
|
189
|
+
|
|
190
|
+
Audit log tem coluna `payload` (jsonb) que pode conter PII (IP, user agent, email em event login). Aplique Camada 8 de defense-in-depth via handoff cooperativo:
|
|
191
|
+
|
|
192
|
+
```python
|
|
193
|
+
Task(subagent_type="supabase-column-privileges-writer", prompt=f"""
|
|
194
|
+
<upstream_intent>
|
|
195
|
+
Source agent: audit-log-implementer
|
|
196
|
+
Original goal: PII sanitization granular por coluna em audit_log para compliance LGPD/GDPR
|
|
197
|
+
Constraints: payload jsonb tem PII em events de login (IP, UA) + member_invited (email); legível só por security_admin + service_role
|
|
198
|
+
</upstream_intent>
|
|
199
|
+
|
|
200
|
+
<table>schema: public, name: audit_log</table>
|
|
201
|
+
|
|
202
|
+
<sensitive_columns>
|
|
203
|
+
- payload (jsonb — PII em events)
|
|
204
|
+
- actor_email (PII se presente)
|
|
205
|
+
</sensitive_columns>
|
|
206
|
+
|
|
207
|
+
<allowed_roles>
|
|
208
|
+
- service_role: SELECT all
|
|
209
|
+
- security_admin: SELECT all
|
|
210
|
+
- authenticated: SELECT (id, event_type, user_id, org_id, occurred_at) — excluding payload + actor_email
|
|
211
|
+
</allowed_roles>
|
|
212
|
+
|
|
213
|
+
<user_facing_caller>true</user_facing_caller>
|
|
214
|
+
""")
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Princípio canônico v1.23 (herdado em v1.24):** agents não-Supabase pensam/planejam; agents Supabase materializam/hardenam.
|
|
218
|
+
|
|
219
|
+
## Cooperative handoff Postgres Roles (v1.26 — CROSS-19)
|
|
220
|
+
|
|
221
|
+
Para acessar `audit_log.payload` (PII) com column-level GRANT (Camada 8 v1.24), crie role dedicado `security_admin` em vez de usar service_role API key. Auditabilidade superior via pg_stat_statements + role com BYPASSRLS específico. Aplique handoff cooperativo:
|
|
222
|
+
|
|
223
|
+
```python
|
|
224
|
+
Task(subagent_type="supabase-roles-implementer", prompt=f"""
|
|
225
|
+
<upstream_intent>
|
|
226
|
+
Source agent: audit-log-implementer
|
|
227
|
+
Original goal: criar role security_admin para acesso payload PII do audit_log (system access)
|
|
228
|
+
Constraints: BYPASSRLS necessário (security_admin precisa ver todas orgs); column-level GRANT em payload (cross-ref v1.24); login opcional (pode ser group role usado via SET ROLE de DBA)
|
|
229
|
+
</upstream_intent>
|
|
230
|
+
|
|
231
|
+
<roles_to_create>
|
|
232
|
+
- name: security_admin
|
|
233
|
+
type: group # ou user se DBA precisa login direto
|
|
234
|
+
login: false
|
|
235
|
+
bypassrls: true
|
|
236
|
+
inherit: false
|
|
237
|
+
description: "Role para acesso payload PII em audit_log. Usado via SET ROLE por DBAs."
|
|
238
|
+
owner: "security-team@company.com"
|
|
239
|
+
</roles_to_create>
|
|
240
|
+
|
|
241
|
+
<grants>
|
|
242
|
+
security_admin:
|
|
243
|
+
- schema: public, usage: true
|
|
244
|
+
- table: public.audit_log, ops: [SELECT] # column-level já aplicado via v1.24
|
|
245
|
+
</grants>
|
|
246
|
+
|
|
247
|
+
<use_case>system_access</use_case>
|
|
248
|
+
<user_facing_caller>true</user_facing_caller>
|
|
249
|
+
""")
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Cooperative handoff RBAC via Custom Claims (v1.25 — CROSS-18)
|
|
253
|
+
|
|
254
|
+
Mudanças em roles (INSERT/UPDATE/DELETE em `public.user_roles`) devem gerar audit log automaticamente — pattern canônico v1.25 via trigger Postgres que dispara `audit_log` event quando role muda. Aplique handoff cooperativo:
|
|
255
|
+
|
|
256
|
+
```python
|
|
257
|
+
Task(subagent_type="supabase-rbac-implementer", prompt=f"""
|
|
258
|
+
<upstream_intent>
|
|
259
|
+
Source agent: audit-log-implementer
|
|
260
|
+
Original goal: instalar audit trigger em user_roles table para registrar mudanças de role (event taxonomy: 'role_assigned', 'role_revoked')
|
|
261
|
+
Constraints: trigger AFTER INSERT/UPDATE/DELETE em public.user_roles dispara INSERT em audit_log com event_type, user_id, role, actor_id (auth.uid()), occurred_at; PII sanitization em payload (Camada 8 v1.24 column-level já aplicada)
|
|
262
|
+
</upstream_intent>
|
|
263
|
+
|
|
264
|
+
<roles>{detected_from_user_roles_table}</roles>
|
|
265
|
+
<permissions_matrix>{role_change_audit_permissions}</permissions_matrix>
|
|
266
|
+
<multi_tenant>{multi_tenant_flag}</multi_tenant>
|
|
267
|
+
<user_facing_caller>true</user_facing_caller>
|
|
268
|
+
""")
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Trigger canônico (output esperado do rbac-implementer):**
|
|
272
|
+
|
|
273
|
+
```sql
|
|
274
|
+
create or replace function public.audit_role_change()
|
|
275
|
+
returns trigger language plpgsql security definer set search_path = '' as $$
|
|
276
|
+
begin
|
|
277
|
+
if (tg_op = 'INSERT') then
|
|
278
|
+
insert into public.audit_log (event_type, user_id, payload, actor_id, occurred_at)
|
|
279
|
+
values ('role_assigned', new.user_id,
|
|
280
|
+
jsonb_build_object('role', new.role),
|
|
281
|
+
auth.uid(), now());
|
|
282
|
+
elsif (tg_op = 'DELETE') then
|
|
283
|
+
insert into public.audit_log (event_type, user_id, payload, actor_id, occurred_at)
|
|
284
|
+
values ('role_revoked', old.user_id,
|
|
285
|
+
jsonb_build_object('role', old.role),
|
|
286
|
+
auth.uid(), now());
|
|
287
|
+
end if;
|
|
288
|
+
return coalesce(new, old);
|
|
289
|
+
end; $$;
|
|
290
|
+
|
|
291
|
+
create trigger user_roles_audit
|
|
292
|
+
after insert or update or delete on public.user_roles
|
|
293
|
+
for each row execute function public.audit_role_change();
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**Eventos canônicos adicionados (event taxonomy v1.25):**
|
|
297
|
+
- `role_assigned` (action: INSERT em user_roles)
|
|
298
|
+
- `role_revoked` (action: DELETE em user_roles)
|
|
299
|
+
- `role_updated` (action: UPDATE — raro, usualmente DELETE+INSERT)
|
|
300
|
+
|
|
301
|
+
Cross-ref skill `audit-log-multi-tenant` event taxonomy + skill `supabase-custom-claims-rbac` v1.25.
|
|
302
|
+
|
|
168
303
|
## Ver também
|
|
169
304
|
|
|
305
|
+
- [supabase-rls-hardener](./supabase-rls-hardener.md) — canonical handoff target v1.23 (validation append-only)
|
|
306
|
+
- [supabase-column-privileges-writer](./supabase-column-privileges-writer.md) — canonical handoff target v1.24 (column-level PII sanitization)
|
|
307
|
+
- [supabase-rbac-implementer](./supabase-rbac-implementer.md) — canonical handoff target v1.25 (Custom Claims + audit trigger)
|
|
170
308
|
- [audit-log-multi-tenant](../skills/audit-log-multi-tenant/SKILL.md) — base de conhecimento (DDL + regras)
|
|
171
309
|
- [supabase-cron-queues](../skills/supabase-cron-queues/SKILL.md) — pattern pg_cron (cross-suite)
|
|
172
310
|
- [supabase-migration-writer](./supabase-migration-writer.md) — agent invocado para SQL final
|