@luanpdd/kit-mcp 1.30.2 → 1.32.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 -168
- package/gates/agent-no-recursive-dispatch.md +84 -82
- package/kit/COMANDOS.md +138 -138
- package/kit/COMPATIBILITY.md +5 -0
- package/kit/README.md +76 -76
- package/kit/agents/advisor-researcher.md +107 -106
- package/kit/agents/ai-mutation-tester.md +1 -0
- package/kit/agents/assumptions-analyzer.md +108 -107
- package/kit/agents/audit-log-implementer.md +314 -313
- package/kit/agents/auditor-consistencia-isolamento.md +414 -413
- package/kit/agents/b2b-saas-architect.md +157 -156
- package/kit/agents/burn-rate-forecaster.md +1 -0
- package/kit/agents/cascading-failures-auditor.md +299 -298
- package/kit/agents/codebase-mapper.md +769 -768
- package/kit/agents/crm-pipeline-implementer.md +257 -256
- package/kit/agents/debugger.md +814 -813
- package/kit/agents/detector-tenant-quente.md +338 -337
- package/kit/agents/evolution-go-integrator.md +201 -200
- package/kit/agents/example-reviewer.md +22 -21
- package/kit/agents/executor.md +565 -564
- package/kit/agents/golden-signals-instrumenter.md +1 -0
- package/kit/agents/incident-investigator.md +1 -0
- package/kit/agents/integration-checker.md +201 -200
- package/kit/agents/invite-flow-implementer.md +190 -189
- package/kit/agents/legacy-characterizer.md +369 -368
- package/kit/agents/lgpd-compliance-auditor.md +296 -295
- package/kit/agents/load-shedding-instrumenter.md +1 -0
- package/kit/agents/multi-tenant-isolation-auditor.md +254 -253
- package/kit/agents/multi-tenant-rls-writer.md +341 -340
- package/kit/agents/nyquist-auditor.md +179 -178
- package/kit/agents/observability-coverage-auditor.md +316 -315
- package/kit/agents/observability-instrumenter.md +1 -0
- package/kit/agents/omm-auditor.md +1 -0
- package/kit/agents/org-onboarding-implementer.md +224 -223
- package/kit/agents/payload-capture-instrumenter.md +274 -273
- package/kit/agents/phase-researcher.md +697 -696
- package/kit/agents/plan-checker.md +273 -272
- package/kit/agents/planner.md +923 -922
- package/kit/agents/postmortem-writer.md +1 -0
- package/kit/agents/project-researcher.md +653 -652
- package/kit/agents/prr-conductor.md +1 -0
- package/kit/agents/refactor-safety-auditor.md +405 -404
- package/kit/agents/release-pipeline-auditor.md +1 -0
- package/kit/agents/research-synthesizer.md +246 -245
- package/kit/agents/roadmapper.md +678 -677
- package/kit/agents/schema-checker.md +1 -0
- package/kit/agents/seam-finder.md +360 -359
- package/kit/agents/shotgun-surgery-detector.md +350 -349
- package/kit/agents/slo-engineer.md +1 -0
- package/kit/agents/storytelling-analyst.md +1 -0
- package/kit/agents/supabase-architect.md +1 -0
- package/kit/agents/supabase-auth-bootstrapper.md +16 -1
- package/kit/agents/supabase-auth-hook-writer.md +418 -0
- package/kit/agents/supabase-branching-architect.md +563 -562
- package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -777
- package/kit/agents/supabase-column-privileges-writer.md +400 -399
- package/kit/agents/supabase-edge-fn-tester.md +2 -1
- package/kit/agents/supabase-edge-fn-writer.md +2 -1
- package/kit/agents/supabase-mfa-implementer.md +439 -0
- package/kit/agents/supabase-migration-writer.md +386 -385
- package/kit/agents/supabase-oauth-server-implementer.md +507 -0
- package/kit/agents/supabase-rbac-implementer.md +393 -392
- package/kit/agents/supabase-realtime-implementer.md +364 -363
- package/kit/agents/supabase-rls-hardener.md +522 -521
- package/kit/agents/supabase-rls-writer.md +324 -323
- package/kit/agents/supabase-roles-implementer.md +356 -355
- package/kit/agents/supabase-social-auth-implementer.md +451 -0
- package/kit/agents/supabase-sso-saml-architect.md +549 -0
- package/kit/agents/supabase-storage-implementer.md +1 -0
- package/kit/agents/super-admin-implementer.md +282 -281
- package/kit/agents/toil-auditor.md +1 -0
- package/kit/agents/ui-auditor.md +438 -437
- package/kit/agents/ui-checker.md +303 -302
- package/kit/agents/ui-researcher.md +356 -355
- package/kit/agents/user-profiler.md +176 -175
- package/kit/agents/validador-evolucao-schema.md +336 -335
- package/kit/agents/verifier.md +729 -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 +111 -111
- package/kit/commands/auditar-marco.md +179 -179
- package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
- package/kit/commands/auditar-refactor.md +219 -219
- package/kit/commands/auditar-release.md +109 -109
- 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 +408 -408
- package/kit/commands/capturar-payloads.md +193 -193
- package/kit/commands/caracterizar.md +212 -212
- package/kit/commands/concluir-marco.md +247 -247
- package/kit/commands/configuracoes.md +36 -36
- package/kit/commands/dados-distribuidos.md +188 -188
- package/kit/commands/definir-perfil.md +10 -10
- package/kit/commands/depurar.md +190 -190
- package/kit/commands/detectar-duplicacao.md +197 -197
- package/kit/commands/discutir-fase.md +131 -131
- package/kit/commands/encontrar-seams.md +136 -136
- 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 +263 -263
- 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 +117 -117
- package/kit/commands/mapear-codebase.md +70 -70
- package/kit/commands/multi-tenant.md +163 -163
- 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 +321 -321
- 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 +179 -179
- package/kit/commands/supabase.md +21 -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 +100 -84
- 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/kit-attribution-reminder.cjs +29 -50
- package/kit/hooks/kit-router.cjs +137 -0
- 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/ai-prompt-characterization/SKILL.md +335 -335
- package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
- package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
- package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
- package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
- package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
- package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
- package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
- package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
- package/kit/skills/example-skill/SKILL.md +42 -42
- package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
- package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
- package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
- package/kit/skills/legacy-extract-class/SKILL.md +203 -203
- package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
- package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
- package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
- package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
- package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
- package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
- package/kit/skills/member-invite-flow/SKILL.md +305 -305
- package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
- package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
- package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
- package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
- package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
- package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
- package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
- package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
- package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
- package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
- package/kit/skills/supabase-auth-hardening/SKILL.md +674 -0
- package/kit/skills/supabase-auth-hooks/SKILL.md +875 -0
- package/kit/skills/supabase-auth-methods/SKILL.md +486 -0
- package/kit/skills/supabase-auth-sessions/SKILL.md +579 -0
- package/kit/skills/supabase-auth-ssr/SKILL.md +60 -14
- package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
- package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
- package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
- package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
- package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
- package/kit/skills/supabase-edge-functions/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-auth/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-limits/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-testing/SKILL.md +1 -1
- package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +1 -1
- package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -0
- package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -0
- package/kit/skills/supabase-mfa/SKILL.md +488 -0
- package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
- package/kit/skills/supabase-migrations/SKILL.md +297 -297
- package/kit/skills/supabase-oauth-server/SKILL.md +537 -0
- package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
- package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
- package/kit/skills/supabase-realtime/SKILL.md +460 -460
- package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
- package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
- package/kit/skills/supabase-social-oauth/SKILL.md +480 -0
- package/kit/skills/supabase-third-party-auth/SKILL.md +450 -0
- package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
- package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
- package/package.json +1 -1
- 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 +437 -418
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +794 -746
|
@@ -1,193 +1,193 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: capturar-payloads
|
|
3
|
-
description: Invoca payload-capture-instrumenter — instrumenta Edge Function Supabase para captura via mcp__supabase__get_logs por N dias, sanitiza PII, gera fixtures para legacy-characterizer.
|
|
4
|
-
argument-hint: "<edge_function_path> [--days N] [--max-payloads N] [--mode instrument|drain|full] [--sanitize-keys k1,k2,...]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Grep
|
|
11
|
-
- Glob
|
|
12
|
-
- Task
|
|
13
|
-
- mcp__supabase__execute_sql
|
|
14
|
-
- mcp__supabase__get_logs
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
<objective>
|
|
18
|
-
Instrumentar Edge Function Supabase para capturar **payloads reais** de produção, drenar logs após janela de captura via `mcp__supabase__get_logs`, sanitizar PII deterministicamente, e gerar fixtures prontos para alimentar `/caracterizar`. Invoca o agente [`payload-capture-instrumenter`](../agents/payload-capture-instrumenter.md) que aplica a skill [`legacy-characterization-tests`](../skills/legacy-characterization-tests/SKILL.md) Pattern 7.
|
|
19
|
-
|
|
20
|
-
**Cria/Atualiza:**
|
|
21
|
-
- Patch na Edge Function adicionando log dedicado controlado por env `CAPTURE_PAYLOADS=true`
|
|
22
|
-
- `supabase/functions/_shared/payload-capture.ts` — sanitização canônica
|
|
23
|
-
- `tests/characterization/<edge-fn>/fixtures/payload-NN.json` — fixtures sanitizados após drenagem
|
|
24
|
-
|
|
25
|
-
**Após:** o user tem fixtures BASEADOS EM DISTRIBUIÇÃO REAL de produção, não em sintéticos. Cobertura comportamental cresce significativamente.
|
|
26
|
-
</objective>
|
|
27
|
-
|
|
28
|
-
<context>
|
|
29
|
-
**Argumentos:**
|
|
30
|
-
- `<edge_function_path>` — path da Edge Function (e.g., `supabase/functions/process-orders/index.ts`) — OBRIGATÓRIO
|
|
31
|
-
- `--days N` — janela de captura em dias (default: 7)
|
|
32
|
-
- `--max-payloads N` — máximo de fixtures a salvar (default: 100)
|
|
33
|
-
- `--mode instrument|drain|full` — fase do workflow:
|
|
34
|
-
- `instrument` — só aplica patch (você faz deploy + aguarda)
|
|
35
|
-
- `drain` — só drena logs (após capture já rodou em prod)
|
|
36
|
-
- `full` — patch + aguarda + drena (default — orquestra tudo)
|
|
37
|
-
- `--sanitize-keys k1,k2,k3` — keys adicionais a redact
|
|
38
|
-
|
|
39
|
-
**Workflow esperado:**
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
Dia 0: /capturar-payloads <fn> --mode=instrument
|
|
43
|
-
Dia 0: Você faz deploy + setar CAPTURE_PAYLOADS=true em env
|
|
44
|
-
Dia 1-7: produção captura naturalmente
|
|
45
|
-
Dia 7: /capturar-payloads <fn> --mode=drain
|
|
46
|
-
Dia 7: Fixtures criados em tests/characterization/<fn>/fixtures/
|
|
47
|
-
Dia 7: /caracterizar <fn> --fixtures-dir tests/characterization/<fn>/fixtures
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**Exemplos:**
|
|
51
|
-
```
|
|
52
|
-
/capturar-payloads supabase/functions/webhook-stripe/index.ts # full mode 7 dias
|
|
53
|
-
/capturar-payloads supabase/functions/process-orders/index.ts --days 14 # janela maior
|
|
54
|
-
/capturar-payloads supabase/functions/process-orders/index.ts --mode=instrument # só patch
|
|
55
|
-
/capturar-payloads supabase/functions/process-orders/index.ts --mode=drain # só drenagem
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**Pré-requisitos:**
|
|
59
|
-
- Edge Function deployada em Supabase (modo drain depende de logs em prod)
|
|
60
|
-
- MCP Supabase conectado para drenagem automatizada (alternativa: `supabase functions logs` CLI)
|
|
61
|
-
- Tier full em IDEs com MCP; tier partial degrada para instrumentação only
|
|
62
|
-
|
|
63
|
-
**Quando preferir este comando vs `/caracterizar` direto:**
|
|
64
|
-
- Edge Function tem alto traffic (≥ 100 req/dia) — distribuição real cobre edge cases que sintético não pega
|
|
65
|
-
- Edge Function tem contrato externo crítico (webhook de Stripe/GitHub) — fidelidade absoluta requer payloads reais
|
|
66
|
-
- Equipe quer baseline empírico antes de refactor — payloads reais > inputs sintéticos
|
|
67
|
-
</context>
|
|
68
|
-
|
|
69
|
-
<process>
|
|
70
|
-
|
|
71
|
-
## 1. Parsear argumentos
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
EDGE_FN_PATH=$(echo "$ARGUMENTS" | awk '{print $1}')
|
|
75
|
-
CAPTURE_DAYS=$(echo "$ARGUMENTS" | grep -oE -- '--days [0-9]+' | awk '{print $2}')
|
|
76
|
-
MAX_PAYLOADS=$(echo "$ARGUMENTS" | grep -oE -- '--max-payloads [0-9]+' | awk '{print $2}')
|
|
77
|
-
MODE=$(echo "$ARGUMENTS" | grep -oE -- '--mode[= ][^ ]+' | sed 's/--mode[= ]//')
|
|
78
|
-
SANITIZE_KEYS=$(echo "$ARGUMENTS" | grep -oE -- '--sanitize-keys [^ ]+' | awk '{print $2}')
|
|
79
|
-
|
|
80
|
-
[ -z "$CAPTURE_DAYS" ] && CAPTURE_DAYS=7
|
|
81
|
-
[ -z "$MAX_PAYLOADS" ] && MAX_PAYLOADS=100
|
|
82
|
-
[ -z "$MODE" ] && MODE="full"
|
|
83
|
-
|
|
84
|
-
if [ -z "$EDGE_FN_PATH" ]; then
|
|
85
|
-
echo "ERROR: edge_function_path obrigatório"
|
|
86
|
-
echo "Uso: /capturar-payloads <path> [opções]"
|
|
87
|
-
exit 1
|
|
88
|
-
fi
|
|
89
|
-
|
|
90
|
-
if [ ! -f "$EDGE_FN_PATH" ]; then
|
|
91
|
-
echo "ERROR: arquivo não encontrado: $EDGE_FN_PATH"
|
|
92
|
-
exit 1
|
|
93
|
-
fi
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## 2. Validar pré-requisitos
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# verificar Edge Function (Deno + Deno.serve)
|
|
100
|
-
if ! grep -q "Deno.serve" "$EDGE_FN_PATH"; then
|
|
101
|
-
echo "ERROR: $EDGE_FN_PATH não parece Edge Function (sem Deno.serve)"
|
|
102
|
-
exit 1
|
|
103
|
-
fi
|
|
104
|
-
|
|
105
|
-
# detectar projeto Supabase
|
|
106
|
-
PROJECT_ID=""
|
|
107
|
-
if [ -f "supabase/config.toml" ]; then
|
|
108
|
-
PROJECT_ID=$(grep -E '^project_id\s*=' supabase/config.toml | sed 's/.*= *"\(.*\)".*/\1/' | head -1)
|
|
109
|
-
fi
|
|
110
|
-
|
|
111
|
-
if [ -z "$PROJECT_ID" ] && [ "$MODE" != "instrument" ]; then
|
|
112
|
-
echo "WARN: PROJECT_ID não detectado em supabase/config.toml — drenagem pode falhar"
|
|
113
|
-
fi
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## 3. Dispatch para `payload-capture-instrumenter`
|
|
117
|
-
|
|
118
|
-
```text
|
|
119
|
-
Task(
|
|
120
|
-
subagent_type="payload-capture-instrumenter",
|
|
121
|
-
prompt="
|
|
122
|
-
edge_function_path: ${EDGE_FN_PATH}
|
|
123
|
-
capture_days: ${CAPTURE_DAYS}
|
|
124
|
-
max_payloads: ${MAX_PAYLOADS}
|
|
125
|
-
mode: ${MODE}
|
|
126
|
-
${SANITIZE_KEYS:+sanitize_keys: ${SANITIZE_KEYS}}
|
|
127
|
-
${PROJECT_ID:+project_id: ${PROJECT_ID}}
|
|
128
|
-
|
|
129
|
-
Aplicar skill legacy-characterization-tests Pattern 7. Etapas:
|
|
130
|
-
1. Preflight: validar Edge Function, detectar project_id
|
|
131
|
-
2. (mode=instrument|full) Patch Edge Function adicionando log dedicado
|
|
132
|
-
3. (mode=instrument) Output mensagem para fazer deploy + setar CAPTURE_PAYLOADS=true
|
|
133
|
-
4. (mode=drain|full após delay) Drenar logs via mcp__supabase__get_logs
|
|
134
|
-
5. Para cada log entry com kind=payload-capture:
|
|
135
|
-
- Parse payload sanitized
|
|
136
|
-
- Salvar em tests/characterization/<fn>/fixtures/payload-NN.json
|
|
137
|
-
6. Pós-processamento: validar nenhum unredacted, sanitização adicional
|
|
138
|
-
7. Output curto + recomendações (review fixtures, /caracterizar, remove flag)
|
|
139
|
-
"
|
|
140
|
-
)
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## 4. Pós-output
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
═══════════════════════════════════════════════════════════
|
|
147
|
-
framework ► CAPTURAR-PAYLOADS ▸ ${EDGE_FN_PATH}
|
|
148
|
-
═══════════════════════════════════════════════════════════
|
|
149
|
-
|
|
150
|
-
[output do payload-capture-instrumenter]
|
|
151
|
-
|
|
152
|
-
## Próximos passos por mode
|
|
153
|
-
|
|
154
|
-
### Após mode=instrument
|
|
155
|
-
1. Deploy: `supabase functions deploy <name>`
|
|
156
|
-
2. Setar env var: `supabase secrets set CAPTURE_PAYLOADS=true`
|
|
157
|
-
3. Aguardar ${CAPTURE_DAYS} dias
|
|
158
|
-
4. Rodar: `/capturar-payloads ${EDGE_FN_PATH} --mode=drain`
|
|
159
|
-
|
|
160
|
-
### Após mode=drain ou full
|
|
161
|
-
1. **REVISAR fixtures** manualmente — sample 5-10 arquivos
|
|
162
|
-
2. **VALIDAR no PII vaza:**
|
|
163
|
-
```bash
|
|
164
|
-
grep -E "([0-9]{3}\.[0-9]{3}\.[0-9]{3}-?[0-9]{2}|@.*\..*\.com)" tests/characterization/*/fixtures/*.json
|
|
165
|
-
```
|
|
166
|
-
3. **Alimentar legacy-characterizer:**
|
|
167
|
-
```bash
|
|
168
|
-
/caracterizar ${EDGE_FN_PATH} --fixtures-dir tests/characterization/$(basename $(dirname ${EDGE_FN_PATH}))/fixtures
|
|
169
|
-
```
|
|
170
|
-
4. **Após characterization gerada:** REMOVE flag CAPTURE_PAYLOADS:
|
|
171
|
-
```bash
|
|
172
|
-
supabase secrets unset CAPTURE_PAYLOADS
|
|
173
|
-
git revert <commit-instrument>
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
## Cross-suite
|
|
177
|
-
|
|
178
|
-
- **/caracterizar** (v1.12) — consome fixtures gerados aqui
|
|
179
|
-
- **/instrumentar-fase** (v1.9) — captura é instrumentação shift-left aplicada
|
|
180
|
-
- **/golden-signals** (v1.10) — captura E golden signals podem coexistir mesma Edge Function
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
</process>
|
|
184
|
-
|
|
185
|
-
<success_criteria>
|
|
186
|
-
- [ ] $ARGUMENTS parseados (edge_function_path obrigatório, 4 flags opcionais)
|
|
187
|
-
- [ ] Pré-requisitos validados (Deno.serve presente; supabase/config.toml para project_id)
|
|
188
|
-
- [ ] `payload-capture-instrumenter` invocado via Task com mode resolvido
|
|
189
|
-
- [ ] Tier degradation correto (Full = MCP drain; Partial = instrument-only)
|
|
190
|
-
- [ ] Output forwarded transparentemente
|
|
191
|
-
- [ ] Próximos passos específicos por mode (instrument vs drain vs full)
|
|
192
|
-
- [ ] Cross-references com /caracterizar, /instrumentar-fase, /golden-signals
|
|
193
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: capturar-payloads
|
|
3
|
+
description: Invoca payload-capture-instrumenter — instrumenta Edge Function Supabase para captura via mcp__supabase__get_logs por N dias, sanitiza PII, gera fixtures para legacy-characterizer.
|
|
4
|
+
argument-hint: "<edge_function_path> [--days N] [--max-payloads N] [--mode instrument|drain|full] [--sanitize-keys k1,k2,...]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Grep
|
|
11
|
+
- Glob
|
|
12
|
+
- Task
|
|
13
|
+
- mcp__supabase__execute_sql
|
|
14
|
+
- mcp__supabase__get_logs
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<objective>
|
|
18
|
+
Instrumentar Edge Function Supabase para capturar **payloads reais** de produção, drenar logs após janela de captura via `mcp__supabase__get_logs`, sanitizar PII deterministicamente, e gerar fixtures prontos para alimentar `/caracterizar`. Invoca o agente [`payload-capture-instrumenter`](../agents/payload-capture-instrumenter.md) que aplica a skill [`legacy-characterization-tests`](../skills/legacy-characterization-tests/SKILL.md) Pattern 7.
|
|
19
|
+
|
|
20
|
+
**Cria/Atualiza:**
|
|
21
|
+
- Patch na Edge Function adicionando log dedicado controlado por env `CAPTURE_PAYLOADS=true`
|
|
22
|
+
- `supabase/functions/_shared/payload-capture.ts` — sanitização canônica
|
|
23
|
+
- `tests/characterization/<edge-fn>/fixtures/payload-NN.json` — fixtures sanitizados após drenagem
|
|
24
|
+
|
|
25
|
+
**Após:** o user tem fixtures BASEADOS EM DISTRIBUIÇÃO REAL de produção, não em sintéticos. Cobertura comportamental cresce significativamente.
|
|
26
|
+
</objective>
|
|
27
|
+
|
|
28
|
+
<context>
|
|
29
|
+
**Argumentos:**
|
|
30
|
+
- `<edge_function_path>` — path da Edge Function (e.g., `supabase/functions/process-orders/index.ts`) — OBRIGATÓRIO
|
|
31
|
+
- `--days N` — janela de captura em dias (default: 7)
|
|
32
|
+
- `--max-payloads N` — máximo de fixtures a salvar (default: 100)
|
|
33
|
+
- `--mode instrument|drain|full` — fase do workflow:
|
|
34
|
+
- `instrument` — só aplica patch (você faz deploy + aguarda)
|
|
35
|
+
- `drain` — só drena logs (após capture já rodou em prod)
|
|
36
|
+
- `full` — patch + aguarda + drena (default — orquestra tudo)
|
|
37
|
+
- `--sanitize-keys k1,k2,k3` — keys adicionais a redact
|
|
38
|
+
|
|
39
|
+
**Workflow esperado:**
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Dia 0: /capturar-payloads <fn> --mode=instrument
|
|
43
|
+
Dia 0: Você faz deploy + setar CAPTURE_PAYLOADS=true em env
|
|
44
|
+
Dia 1-7: produção captura naturalmente
|
|
45
|
+
Dia 7: /capturar-payloads <fn> --mode=drain
|
|
46
|
+
Dia 7: Fixtures criados em tests/characterization/<fn>/fixtures/
|
|
47
|
+
Dia 7: /caracterizar <fn> --fixtures-dir tests/characterization/<fn>/fixtures
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Exemplos:**
|
|
51
|
+
```
|
|
52
|
+
/capturar-payloads supabase/functions/webhook-stripe/index.ts # full mode 7 dias
|
|
53
|
+
/capturar-payloads supabase/functions/process-orders/index.ts --days 14 # janela maior
|
|
54
|
+
/capturar-payloads supabase/functions/process-orders/index.ts --mode=instrument # só patch
|
|
55
|
+
/capturar-payloads supabase/functions/process-orders/index.ts --mode=drain # só drenagem
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Pré-requisitos:**
|
|
59
|
+
- Edge Function deployada em Supabase (modo drain depende de logs em prod)
|
|
60
|
+
- MCP Supabase conectado para drenagem automatizada (alternativa: `supabase functions logs` CLI)
|
|
61
|
+
- Tier full em IDEs com MCP; tier partial degrada para instrumentação only
|
|
62
|
+
|
|
63
|
+
**Quando preferir este comando vs `/caracterizar` direto:**
|
|
64
|
+
- Edge Function tem alto traffic (≥ 100 req/dia) — distribuição real cobre edge cases que sintético não pega
|
|
65
|
+
- Edge Function tem contrato externo crítico (webhook de Stripe/GitHub) — fidelidade absoluta requer payloads reais
|
|
66
|
+
- Equipe quer baseline empírico antes de refactor — payloads reais > inputs sintéticos
|
|
67
|
+
</context>
|
|
68
|
+
|
|
69
|
+
<process>
|
|
70
|
+
|
|
71
|
+
## 1. Parsear argumentos
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
EDGE_FN_PATH=$(echo "$ARGUMENTS" | awk '{print $1}')
|
|
75
|
+
CAPTURE_DAYS=$(echo "$ARGUMENTS" | grep -oE -- '--days [0-9]+' | awk '{print $2}')
|
|
76
|
+
MAX_PAYLOADS=$(echo "$ARGUMENTS" | grep -oE -- '--max-payloads [0-9]+' | awk '{print $2}')
|
|
77
|
+
MODE=$(echo "$ARGUMENTS" | grep -oE -- '--mode[= ][^ ]+' | sed 's/--mode[= ]//')
|
|
78
|
+
SANITIZE_KEYS=$(echo "$ARGUMENTS" | grep -oE -- '--sanitize-keys [^ ]+' | awk '{print $2}')
|
|
79
|
+
|
|
80
|
+
[ -z "$CAPTURE_DAYS" ] && CAPTURE_DAYS=7
|
|
81
|
+
[ -z "$MAX_PAYLOADS" ] && MAX_PAYLOADS=100
|
|
82
|
+
[ -z "$MODE" ] && MODE="full"
|
|
83
|
+
|
|
84
|
+
if [ -z "$EDGE_FN_PATH" ]; then
|
|
85
|
+
echo "ERROR: edge_function_path obrigatório"
|
|
86
|
+
echo "Uso: /capturar-payloads <path> [opções]"
|
|
87
|
+
exit 1
|
|
88
|
+
fi
|
|
89
|
+
|
|
90
|
+
if [ ! -f "$EDGE_FN_PATH" ]; then
|
|
91
|
+
echo "ERROR: arquivo não encontrado: $EDGE_FN_PATH"
|
|
92
|
+
exit 1
|
|
93
|
+
fi
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 2. Validar pré-requisitos
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# verificar Edge Function (Deno + Deno.serve)
|
|
100
|
+
if ! grep -q "Deno.serve" "$EDGE_FN_PATH"; then
|
|
101
|
+
echo "ERROR: $EDGE_FN_PATH não parece Edge Function (sem Deno.serve)"
|
|
102
|
+
exit 1
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
# detectar projeto Supabase
|
|
106
|
+
PROJECT_ID=""
|
|
107
|
+
if [ -f "supabase/config.toml" ]; then
|
|
108
|
+
PROJECT_ID=$(grep -E '^project_id\s*=' supabase/config.toml | sed 's/.*= *"\(.*\)".*/\1/' | head -1)
|
|
109
|
+
fi
|
|
110
|
+
|
|
111
|
+
if [ -z "$PROJECT_ID" ] && [ "$MODE" != "instrument" ]; then
|
|
112
|
+
echo "WARN: PROJECT_ID não detectado em supabase/config.toml — drenagem pode falhar"
|
|
113
|
+
fi
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## 3. Dispatch para `payload-capture-instrumenter`
|
|
117
|
+
|
|
118
|
+
```text
|
|
119
|
+
Task(
|
|
120
|
+
subagent_type="payload-capture-instrumenter",
|
|
121
|
+
prompt="
|
|
122
|
+
edge_function_path: ${EDGE_FN_PATH}
|
|
123
|
+
capture_days: ${CAPTURE_DAYS}
|
|
124
|
+
max_payloads: ${MAX_PAYLOADS}
|
|
125
|
+
mode: ${MODE}
|
|
126
|
+
${SANITIZE_KEYS:+sanitize_keys: ${SANITIZE_KEYS}}
|
|
127
|
+
${PROJECT_ID:+project_id: ${PROJECT_ID}}
|
|
128
|
+
|
|
129
|
+
Aplicar skill legacy-characterization-tests Pattern 7. Etapas:
|
|
130
|
+
1. Preflight: validar Edge Function, detectar project_id
|
|
131
|
+
2. (mode=instrument|full) Patch Edge Function adicionando log dedicado
|
|
132
|
+
3. (mode=instrument) Output mensagem para fazer deploy + setar CAPTURE_PAYLOADS=true
|
|
133
|
+
4. (mode=drain|full após delay) Drenar logs via mcp__supabase__get_logs
|
|
134
|
+
5. Para cada log entry com kind=payload-capture:
|
|
135
|
+
- Parse payload sanitized
|
|
136
|
+
- Salvar em tests/characterization/<fn>/fixtures/payload-NN.json
|
|
137
|
+
6. Pós-processamento: validar nenhum unredacted, sanitização adicional
|
|
138
|
+
7. Output curto + recomendações (review fixtures, /caracterizar, remove flag)
|
|
139
|
+
"
|
|
140
|
+
)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## 4. Pós-output
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
═══════════════════════════════════════════════════════════
|
|
147
|
+
framework ► CAPTURAR-PAYLOADS ▸ ${EDGE_FN_PATH}
|
|
148
|
+
═══════════════════════════════════════════════════════════
|
|
149
|
+
|
|
150
|
+
[output do payload-capture-instrumenter]
|
|
151
|
+
|
|
152
|
+
## Próximos passos por mode
|
|
153
|
+
|
|
154
|
+
### Após mode=instrument
|
|
155
|
+
1. Deploy: `supabase functions deploy <name>`
|
|
156
|
+
2. Setar env var: `supabase secrets set CAPTURE_PAYLOADS=true`
|
|
157
|
+
3. Aguardar ${CAPTURE_DAYS} dias
|
|
158
|
+
4. Rodar: `/capturar-payloads ${EDGE_FN_PATH} --mode=drain`
|
|
159
|
+
|
|
160
|
+
### Após mode=drain ou full
|
|
161
|
+
1. **REVISAR fixtures** manualmente — sample 5-10 arquivos
|
|
162
|
+
2. **VALIDAR no PII vaza:**
|
|
163
|
+
```bash
|
|
164
|
+
grep -E "([0-9]{3}\.[0-9]{3}\.[0-9]{3}-?[0-9]{2}|@.*\..*\.com)" tests/characterization/*/fixtures/*.json
|
|
165
|
+
```
|
|
166
|
+
3. **Alimentar legacy-characterizer:**
|
|
167
|
+
```bash
|
|
168
|
+
/caracterizar ${EDGE_FN_PATH} --fixtures-dir tests/characterization/$(basename $(dirname ${EDGE_FN_PATH}))/fixtures
|
|
169
|
+
```
|
|
170
|
+
4. **Após characterization gerada:** REMOVE flag CAPTURE_PAYLOADS:
|
|
171
|
+
```bash
|
|
172
|
+
supabase secrets unset CAPTURE_PAYLOADS
|
|
173
|
+
git revert <commit-instrument>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Cross-suite
|
|
177
|
+
|
|
178
|
+
- **/caracterizar** (v1.12) — consome fixtures gerados aqui
|
|
179
|
+
- **/instrumentar-fase** (v1.9) — captura é instrumentação shift-left aplicada
|
|
180
|
+
- **/golden-signals** (v1.10) — captura E golden signals podem coexistir mesma Edge Function
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
</process>
|
|
184
|
+
|
|
185
|
+
<success_criteria>
|
|
186
|
+
- [ ] $ARGUMENTS parseados (edge_function_path obrigatório, 4 flags opcionais)
|
|
187
|
+
- [ ] Pré-requisitos validados (Deno.serve presente; supabase/config.toml para project_id)
|
|
188
|
+
- [ ] `payload-capture-instrumenter` invocado via Task com mode resolvido
|
|
189
|
+
- [ ] Tier degradation correto (Full = MCP drain; Partial = instrument-only)
|
|
190
|
+
- [ ] Output forwarded transparentemente
|
|
191
|
+
- [ ] Próximos passos específicos por mode (instrument vs drain vs full)
|
|
192
|
+
- [ ] Cross-references com /caracterizar, /instrumentar-fase, /golden-signals
|
|
193
|
+
</success_criteria>
|