@luanpdd/kit-mcp 1.30.1 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +84 -82
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/README.md +76 -76
  6. package/kit/agents/advisor-researcher.md +107 -106
  7. package/kit/agents/ai-mutation-tester.md +1 -0
  8. package/kit/agents/assumptions-analyzer.md +108 -107
  9. package/kit/agents/audit-log-implementer.md +314 -313
  10. package/kit/agents/auditor-consistencia-isolamento.md +414 -413
  11. package/kit/agents/b2b-saas-architect.md +157 -156
  12. package/kit/agents/burn-rate-forecaster.md +1 -0
  13. package/kit/agents/cascading-failures-auditor.md +299 -298
  14. package/kit/agents/codebase-mapper.md +769 -768
  15. package/kit/agents/crm-pipeline-implementer.md +257 -256
  16. package/kit/agents/debugger.md +814 -813
  17. package/kit/agents/detector-tenant-quente.md +338 -337
  18. package/kit/agents/evolution-go-integrator.md +201 -200
  19. package/kit/agents/example-reviewer.md +22 -21
  20. package/kit/agents/executor.md +565 -564
  21. package/kit/agents/golden-signals-instrumenter.md +1 -0
  22. package/kit/agents/incident-investigator.md +1 -0
  23. package/kit/agents/integration-checker.md +201 -200
  24. package/kit/agents/invite-flow-implementer.md +190 -189
  25. package/kit/agents/legacy-characterizer.md +369 -368
  26. package/kit/agents/lgpd-compliance-auditor.md +296 -295
  27. package/kit/agents/load-shedding-instrumenter.md +1 -0
  28. package/kit/agents/multi-tenant-isolation-auditor.md +254 -253
  29. package/kit/agents/multi-tenant-rls-writer.md +341 -340
  30. package/kit/agents/nyquist-auditor.md +179 -178
  31. package/kit/agents/observability-coverage-auditor.md +316 -315
  32. package/kit/agents/observability-instrumenter.md +1 -0
  33. package/kit/agents/omm-auditor.md +1 -0
  34. package/kit/agents/org-onboarding-implementer.md +224 -223
  35. package/kit/agents/payload-capture-instrumenter.md +274 -273
  36. package/kit/agents/phase-researcher.md +697 -696
  37. package/kit/agents/plan-checker.md +273 -272
  38. package/kit/agents/planner.md +923 -922
  39. package/kit/agents/postmortem-writer.md +1 -0
  40. package/kit/agents/project-researcher.md +653 -652
  41. package/kit/agents/prr-conductor.md +1 -0
  42. package/kit/agents/refactor-safety-auditor.md +405 -404
  43. package/kit/agents/release-pipeline-auditor.md +1 -0
  44. package/kit/agents/research-synthesizer.md +246 -245
  45. package/kit/agents/roadmapper.md +678 -677
  46. package/kit/agents/schema-checker.md +1 -0
  47. package/kit/agents/seam-finder.md +360 -359
  48. package/kit/agents/shotgun-surgery-detector.md +350 -349
  49. package/kit/agents/slo-engineer.md +1 -0
  50. package/kit/agents/storytelling-analyst.md +1 -0
  51. package/kit/agents/supabase-architect.md +1 -0
  52. package/kit/agents/supabase-auth-bootstrapper.md +1 -0
  53. package/kit/agents/supabase-branching-architect.md +563 -562
  54. package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -777
  55. package/kit/agents/supabase-column-privileges-writer.md +400 -399
  56. package/kit/agents/supabase-edge-fn-tester.md +2 -1
  57. package/kit/agents/supabase-edge-fn-writer.md +2 -1
  58. package/kit/agents/supabase-migration-writer.md +386 -385
  59. package/kit/agents/supabase-rbac-implementer.md +393 -392
  60. package/kit/agents/supabase-realtime-implementer.md +364 -363
  61. package/kit/agents/supabase-rls-hardener.md +522 -521
  62. package/kit/agents/supabase-rls-writer.md +324 -323
  63. package/kit/agents/supabase-roles-implementer.md +356 -355
  64. package/kit/agents/supabase-storage-implementer.md +1 -0
  65. package/kit/agents/super-admin-implementer.md +282 -281
  66. package/kit/agents/toil-auditor.md +1 -0
  67. package/kit/agents/ui-auditor.md +438 -437
  68. package/kit/agents/ui-checker.md +303 -302
  69. package/kit/agents/ui-researcher.md +356 -355
  70. package/kit/agents/user-profiler.md +176 -175
  71. package/kit/agents/validador-evolucao-schema.md +336 -335
  72. package/kit/agents/verifier.md +729 -728
  73. package/kit/commands/adicionar-backlog.md +75 -75
  74. package/kit/commands/adicionar-fase.md +42 -42
  75. package/kit/commands/adicionar-tarefa.md +45 -45
  76. package/kit/commands/adicionar-testes.md +41 -41
  77. package/kit/commands/ajuda.md +21 -21
  78. package/kit/commands/atualizar.md +37 -37
  79. package/kit/commands/auditar-cascading.md +111 -111
  80. package/kit/commands/auditar-marco.md +179 -179
  81. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  82. package/kit/commands/auditar-refactor.md +219 -219
  83. package/kit/commands/auditar-release.md +109 -109
  84. package/kit/commands/auditar-uat.md +23 -23
  85. package/kit/commands/autonomo.md +40 -40
  86. package/kit/commands/branch-pr.md +24 -24
  87. package/kit/commands/burn-rate-status.md +408 -408
  88. package/kit/commands/capturar-payloads.md +193 -193
  89. package/kit/commands/caracterizar.md +212 -212
  90. package/kit/commands/concluir-marco.md +247 -247
  91. package/kit/commands/configuracoes.md +36 -36
  92. package/kit/commands/dados-distribuidos.md +188 -188
  93. package/kit/commands/definir-perfil.md +10 -10
  94. package/kit/commands/depurar.md +190 -190
  95. package/kit/commands/detectar-duplicacao.md +197 -197
  96. package/kit/commands/discutir-fase.md +131 -131
  97. package/kit/commands/encontrar-seams.md +136 -136
  98. package/kit/commands/entrar-discord.md +17 -17
  99. package/kit/commands/estatisticas.md +18 -18
  100. package/kit/commands/example-greeting.md +33 -33
  101. package/kit/commands/executar-fase.md +58 -58
  102. package/kit/commands/expresso.md +56 -56
  103. package/kit/commands/fase-ui.md +34 -34
  104. package/kit/commands/fazer.md +57 -57
  105. package/kit/commands/fio.md +125 -125
  106. package/kit/commands/fluxos-trabalho.md +64 -64
  107. package/kit/commands/forense.md +176 -176
  108. package/kit/commands/gerenciador.md +38 -38
  109. package/kit/commands/inserir-fase.md +31 -31
  110. package/kit/commands/legacy.md +263 -263
  111. package/kit/commands/limpeza.md +17 -17
  112. package/kit/commands/listar-hipoteses-fase.md +45 -45
  113. package/kit/commands/listar-workspaces.md +18 -18
  114. package/kit/commands/load-shedding.md +117 -117
  115. package/kit/commands/mapear-codebase.md +70 -70
  116. package/kit/commands/multi-tenant.md +163 -163
  117. package/kit/commands/nota.md +33 -33
  118. package/kit/commands/novo-marco.md +43 -43
  119. package/kit/commands/novo-projeto.md +41 -41
  120. package/kit/commands/novo-workspace.md +43 -43
  121. package/kit/commands/pausar-trabalho.md +37 -37
  122. package/kit/commands/perfil-usuario.md +45 -45
  123. package/kit/commands/pesquisar-fase.md +195 -195
  124. package/kit/commands/planejar-fase.md +67 -67
  125. package/kit/commands/planejar-lacunas.md +33 -33
  126. package/kit/commands/plantar-ideia.md +25 -25
  127. package/kit/commands/progresso.md +24 -24
  128. package/kit/commands/proximo.md +30 -30
  129. package/kit/commands/publicar.md +490 -490
  130. package/kit/commands/rapido.md +35 -35
  131. package/kit/commands/reaplicar-patches.md +124 -124
  132. package/kit/commands/refactor-seguro.md +321 -321
  133. package/kit/commands/relatorio-sessao.md +19 -19
  134. package/kit/commands/remover-fase.md +31 -31
  135. package/kit/commands/remover-workspace.md +26 -26
  136. package/kit/commands/resumo-marco.md +50 -50
  137. package/kit/commands/retomar-trabalho.md +40 -40
  138. package/kit/commands/revisar-backlog.md +60 -60
  139. package/kit/commands/revisar-ui.md +32 -32
  140. package/kit/commands/revisar.md +37 -37
  141. package/kit/commands/saude.md +21 -21
  142. package/kit/commands/setup-notion.md +93 -93
  143. package/kit/commands/storytelling.md +179 -179
  144. package/kit/commands/sync-main.md +68 -68
  145. package/kit/commands/validar-fase.md +35 -35
  146. package/kit/commands/verificar-tarefas.md +44 -44
  147. package/kit/commands/verificar-trabalho.md +64 -64
  148. package/kit/file-manifest.json +82 -81
  149. package/kit/framework/bin/lib/commands.cjs +959 -959
  150. package/kit/framework/bin/lib/config.cjs +442 -442
  151. package/kit/framework/bin/lib/core.cjs +1230 -1230
  152. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  153. package/kit/framework/bin/lib/init.cjs +1442 -1442
  154. package/kit/framework/bin/lib/milestone.cjs +252 -252
  155. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  156. package/kit/framework/bin/lib/phase.cjs +888 -888
  157. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  158. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  159. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  160. package/kit/framework/bin/lib/security.cjs +382 -382
  161. package/kit/framework/bin/lib/state.cjs +1031 -1031
  162. package/kit/framework/bin/lib/template.cjs +222 -222
  163. package/kit/framework/bin/lib/uat.cjs +282 -282
  164. package/kit/framework/bin/lib/verify.cjs +888 -888
  165. package/kit/framework/bin/lib/workstream.cjs +491 -491
  166. package/kit/framework/bin/tools.cjs +918 -918
  167. package/kit/framework/commands/workstreams.md +63 -63
  168. package/kit/framework/references/checkpoints.md +778 -778
  169. package/kit/framework/references/continuation-format.md +249 -249
  170. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  171. package/kit/framework/references/git-integration.md +295 -295
  172. package/kit/framework/references/git-planning-commit.md +38 -38
  173. package/kit/framework/references/model-profile-resolution.md +36 -36
  174. package/kit/framework/references/model-profiles.md +139 -139
  175. package/kit/framework/references/phase-argument-parsing.md +61 -61
  176. package/kit/framework/references/planning-config.md +202 -202
  177. package/kit/framework/references/questioning.md +162 -162
  178. package/kit/framework/references/tdd.md +263 -263
  179. package/kit/framework/references/ui-brand.md +160 -160
  180. package/kit/framework/references/user-profiling.md +657 -657
  181. package/kit/framework/references/verification-patterns.md +612 -612
  182. package/kit/framework/references/workstream-flag.md +58 -58
  183. package/kit/framework/templates/DEBUG.md +164 -164
  184. package/kit/framework/templates/UAT.md +265 -265
  185. package/kit/framework/templates/UI-SPEC.md +100 -100
  186. package/kit/framework/templates/VALIDATION.md +76 -76
  187. package/kit/framework/templates/claude-md.md +122 -122
  188. package/kit/framework/templates/codebase/architecture.md +185 -185
  189. package/kit/framework/templates/codebase/concerns.md +205 -205
  190. package/kit/framework/templates/codebase/conventions.md +204 -204
  191. package/kit/framework/templates/codebase/integrations.md +192 -192
  192. package/kit/framework/templates/codebase/stack.md +158 -158
  193. package/kit/framework/templates/codebase/structure.md +199 -199
  194. package/kit/framework/templates/codebase/testing.md +301 -301
  195. package/kit/framework/templates/config.json +44 -44
  196. package/kit/framework/templates/context.md +352 -352
  197. package/kit/framework/templates/continue-here.md +78 -78
  198. package/kit/framework/templates/copilot-instructions.md +7 -7
  199. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  200. package/kit/framework/templates/dev-preferences.md +20 -20
  201. package/kit/framework/templates/discovery.md +146 -146
  202. package/kit/framework/templates/discussion-log.md +63 -63
  203. package/kit/framework/templates/milestone-archive.md +123 -123
  204. package/kit/framework/templates/milestone.md +115 -115
  205. package/kit/framework/templates/phase-prompt.md +610 -610
  206. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  207. package/kit/framework/templates/project.md +186 -186
  208. package/kit/framework/templates/requirements.md +231 -231
  209. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  210. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  211. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  212. package/kit/framework/templates/research-project/STACK.md +120 -120
  213. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  214. package/kit/framework/templates/research.md +419 -419
  215. package/kit/framework/templates/retrospective.md +54 -54
  216. package/kit/framework/templates/roadmap.md +202 -202
  217. package/kit/framework/templates/state.md +176 -176
  218. package/kit/framework/templates/summary-complex.md +59 -59
  219. package/kit/framework/templates/summary-minimal.md +41 -41
  220. package/kit/framework/templates/summary-standard.md +48 -48
  221. package/kit/framework/templates/summary.md +209 -209
  222. package/kit/framework/templates/user-profile.md +146 -146
  223. package/kit/framework/templates/user-setup.md +256 -256
  224. package/kit/framework/templates/verification-report.md +258 -258
  225. package/kit/framework/workflows/add-phase.md +112 -112
  226. package/kit/framework/workflows/add-tests.md +351 -351
  227. package/kit/framework/workflows/add-todo.md +158 -158
  228. package/kit/framework/workflows/audit-milestone.md +340 -340
  229. package/kit/framework/workflows/audit-uat.md +109 -109
  230. package/kit/framework/workflows/autonomous.md +891 -891
  231. package/kit/framework/workflows/check-todos.md +177 -177
  232. package/kit/framework/workflows/cleanup.md +152 -152
  233. package/kit/framework/workflows/complete-milestone.md +696 -696
  234. package/kit/framework/workflows/diagnose-issues.md +231 -231
  235. package/kit/framework/workflows/discovery-phase.md +289 -289
  236. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  237. package/kit/framework/workflows/discuss-phase.md +784 -784
  238. package/kit/framework/workflows/do.md +104 -104
  239. package/kit/framework/workflows/execute-phase.md +838 -838
  240. package/kit/framework/workflows/execute-plan.md +510 -510
  241. package/kit/framework/workflows/fast.md +102 -102
  242. package/kit/framework/workflows/forensics.md +265 -265
  243. package/kit/framework/workflows/health.md +181 -181
  244. package/kit/framework/workflows/help.md +619 -619
  245. package/kit/framework/workflows/insert-phase.md +130 -130
  246. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  247. package/kit/framework/workflows/list-workspaces.md +56 -56
  248. package/kit/framework/workflows/manager.md +362 -362
  249. package/kit/framework/workflows/map-codebase.md +377 -377
  250. package/kit/framework/workflows/milestone-summary.md +223 -223
  251. package/kit/framework/workflows/new-milestone.md +486 -486
  252. package/kit/framework/workflows/new-project.md +1159 -1159
  253. package/kit/framework/workflows/new-workspace.md +237 -237
  254. package/kit/framework/workflows/next.md +97 -97
  255. package/kit/framework/workflows/node-repair.md +92 -92
  256. package/kit/framework/workflows/note.md +156 -156
  257. package/kit/framework/workflows/pause-work.md +176 -176
  258. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  259. package/kit/framework/workflows/plan-phase.md +765 -765
  260. package/kit/framework/workflows/plant-seed.md +169 -169
  261. package/kit/framework/workflows/pr-branch.md +129 -129
  262. package/kit/framework/workflows/profile-user.md +450 -450
  263. package/kit/framework/workflows/progress.md +507 -507
  264. package/kit/framework/workflows/quick.md +757 -757
  265. package/kit/framework/workflows/remove-phase.md +155 -155
  266. package/kit/framework/workflows/remove-workspace.md +90 -90
  267. package/kit/framework/workflows/research-phase.md +82 -82
  268. package/kit/framework/workflows/resume-project.md +326 -326
  269. package/kit/framework/workflows/review.md +228 -228
  270. package/kit/framework/workflows/session-report.md +146 -146
  271. package/kit/framework/workflows/settings.md +283 -283
  272. package/kit/framework/workflows/ship.md +228 -228
  273. package/kit/framework/workflows/stats.md +60 -60
  274. package/kit/framework/workflows/transition.md +671 -671
  275. package/kit/framework/workflows/ui-phase.md +302 -302
  276. package/kit/framework/workflows/ui-review.md +165 -165
  277. package/kit/framework/workflows/update.md +323 -323
  278. package/kit/framework/workflows/validate-phase.md +174 -174
  279. package/kit/framework/workflows/verify-phase.md +252 -252
  280. package/kit/framework/workflows/verify-work.md +637 -637
  281. package/kit/hooks/check-update.js +118 -118
  282. package/kit/hooks/context-monitor.js +163 -163
  283. package/kit/hooks/kit-attribution-reminder.cjs +30 -36
  284. package/kit/hooks/kit-router.cjs +137 -0
  285. package/kit/hooks/prompt-guard.js +103 -103
  286. package/kit/hooks/statusline.js +125 -125
  287. package/kit/hooks/workflow-guard.js +101 -101
  288. package/kit/settings.json +45 -45
  289. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  290. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  291. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  292. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  293. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  294. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  295. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  296. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  297. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  298. package/kit/skills/example-skill/SKILL.md +42 -42
  299. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  300. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  301. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  302. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  303. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  304. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  305. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  306. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  307. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  308. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  309. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  310. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  311. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  312. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  313. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  314. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  315. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  316. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  317. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  318. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  319. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  320. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  321. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  322. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  323. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  324. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  325. package/kit/skills/supabase-edge-functions/SKILL.md +1 -1
  326. package/kit/skills/supabase-edge-functions-auth/SKILL.md +1 -1
  327. package/kit/skills/supabase-edge-functions-limits/SKILL.md +1 -1
  328. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +1 -1
  329. package/kit/skills/supabase-edge-functions-testing/SKILL.md +1 -1
  330. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +1 -1
  331. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  332. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  333. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  334. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  335. package/kit/skills/supabase-realtime/SKILL.md +460 -460
  336. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  337. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  338. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  339. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  340. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  341. package/package.json +1 -1
  342. package/src/core/kit.js +216 -216
  343. package/src/core/reflect.js +247 -247
  344. package/src/core/reverse-sync.js +372 -372
  345. package/src/core/sync.js +437 -418
  346. package/src/core/watch.js +121 -121
  347. package/src/mcp-server/index.js +794 -715
@@ -1,321 +1,321 @@
1
- ---
2
- name: refactor-seguro
3
- description: Orquestrador de refactor seguro — chain canônico encontrar-seams → caracterizar → auditar-refactor → executar. Suporta modos --mode=full|sprout|safe-extract|override.
4
- argument-hint: "<target_file> [--mode full|sprout|safe-extract|override] [--ticket REQ-N] [--reason \"...\"] [--skip-seams] [--skip-characterize]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Bash
9
- - Grep
10
- - Glob
11
- - Task
12
- - AskUserQuestion
13
- ---
14
-
15
- <objective>
16
- Orquestrar fluxo canônico de refactor seguro em código legado: (1) identificar seams + quebrar deps; (2) caracterizar comportamento; (3) auditar safety net; (4) executar refactor com cover-and-modify. Substitui o pattern edit-and-pray (cap 1 Feathers) por cover-and-modify, baseado em characterization tests como oracle.
17
-
18
- **Chain padrão (`--mode=full`):**
19
-
20
- ```
21
- seam-finder → legacy-characterizer → refactor-safety-auditor → executor
22
- (se necessário) (sempre) (gate) (refactor real)
23
- ```
24
-
25
- **Modos alternativos** (atalhos quando mudança não justifica chain completo):
26
- - `--mode=sprout` — usa `legacy-sprout-wrap-techniques`; legado intocado, comportamento adicionado em sprout testado isoladamente
27
- - `--mode=safe-extract` — refactor mecânico (rename, IDE-extract bloco contíguo); checklist signed-off + sem characterization
28
- - `--mode=override` — bypass com audit trail (--ticket + --reason obrigatórios)
29
-
30
- **Cria/Atualiza:**
31
- - Em modo full: `.planning/SEAM-ANALYSIS.md`, `tests/characterization/<file_stem>/`, `.planning/REFACTOR-SAFETY.md`
32
- - Em modo sprout: novo módulo + tests
33
- - Em modo safe-extract: refactor commit + checklist em `.planning/SAFE-EXTRACT-<file>.md`
34
- - Em modo override: `.planning/REFACTOR-SAFETY.md` com audit trail
35
-
36
- **Após:** o user terminou refactor com confiança proporcional ao nível de safety net adotado.
37
- </objective>
38
-
39
- <context>
40
- **Argumentos:**
41
- - `<target_file>` — caminho do arquivo a refatorar — OBRIGATÓRIO
42
- - `--mode <full|sprout|safe-extract|override>` — modo do orquestrador (default: `full`)
43
- - `--ticket REQ-N` — ticket linkado (obrigatório com `--mode=override`)
44
- - `--reason "<texto>"` — justificativa (obrigatória com `--mode=override`)
45
- - `--skip-seams` — pular seam-finder (assume deps já controláveis)
46
- - `--skip-characterize` — pular caracterizar (assume safety net já existe)
47
- - `--symbol <name>` — escopo limitado a símbolo específico
48
- - `--feature-description "<texto>"` — em mode=sprout, descreve feature a adicionar
49
-
50
- **Modos detalhados:**
51
-
52
- ```
53
- --mode=full (default)
54
- =====================
55
- 1. /encontrar-seams <file> (se necessário, deps externas presentes)
56
- 2. Aplicar técnicas de break-deps (commits 1-N, manual ou via executor)
57
- 3. /caracterizar <file> (gera safety net)
58
- 4. /auditar-refactor <file> (gate retorna GO)
59
- 5. Refactor real (cover-and-modify, suite verde a cada commit)
60
- 6. Re-rodar suite final (regressão = 0)
61
-
62
- --mode=sprout
63
- =============
64
- 1. AskUserQuestion para feature description
65
- 2. Aplicar legacy-sprout-wrap-techniques
66
- 3. Gerar sprout method/class testável
67
- 4. Conectar ao legado em 1-2 linhas
68
- 5. Tests do sprout (100% cobertura no novo)
69
- 6. PR criado com TODO de débito técnico (legado ainda untested)
70
-
71
- --mode=safe-extract
72
- ====================
73
- 1. Validar checklist canônico:
74
- - Bloco a extrair é CONTÍGUO?
75
- - Sem control flow saindo do meio (return/throw/break)?
76
- - Variáveis lidas/escritas mapeadas?
77
- - Sem mover lógica entre escopos?
78
- 2. Aplicar refactor IDE-assisted
79
- 3. Compilação verde + smoke run
80
- 4. PR com SAFE-EXTRACT-<file>.md como artefato
81
-
82
- --mode=override
83
- ================
84
- 1. Validar --ticket E --reason
85
- 2. Auditoria do refactor-safety-auditor com flag override
86
- 3. Audit trail registrado em REFACTOR-SAFETY.md
87
- 4. Refactor pode prosseguir SEM characterization
88
- 5. Débito técnico documentado no ticket
89
- ```
90
-
91
- **Exemplos:**
92
- ```
93
- /refactor-seguro src/orders/handler.ts # full chain (recomendado)
94
- /refactor-seguro src/orders/handler.ts --mode=sprout # adicionar feature sem tocar legado
95
- /refactor-seguro src/orders/handler.ts --mode=safe-extract # rename/extract mecânico
96
- /refactor-seguro src/orders/handler.ts --mode=override \
97
- --ticket REQ-2026-Q2-1234 --reason "hot fix SEV1, char em REQ-...1235"
98
- /refactor-seguro src/orders/handler.ts --skip-seams # deps já testáveis
99
- /refactor-seguro src/orders/handler.ts --symbol processOrder # método específico
100
- ```
101
-
102
- **Quando este comando é o caminho certo:**
103
- - Você vai modificar arquivo > 200 linhas com cobertura < 60%
104
- - Webhook/API/Edge Function precisa refactor (contrato externo)
105
- - Equipe quer disciplina cover-and-modify em vez de edit-and-pray
106
- - `/discutir-fase` ou `/planejar-fase` detectaram refactor intent
107
-
108
- **Quando NÃO é o caminho:**
109
- - Bug fix → use TDD direto (escrever test do comportamento correto, depois fix)
110
- - Feature nova em código novo → use `/discutir-fase` + `/planejar-fase` normais
111
- - Arquivo trivial → refactor inline sem ceremonial
112
- </context>
113
-
114
- <process>
115
-
116
- ## 1. Parsear argumentos + validações
117
-
118
- ```bash
119
- TARGET_FILE=$(echo "$ARGUMENTS" | awk '{print $1}')
120
- MODE=$(echo "$ARGUMENTS" | grep -oE -- '--mode[= ][^ ]+' | sed 's/--mode[= ]//')
121
- TICKET=$(echo "$ARGUMENTS" | grep -oE -- '--ticket [^ ]+' | awk '{print $2}')
122
- REASON=$(echo "$ARGUMENTS" | grep -oE -- '--reason "[^"]+"' | sed 's/--reason "\(.*\)"/\1/')
123
- SYMBOL=$(echo "$ARGUMENTS" | grep -oE -- '--symbol [^ ]+' | awk '{print $2}')
124
- FEATURE_DESC=$(echo "$ARGUMENTS" | grep -oE -- '--feature-description "[^"]+"' | sed 's/--feature-description "\(.*\)"/\1/')
125
- SKIP_SEAMS=false
126
- SKIP_CHAR=false
127
-
128
- echo "$ARGUMENTS" | grep -qE -- '--skip-seams' && SKIP_SEAMS=true
129
- echo "$ARGUMENTS" | grep -qE -- '--skip-characterize' && SKIP_CHAR=true
130
-
131
- [ -z "$MODE" ] && MODE="full"
132
-
133
- if [ -z "$TARGET_FILE" ]; then
134
- echo "ERROR: target_file é obrigatório."
135
- echo "Uso: /refactor-seguro <target_file> [opções]"
136
- exit 1
137
- fi
138
-
139
- if [ ! -f "$TARGET_FILE" ]; then
140
- echo "ERROR: arquivo não encontrado: $TARGET_FILE"
141
- exit 1
142
- fi
143
-
144
- # PT-BR: validações por mode
145
- case "$MODE" in
146
- full|sprout|safe-extract|override) ;;
147
- *)
148
- echo "ERROR: --mode inválido: $MODE"
149
- echo "Valores válidos: full, sprout, safe-extract, override"
150
- exit 1
151
- ;;
152
- esac
153
-
154
- if [ "$MODE" = "override" ]; then
155
- if [ -z "$TICKET" ] || [ -z "$REASON" ]; then
156
- echo "ERROR: --mode=override requer --ticket REQ-N E --reason \"<texto>\"."
157
- exit 1
158
- fi
159
- fi
160
- ```
161
-
162
- ## 2. Roteamento por mode
163
-
164
- ### Mode=full (default chain)
165
-
166
- ```text
167
- Step 1 — Seam analysis (skip se --skip-seams)
168
- /encontrar-seams ${TARGET_FILE} ${SYMBOL:+--symbol $SYMBOL}
169
- → produz .planning/SEAM-ANALYSIS.md
170
- → user aplica técnicas (commits 1-N)
171
-
172
- Step 2 — Verificar suite verde após break-deps
173
- Run test suite, abort se vermelho
174
-
175
- Step 3 — Characterization (skip se --skip-characterize)
176
- /caracterizar ${TARGET_FILE} ${SYMBOL:+--symbol $SYMBOL}
177
- → produz tests/characterization/<file_stem>/
178
- → user revisa snapshots manualmente
179
- → user commita como `chore: characterize <file_stem>`
180
-
181
- Step 4 — Audit do safety net
182
- /auditar-refactor ${TARGET_FILE} --change-kind=refactor
183
- → produz .planning/REFACTOR-SAFETY.md com veredito GO/WARN/BLOCK
184
- → SE BLOCK ainda → loop de volta para step 3 (com --gap-fill)
185
- → SE GO → prossegue
186
-
187
- Step 5 — Refactor real
188
- Delegar para executor OR prompt user para refactor manual
189
- Após cada commit: rodar suite (verde)
190
- Após cada commit: characterization tests (verdes — comportamento preservado)
191
-
192
- Step 6 — Verificação final
193
- Suite verde
194
- Characterization VERDE (regressão = 0)
195
- Mutation kill ≥ 70% (validar safety net)
196
- PR pode ser aberto
197
- ```
198
-
199
- ### Mode=sprout
200
-
201
- ```text
202
- Step 1 — Coletar feature description
203
- Se $FEATURE_DESC vazio → AskUserQuestion:
204
- "Descreva a feature a ser adicionada (será encapsulada em sprout):"
205
-
206
- Step 2 — Aplicar legacy-sprout-wrap-techniques
207
- Decision: sprout method vs sprout class vs wrap method vs wrap class
208
- - feature ≤ 30 linhas, 1 responsabilidade → sprout method
209
- - feature > 30 linhas OR multi-responsibility → sprout class
210
- - feature transforma input/output do legado inteiro → wrap method
211
- - feature atravessa N métodos da classe → wrap class
212
-
213
- Step 3 — Gerar sprout
214
- Criar arquivo novo (sprout module) com lógica testável
215
- DI explícita para qualquer dep
216
-
217
- Step 4 — Conectar ao legado em 1-2 linhas
218
- Inserir chamada ao sprout no legado
219
- Comment canônico: [legacy-debt #issue-N] sprout — <descrição>
220
-
221
- Step 5 — Tests do sprout (100% cobertura)
222
- Escrever 5+ tests cobrindo grupos de equivalência
223
- Mutation testing no sprout (não no legado)
224
-
225
- Step 6 — PR
226
- Diff esperado: arquivo novo + 1-2 linhas no legado
227
- README/CHANGELOG atualizado se aplicável
228
- Ticket de débito técnico criado se ainda não existia
229
- ```
230
-
231
- ### Mode=safe-extract
232
-
233
- ```text
234
- Step 1 — Validar checklist canônico
235
- AskUserQuestion ou inline-confirm:
236
- □ Bloco a extrair é CONTÍGUO? (não pode ter return/throw/break/continue saindo)
237
- □ Variáveis lidas dentro mas declaradas fora → parâmetros (in)?
238
- □ Variáveis escritas dentro mas usadas fora → return values (out)?
239
- □ NÃO move lógica entre escopos? (sem move method)
240
- □ NÃO muda control flow? (sem inverter ifs, sem early return novo)
241
- □ NÃO modifica sintaxe além de extract/rename?
242
- Qualquer NÃO → veto, voltar para mode=full
243
-
244
- Step 2 — Identificar refactor IDE-assisted
245
- Se Cursor/VS Code/IntelliJ disponível → usar Refactor → Extract Function/Method/Variable
246
- Caso contrário → manual mas mecânico
247
-
248
- Step 3 — Aplicar refactor (commits single-goal)
249
- Após cada commit: compilação verde
250
- Após cada commit: smoke run (qualquer comando que rodava antes)
251
-
252
- Step 4 — Output checklist signed-off
253
- Escrever .planning/SAFE-EXTRACT-<file_stem>.md com:
254
- - Checklist canônico (todos os itens marcados)
255
- - Lista de commits (cada um single-goal)
256
- - Validação de comportamento (smoke verde)
257
- ```
258
-
259
- ### Mode=override
260
-
261
- ```text
262
- Step 1 — Validar --ticket E --reason (já feito acima)
263
-
264
- Step 2 — Auditar com flag override
265
- /auditar-refactor ${TARGET_FILE} \
266
- --change-kind=override \
267
- --ticket ${TICKET} \
268
- --reason "${REASON}"
269
- → audit trail registrado em REFACTOR-SAFETY.md
270
-
271
- Step 3 — Refactor pode prosseguir
272
- Output:
273
- ⚠ MODE=OVERRIDE — refactor sem characterization
274
- Ticket: ${TICKET}
275
- Reason: ${REASON}
276
- Audit trail: .planning/REFACTOR-SAFETY.md
277
-
278
- Você aceitou o débito técnico. Refactor pode iniciar AGORA.
279
- Lembre-se: regressão silenciosa em prod é responsabilidade do owner do ticket.
280
- ```
281
-
282
- ## 3. Output canônico
283
-
284
- ```
285
- ═══════════════════════════════════════════════════════════
286
- framework ► REFACTOR-SEGURO ▸ ${TARGET_FILE} (mode: ${MODE})
287
- ═══════════════════════════════════════════════════════════
288
-
289
- [output específico do mode escolhido]
290
-
291
- ## Sumário do que foi feito
292
-
293
- | Step | Ação | Output |
294
- |---|---|---|
295
- | 1 | Seam analysis | .planning/SEAM-ANALYSIS.md |
296
- | 2 | Characterization | tests/characterization/<file_stem>/ |
297
- | 3 | Safety audit | .planning/REFACTOR-SAFETY.md (veredito: GO) |
298
- | 4 | Refactor | <commits sequenciais> |
299
- | 5 | Verificação final | suite verde, mutation kill ≥ 70% |
300
-
301
- ## Cross-suite
302
-
303
- - **/instrumentar-fase** (v1.9) — adicionar instrumentação para detectar regressão precoce em prod via golden signals
304
- - **/burn-rate-status** (v1.9) — monitor SLO budget pós-deploy do refactor
305
- - **/prr** (v1.10) — PRR Axe 5 (Change Management) — invoque após refactor para validar production-readiness
306
- - **/postmortem** (v1.10) — pronto para usar se algo regredir em prod (audit trail completo via REFACTOR-SAFETY.md)
307
- - **/concluir-marco** — gate `legacy-refactor-safety` (opt-in) bloqueia close se há refactors com mode=override sem ticket close
308
- ```
309
-
310
- </process>
311
-
312
- <success_criteria>
313
- - [ ] $ARGUMENTS parseados (target_file obrigatório, --mode opcional com 4 valores)
314
- - [ ] Validações por mode aplicadas (override → ticket + reason; safe-extract → checklist)
315
- - [ ] Mode=full executa chain canônico (seam-finder → characterizer → safety-auditor → refactor)
316
- - [ ] Mode=sprout aplica legacy-sprout-wrap-techniques + AskUserQuestion para feature
317
- - [ ] Mode=safe-extract valida checklist + commits single-goal
318
- - [ ] Mode=override registra audit trail completo via refactor-safety-auditor
319
- - [ ] Steps 1-5 e cross-suite documentados no output
320
- - [ ] Each sub-comando invocado via syntax canônica (`/encontrar-seams`, `/caracterizar`, `/auditar-refactor`)
321
- </success_criteria>
1
+ ---
2
+ name: refactor-seguro
3
+ description: Orquestrador de refactor seguro — chain canônico encontrar-seams → caracterizar → auditar-refactor → executar. Suporta modos --mode=full|sprout|safe-extract|override.
4
+ argument-hint: "<target_file> [--mode full|sprout|safe-extract|override] [--ticket REQ-N] [--reason \"...\"] [--skip-seams] [--skip-characterize]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Grep
10
+ - Glob
11
+ - Task
12
+ - AskUserQuestion
13
+ ---
14
+
15
+ <objective>
16
+ Orquestrar fluxo canônico de refactor seguro em código legado: (1) identificar seams + quebrar deps; (2) caracterizar comportamento; (3) auditar safety net; (4) executar refactor com cover-and-modify. Substitui o pattern edit-and-pray (cap 1 Feathers) por cover-and-modify, baseado em characterization tests como oracle.
17
+
18
+ **Chain padrão (`--mode=full`):**
19
+
20
+ ```
21
+ seam-finder → legacy-characterizer → refactor-safety-auditor → executor
22
+ (se necessário) (sempre) (gate) (refactor real)
23
+ ```
24
+
25
+ **Modos alternativos** (atalhos quando mudança não justifica chain completo):
26
+ - `--mode=sprout` — usa `legacy-sprout-wrap-techniques`; legado intocado, comportamento adicionado em sprout testado isoladamente
27
+ - `--mode=safe-extract` — refactor mecânico (rename, IDE-extract bloco contíguo); checklist signed-off + sem characterization
28
+ - `--mode=override` — bypass com audit trail (--ticket + --reason obrigatórios)
29
+
30
+ **Cria/Atualiza:**
31
+ - Em modo full: `.planning/SEAM-ANALYSIS.md`, `tests/characterization/<file_stem>/`, `.planning/REFACTOR-SAFETY.md`
32
+ - Em modo sprout: novo módulo + tests
33
+ - Em modo safe-extract: refactor commit + checklist em `.planning/SAFE-EXTRACT-<file>.md`
34
+ - Em modo override: `.planning/REFACTOR-SAFETY.md` com audit trail
35
+
36
+ **Após:** o user terminou refactor com confiança proporcional ao nível de safety net adotado.
37
+ </objective>
38
+
39
+ <context>
40
+ **Argumentos:**
41
+ - `<target_file>` — caminho do arquivo a refatorar — OBRIGATÓRIO
42
+ - `--mode <full|sprout|safe-extract|override>` — modo do orquestrador (default: `full`)
43
+ - `--ticket REQ-N` — ticket linkado (obrigatório com `--mode=override`)
44
+ - `--reason "<texto>"` — justificativa (obrigatória com `--mode=override`)
45
+ - `--skip-seams` — pular seam-finder (assume deps já controláveis)
46
+ - `--skip-characterize` — pular caracterizar (assume safety net já existe)
47
+ - `--symbol <name>` — escopo limitado a símbolo específico
48
+ - `--feature-description "<texto>"` — em mode=sprout, descreve feature a adicionar
49
+
50
+ **Modos detalhados:**
51
+
52
+ ```
53
+ --mode=full (default)
54
+ =====================
55
+ 1. /encontrar-seams <file> (se necessário, deps externas presentes)
56
+ 2. Aplicar técnicas de break-deps (commits 1-N, manual ou via executor)
57
+ 3. /caracterizar <file> (gera safety net)
58
+ 4. /auditar-refactor <file> (gate retorna GO)
59
+ 5. Refactor real (cover-and-modify, suite verde a cada commit)
60
+ 6. Re-rodar suite final (regressão = 0)
61
+
62
+ --mode=sprout
63
+ =============
64
+ 1. AskUserQuestion para feature description
65
+ 2. Aplicar legacy-sprout-wrap-techniques
66
+ 3. Gerar sprout method/class testável
67
+ 4. Conectar ao legado em 1-2 linhas
68
+ 5. Tests do sprout (100% cobertura no novo)
69
+ 6. PR criado com TODO de débito técnico (legado ainda untested)
70
+
71
+ --mode=safe-extract
72
+ ====================
73
+ 1. Validar checklist canônico:
74
+ - Bloco a extrair é CONTÍGUO?
75
+ - Sem control flow saindo do meio (return/throw/break)?
76
+ - Variáveis lidas/escritas mapeadas?
77
+ - Sem mover lógica entre escopos?
78
+ 2. Aplicar refactor IDE-assisted
79
+ 3. Compilação verde + smoke run
80
+ 4. PR com SAFE-EXTRACT-<file>.md como artefato
81
+
82
+ --mode=override
83
+ ================
84
+ 1. Validar --ticket E --reason
85
+ 2. Auditoria do refactor-safety-auditor com flag override
86
+ 3. Audit trail registrado em REFACTOR-SAFETY.md
87
+ 4. Refactor pode prosseguir SEM characterization
88
+ 5. Débito técnico documentado no ticket
89
+ ```
90
+
91
+ **Exemplos:**
92
+ ```
93
+ /refactor-seguro src/orders/handler.ts # full chain (recomendado)
94
+ /refactor-seguro src/orders/handler.ts --mode=sprout # adicionar feature sem tocar legado
95
+ /refactor-seguro src/orders/handler.ts --mode=safe-extract # rename/extract mecânico
96
+ /refactor-seguro src/orders/handler.ts --mode=override \
97
+ --ticket REQ-2026-Q2-1234 --reason "hot fix SEV1, char em REQ-...1235"
98
+ /refactor-seguro src/orders/handler.ts --skip-seams # deps já testáveis
99
+ /refactor-seguro src/orders/handler.ts --symbol processOrder # método específico
100
+ ```
101
+
102
+ **Quando este comando é o caminho certo:**
103
+ - Você vai modificar arquivo > 200 linhas com cobertura < 60%
104
+ - Webhook/API/Edge Function precisa refactor (contrato externo)
105
+ - Equipe quer disciplina cover-and-modify em vez de edit-and-pray
106
+ - `/discutir-fase` ou `/planejar-fase` detectaram refactor intent
107
+
108
+ **Quando NÃO é o caminho:**
109
+ - Bug fix → use TDD direto (escrever test do comportamento correto, depois fix)
110
+ - Feature nova em código novo → use `/discutir-fase` + `/planejar-fase` normais
111
+ - Arquivo trivial → refactor inline sem ceremonial
112
+ </context>
113
+
114
+ <process>
115
+
116
+ ## 1. Parsear argumentos + validações
117
+
118
+ ```bash
119
+ TARGET_FILE=$(echo "$ARGUMENTS" | awk '{print $1}')
120
+ MODE=$(echo "$ARGUMENTS" | grep -oE -- '--mode[= ][^ ]+' | sed 's/--mode[= ]//')
121
+ TICKET=$(echo "$ARGUMENTS" | grep -oE -- '--ticket [^ ]+' | awk '{print $2}')
122
+ REASON=$(echo "$ARGUMENTS" | grep -oE -- '--reason "[^"]+"' | sed 's/--reason "\(.*\)"/\1/')
123
+ SYMBOL=$(echo "$ARGUMENTS" | grep -oE -- '--symbol [^ ]+' | awk '{print $2}')
124
+ FEATURE_DESC=$(echo "$ARGUMENTS" | grep -oE -- '--feature-description "[^"]+"' | sed 's/--feature-description "\(.*\)"/\1/')
125
+ SKIP_SEAMS=false
126
+ SKIP_CHAR=false
127
+
128
+ echo "$ARGUMENTS" | grep -qE -- '--skip-seams' && SKIP_SEAMS=true
129
+ echo "$ARGUMENTS" | grep -qE -- '--skip-characterize' && SKIP_CHAR=true
130
+
131
+ [ -z "$MODE" ] && MODE="full"
132
+
133
+ if [ -z "$TARGET_FILE" ]; then
134
+ echo "ERROR: target_file é obrigatório."
135
+ echo "Uso: /refactor-seguro <target_file> [opções]"
136
+ exit 1
137
+ fi
138
+
139
+ if [ ! -f "$TARGET_FILE" ]; then
140
+ echo "ERROR: arquivo não encontrado: $TARGET_FILE"
141
+ exit 1
142
+ fi
143
+
144
+ # PT-BR: validações por mode
145
+ case "$MODE" in
146
+ full|sprout|safe-extract|override) ;;
147
+ *)
148
+ echo "ERROR: --mode inválido: $MODE"
149
+ echo "Valores válidos: full, sprout, safe-extract, override"
150
+ exit 1
151
+ ;;
152
+ esac
153
+
154
+ if [ "$MODE" = "override" ]; then
155
+ if [ -z "$TICKET" ] || [ -z "$REASON" ]; then
156
+ echo "ERROR: --mode=override requer --ticket REQ-N E --reason \"<texto>\"."
157
+ exit 1
158
+ fi
159
+ fi
160
+ ```
161
+
162
+ ## 2. Roteamento por mode
163
+
164
+ ### Mode=full (default chain)
165
+
166
+ ```text
167
+ Step 1 — Seam analysis (skip se --skip-seams)
168
+ /encontrar-seams ${TARGET_FILE} ${SYMBOL:+--symbol $SYMBOL}
169
+ → produz .planning/SEAM-ANALYSIS.md
170
+ → user aplica técnicas (commits 1-N)
171
+
172
+ Step 2 — Verificar suite verde após break-deps
173
+ Run test suite, abort se vermelho
174
+
175
+ Step 3 — Characterization (skip se --skip-characterize)
176
+ /caracterizar ${TARGET_FILE} ${SYMBOL:+--symbol $SYMBOL}
177
+ → produz tests/characterization/<file_stem>/
178
+ → user revisa snapshots manualmente
179
+ → user commita como `chore: characterize <file_stem>`
180
+
181
+ Step 4 — Audit do safety net
182
+ /auditar-refactor ${TARGET_FILE} --change-kind=refactor
183
+ → produz .planning/REFACTOR-SAFETY.md com veredito GO/WARN/BLOCK
184
+ → SE BLOCK ainda → loop de volta para step 3 (com --gap-fill)
185
+ → SE GO → prossegue
186
+
187
+ Step 5 — Refactor real
188
+ Delegar para executor OR prompt user para refactor manual
189
+ Após cada commit: rodar suite (verde)
190
+ Após cada commit: characterization tests (verdes — comportamento preservado)
191
+
192
+ Step 6 — Verificação final
193
+ Suite verde
194
+ Characterization VERDE (regressão = 0)
195
+ Mutation kill ≥ 70% (validar safety net)
196
+ PR pode ser aberto
197
+ ```
198
+
199
+ ### Mode=sprout
200
+
201
+ ```text
202
+ Step 1 — Coletar feature description
203
+ Se $FEATURE_DESC vazio → AskUserQuestion:
204
+ "Descreva a feature a ser adicionada (será encapsulada em sprout):"
205
+
206
+ Step 2 — Aplicar legacy-sprout-wrap-techniques
207
+ Decision: sprout method vs sprout class vs wrap method vs wrap class
208
+ - feature ≤ 30 linhas, 1 responsabilidade → sprout method
209
+ - feature > 30 linhas OR multi-responsibility → sprout class
210
+ - feature transforma input/output do legado inteiro → wrap method
211
+ - feature atravessa N métodos da classe → wrap class
212
+
213
+ Step 3 — Gerar sprout
214
+ Criar arquivo novo (sprout module) com lógica testável
215
+ DI explícita para qualquer dep
216
+
217
+ Step 4 — Conectar ao legado em 1-2 linhas
218
+ Inserir chamada ao sprout no legado
219
+ Comment canônico: [legacy-debt #issue-N] sprout — <descrição>
220
+
221
+ Step 5 — Tests do sprout (100% cobertura)
222
+ Escrever 5+ tests cobrindo grupos de equivalência
223
+ Mutation testing no sprout (não no legado)
224
+
225
+ Step 6 — PR
226
+ Diff esperado: arquivo novo + 1-2 linhas no legado
227
+ README/CHANGELOG atualizado se aplicável
228
+ Ticket de débito técnico criado se ainda não existia
229
+ ```
230
+
231
+ ### Mode=safe-extract
232
+
233
+ ```text
234
+ Step 1 — Validar checklist canônico
235
+ AskUserQuestion ou inline-confirm:
236
+ □ Bloco a extrair é CONTÍGUO? (não pode ter return/throw/break/continue saindo)
237
+ □ Variáveis lidas dentro mas declaradas fora → parâmetros (in)?
238
+ □ Variáveis escritas dentro mas usadas fora → return values (out)?
239
+ □ NÃO move lógica entre escopos? (sem move method)
240
+ □ NÃO muda control flow? (sem inverter ifs, sem early return novo)
241
+ □ NÃO modifica sintaxe além de extract/rename?
242
+ Qualquer NÃO → veto, voltar para mode=full
243
+
244
+ Step 2 — Identificar refactor IDE-assisted
245
+ Se Cursor/VS Code/IntelliJ disponível → usar Refactor → Extract Function/Method/Variable
246
+ Caso contrário → manual mas mecânico
247
+
248
+ Step 3 — Aplicar refactor (commits single-goal)
249
+ Após cada commit: compilação verde
250
+ Após cada commit: smoke run (qualquer comando que rodava antes)
251
+
252
+ Step 4 — Output checklist signed-off
253
+ Escrever .planning/SAFE-EXTRACT-<file_stem>.md com:
254
+ - Checklist canônico (todos os itens marcados)
255
+ - Lista de commits (cada um single-goal)
256
+ - Validação de comportamento (smoke verde)
257
+ ```
258
+
259
+ ### Mode=override
260
+
261
+ ```text
262
+ Step 1 — Validar --ticket E --reason (já feito acima)
263
+
264
+ Step 2 — Auditar com flag override
265
+ /auditar-refactor ${TARGET_FILE} \
266
+ --change-kind=override \
267
+ --ticket ${TICKET} \
268
+ --reason "${REASON}"
269
+ → audit trail registrado em REFACTOR-SAFETY.md
270
+
271
+ Step 3 — Refactor pode prosseguir
272
+ Output:
273
+ ⚠ MODE=OVERRIDE — refactor sem characterization
274
+ Ticket: ${TICKET}
275
+ Reason: ${REASON}
276
+ Audit trail: .planning/REFACTOR-SAFETY.md
277
+
278
+ Você aceitou o débito técnico. Refactor pode iniciar AGORA.
279
+ Lembre-se: regressão silenciosa em prod é responsabilidade do owner do ticket.
280
+ ```
281
+
282
+ ## 3. Output canônico
283
+
284
+ ```
285
+ ═══════════════════════════════════════════════════════════
286
+ framework ► REFACTOR-SEGURO ▸ ${TARGET_FILE} (mode: ${MODE})
287
+ ═══════════════════════════════════════════════════════════
288
+
289
+ [output específico do mode escolhido]
290
+
291
+ ## Sumário do que foi feito
292
+
293
+ | Step | Ação | Output |
294
+ |---|---|---|
295
+ | 1 | Seam analysis | .planning/SEAM-ANALYSIS.md |
296
+ | 2 | Characterization | tests/characterization/<file_stem>/ |
297
+ | 3 | Safety audit | .planning/REFACTOR-SAFETY.md (veredito: GO) |
298
+ | 4 | Refactor | <commits sequenciais> |
299
+ | 5 | Verificação final | suite verde, mutation kill ≥ 70% |
300
+
301
+ ## Cross-suite
302
+
303
+ - **/instrumentar-fase** (v1.9) — adicionar instrumentação para detectar regressão precoce em prod via golden signals
304
+ - **/burn-rate-status** (v1.9) — monitor SLO budget pós-deploy do refactor
305
+ - **/prr** (v1.10) — PRR Axe 5 (Change Management) — invoque após refactor para validar production-readiness
306
+ - **/postmortem** (v1.10) — pronto para usar se algo regredir em prod (audit trail completo via REFACTOR-SAFETY.md)
307
+ - **/concluir-marco** — gate `legacy-refactor-safety` (opt-in) bloqueia close se há refactors com mode=override sem ticket close
308
+ ```
309
+
310
+ </process>
311
+
312
+ <success_criteria>
313
+ - [ ] $ARGUMENTS parseados (target_file obrigatório, --mode opcional com 4 valores)
314
+ - [ ] Validações por mode aplicadas (override → ticket + reason; safe-extract → checklist)
315
+ - [ ] Mode=full executa chain canônico (seam-finder → characterizer → safety-auditor → refactor)
316
+ - [ ] Mode=sprout aplica legacy-sprout-wrap-techniques + AskUserQuestion para feature
317
+ - [ ] Mode=safe-extract valida checklist + commits single-goal
318
+ - [ ] Mode=override registra audit trail completo via refactor-safety-auditor
319
+ - [ ] Steps 1-5 e cross-suite documentados no output
320
+ - [ ] Each sub-comando invocado via syntax canônica (`/encontrar-seams`, `/caracterizar`, `/auditar-refactor`)
321
+ </success_criteria>