@daniellins/power-claude 0.16.3

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.

Potentially problematic release.


This version of @daniellins/power-claude might be problematic. Click here for more details.

Files changed (467) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +121 -0
  3. package/bin/cli.js +124 -0
  4. package/installer/__tests__/doctor-ready-oracles.test.cjs +140 -0
  5. package/installer/__tests__/merge-settings.test.cjs +330 -0
  6. package/installer/adopt.js +161 -0
  7. package/installer/copy.js +203 -0
  8. package/installer/doctor.js +266 -0
  9. package/installer/install.js +155 -0
  10. package/installer/manifest.js +102 -0
  11. package/installer/motor-scripts.js +50 -0
  12. package/installer/motor-scripts.json +39 -0
  13. package/installer/uninstall.js +99 -0
  14. package/installer/update.js +376 -0
  15. package/installer/util.js +113 -0
  16. package/installer/wizard.js +64 -0
  17. package/package.json +26 -0
  18. package/scripts/__fixtures__/anti-path-demo/agents/ap-writer.md +13 -0
  19. package/scripts/__fixtures__/anti-path-demo/templates/write-tmpl.md +7 -0
  20. package/scripts/__fixtures__/anti-path-demo/workflows/wf-ap.smoke.json +10 -0
  21. package/scripts/__fixtures__/anti-path-demo/workflows/wf-ap.yaml +25 -0
  22. package/scripts/__fixtures__/assess-tier/retrofit-leve/pod/agents/content-chief.md +1 -0
  23. package/scripts/__fixtures__/assess-tier/retrofit-leve/pod/workflows/wf-criacao-redteam.yaml +3 -0
  24. package/scripts/__fixtures__/assess-tier/retrofit-leve/pod-spec.json +13 -0
  25. package/scripts/__fixtures__/fidelity/fake-green-average-in-band.yaml +21 -0
  26. package/scripts/__fixtures__/fidelity/fake-green-average.yaml +18 -0
  27. package/scripts/__fixtures__/fidelity/fake-green-denominator.yaml +19 -0
  28. package/scripts/__fixtures__/fidelity/fake-green-missing-evidence.yaml +18 -0
  29. package/scripts/__fixtures__/fidelity/fake-green-threshold.yaml +18 -0
  30. package/scripts/__fixtures__/fidelity/fake-green-weight.yaml +18 -0
  31. package/scripts/__fixtures__/fidelity/golden.yaml +31 -0
  32. package/scripts/__fixtures__/fidelity/trindade-incoherent.yaml +15 -0
  33. package/scripts/__fixtures__/forge-canonical/pod-spec-example.json +37 -0
  34. package/scripts/__fixtures__/migrate-squad/authored/agents/offer-engineer.md +17 -0
  35. package/scripts/__fixtures__/migrate-squad/authored/knowledge/no-source.md +7 -0
  36. package/scripts/__fixtures__/migrate-squad/authored/knowledge/value-stack-method.md +8 -0
  37. package/scripts/__fixtures__/migrate-squad/authored/specs/wf-sample.smoke.json +24 -0
  38. package/scripts/__fixtures__/migrate-squad/authored/specs/wf-sample.spec.json +45 -0
  39. package/scripts/__fixtures__/migrate-squad/legacy-squad/HEADLINE.md +3 -0
  40. package/scripts/__fixtures__/migrate-squad/legacy-squad/README.md +4 -0
  41. package/scripts/__fixtures__/migrate-squad/legacy-squad/agents/hormozi-offer.md +14 -0
  42. package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/dead-redundant.md +4 -0
  43. package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/method-guide.md +6 -0
  44. package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/veto-screen.md +4 -0
  45. package/scripts/__fixtures__/migrate-squad/legacy-squad/config/config.yaml +2 -0
  46. package/scripts/__fixtures__/migrate-squad/legacy-squad/data/case-library.md +3 -0
  47. package/scripts/__fixtures__/migrate-squad/legacy-squad/scripts/validate-mvn.py +16 -0
  48. package/scripts/__fixtures__/migrate-squad/legacy-squad/sops/sop-sample.md +3 -0
  49. package/scripts/__fixtures__/migrate-squad/legacy-squad/squad-io.yaml +14 -0
  50. package/scripts/__fixtures__/migrate-squad/legacy-squad/tasks/gather-context.md +7 -0
  51. package/scripts/__fixtures__/migrate-squad/legacy-squad/templates/output-tmpl.md +5 -0
  52. package/scripts/__fixtures__/migrate-squad/legacy-squad/workflows/wf-sample.yaml +24 -0
  53. package/scripts/__fixtures__/pipeline/pipelines/pipeline-checkpoint.yaml +21 -0
  54. package/scripts/__fixtures__/pipeline/pipelines/pipeline-demo.yaml +22 -0
  55. package/scripts/__fixtures__/pipeline/pods/pipe-a/agents/maker.md +13 -0
  56. package/scripts/__fixtures__/pipeline/pods/pipe-a/memory/learnings.consolidated.md +8 -0
  57. package/scripts/__fixtures__/pipeline/pods/pipe-a/memory/learnings.jsonl +83 -0
  58. package/scripts/__fixtures__/pipeline/pods/pipe-a/templates/make-tmpl.md +8 -0
  59. package/scripts/__fixtures__/pipeline/pods/pipe-a/workflows/wf-a.yaml +16 -0
  60. package/scripts/__fixtures__/pipeline/pods/pipe-b/agents/user.md +13 -0
  61. package/scripts/__fixtures__/pipeline/pods/pipe-b/memory/learnings.consolidated.md +8 -0
  62. package/scripts/__fixtures__/pipeline/pods/pipe-b/memory/learnings.jsonl +14 -0
  63. package/scripts/__fixtures__/pipeline/pods/pipe-b/templates/use-tmpl.md +6 -0
  64. package/scripts/__fixtures__/pipeline/pods/pipe-b/workflows/wf-b.yaml +16 -0
  65. package/scripts/__fixtures__/pod-run/agents/forge-chief.md +13 -0
  66. package/scripts/__fixtures__/pod-run/agents/pod-critic.md +13 -0
  67. package/scripts/__fixtures__/pod-run/templates/build-tmpl.md +8 -0
  68. package/scripts/__fixtures__/pod-run/templates/gate-tmpl.md +6 -0
  69. package/scripts/__fixtures__/pod-run/workflows/wf-min.yaml +43 -0
  70. package/scripts/__fixtures__/pod-run/workflows/wf-skip-modes.yaml +50 -0
  71. package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-all-skippable.yaml +30 -0
  72. package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-criteria-escalar-de-bloco.yaml +40 -0
  73. package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-skip-mode-desconhecido.yaml +30 -0
  74. package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-unknown-key.yaml +29 -0
  75. package/scripts/__fixtures__/pod-workflow/invalid-cycle.yaml +26 -0
  76. package/scripts/__fixtures__/pod-workflow/invalid-fix-loop-backedge.yaml +29 -0
  77. package/scripts/__fixtures__/pod-workflow/invalid-fix-loop-forward.yaml +29 -0
  78. package/scripts/__fixtures__/pod-workflow/invalid-handoff-open.yaml +27 -0
  79. package/scripts/__fixtures__/pod-workflow/invalid-knowledge-shape.yaml +18 -0
  80. package/scripts/__fixtures__/pod-workflow/invalid-missing-agent.yaml +15 -0
  81. package/scripts/__fixtures__/pod-workflow/invalid-missing-outputs.yaml +15 -0
  82. package/scripts/__fixtures__/pod-workflow/invalid-missing-template.yaml +15 -0
  83. package/scripts/__fixtures__/pod-workflow/invalid-missing-veto.yaml +13 -0
  84. package/scripts/__fixtures__/pod-workflow/invalid-template-not-on-disk.yaml +16 -0
  85. package/scripts/__fixtures__/pod-workflow/invalid-veto-prose.yaml +17 -0
  86. package/scripts/__fixtures__/pod-workflow/knowledge/a.md +4 -0
  87. package/scripts/__fixtures__/pod-workflow/knowledge/b.md +4 -0
  88. package/scripts/__fixtures__/pod-workflow/knowledge/c.md +4 -0
  89. package/scripts/__fixtures__/pod-workflow/templates/step-tmpl.md +7 -0
  90. package/scripts/__fixtures__/pod-workflow/valid-checkpoint-skip-modes.yaml +29 -0
  91. package/scripts/__fixtures__/pod-workflow/valid-fix-loop.yaml +30 -0
  92. package/scripts/__fixtures__/pod-workflow/valid-knowledge.yaml +30 -0
  93. package/scripts/__fixtures__/pod-workflow/valid-veto-always-true.yaml +20 -0
  94. package/scripts/__fixtures__/pod-workflow/valid.yaml +27 -0
  95. package/scripts/__fixtures__/smoke-canary/agents/canary-reporter.md +13 -0
  96. package/scripts/__fixtures__/smoke-canary/agents/canary-researcher.md +13 -0
  97. package/scripts/__fixtures__/smoke-canary/agents/canary-synth.md +13 -0
  98. package/scripts/__fixtures__/smoke-canary/memory/learnings.consolidated.md +10 -0
  99. package/scripts/__fixtures__/smoke-canary/memory/learnings.jsonl +448 -0
  100. package/scripts/__fixtures__/smoke-canary/templates/report-tmpl.md +9 -0
  101. package/scripts/__fixtures__/smoke-canary/templates/research-tmpl.md +7 -0
  102. package/scripts/__fixtures__/smoke-canary/templates/synth-tmpl.md +9 -0
  103. package/scripts/__fixtures__/smoke-canary/workflows/wf-canary.smoke.json +11 -0
  104. package/scripts/__fixtures__/smoke-canary/workflows/wf-canary.yaml +53 -0
  105. package/scripts/__fixtures__/source-audit/fake-green-bronze-unsignaled.yaml +10 -0
  106. package/scripts/__fixtures__/source-audit/fake-green-counts.yaml +9 -0
  107. package/scripts/__fixtures__/source-audit/fake-green-missing-evidence.yaml +9 -0
  108. package/scripts/__fixtures__/source-audit/fake-green-unclassified.yaml +10 -0
  109. package/scripts/__fixtures__/source-audit/fake-green-verdict.yaml +10 -0
  110. package/scripts/__fixtures__/source-audit/golden-blocked.yaml +10 -0
  111. package/scripts/__fixtures__/source-audit/golden.yaml +11 -0
  112. package/scripts/__fixtures__/sweep-forms/agents/forms-count.md +13 -0
  113. package/scripts/__fixtures__/sweep-forms/agents/forms-field.md +13 -0
  114. package/scripts/__fixtures__/sweep-forms/agents/forms-fileref.md +13 -0
  115. package/scripts/__fixtures__/sweep-forms/agents/forms-json.md +13 -0
  116. package/scripts/__fixtures__/sweep-forms/agents/forms-section.md +13 -0
  117. package/scripts/__fixtures__/sweep-forms/specs/wf-forms.spec.json +5 -0
  118. package/scripts/__fixtures__/sweep-forms/templates/t_count.md +5 -0
  119. package/scripts/__fixtures__/sweep-forms/templates/t_field.md +3 -0
  120. package/scripts/__fixtures__/sweep-forms/templates/t_fileref.md +3 -0
  121. package/scripts/__fixtures__/sweep-forms/templates/t_json.md +0 -0
  122. package/scripts/__fixtures__/sweep-forms/templates/t_section.md +3 -0
  123. package/scripts/__fixtures__/sweep-forms/workflows/wf-forms.smoke.json +13 -0
  124. package/scripts/__fixtures__/sweep-forms/workflows/wf-forms.yaml +67 -0
  125. package/scripts/__fixtures__/validate-story-acs-corpus/corpus-1-noop-state-json.fixture.md +18 -0
  126. package/scripts/__fixtures__/validate-story-acs-corpus/corpus-2-crash-buildworkflowyaml.fixture.md +26 -0
  127. package/scripts/__fixtures__/validate-story-acs-corpus/corpus-3-nasce-verde-skip-modes.fixture.md +29 -0
  128. package/scripts/__fixtures__/validate-story-acs-corpus/corpus-4-guarda-sem-irmao.fixture.md +17 -0
  129. package/scripts/__fixtures__/validate-story-acs-corpus/corpus-5a-diff-stat-sem-guarda.fixture.md +17 -0
  130. package/scripts/__fixtures__/validate-story-acs-corpus/corpus-5b-test-f-sobre-diretorio.fixture.md +20 -0
  131. package/scripts/__fixtures__/veto-checks/copy-clean.md +4 -0
  132. package/scripts/__fixtures__/veto-checks/copy-dashes.md +4 -0
  133. package/scripts/__fixtures__/veto-checks/n8n-bad.md +18 -0
  134. package/scripts/__fixtures__/veto-checks/n8n-ok.md +22 -0
  135. package/scripts/__fixtures__/veto-checks/page-bad.html +7 -0
  136. package/scripts/__fixtures__/veto-checks/phash/copy.png +0 -0
  137. package/scripts/__fixtures__/veto-checks/phash/distinct.png +0 -0
  138. package/scripts/__fixtures__/veto-checks/phash/distinct2.png +0 -0
  139. package/scripts/__fixtures__/veto-checks/phash/make-fixtures.cjs +203 -0
  140. package/scripts/__fixtures__/veto-checks/phash/ref.png +0 -0
  141. package/scripts/__fixtures__/veto-checks/slide-ok.html +15 -0
  142. package/scripts/__fixtures__/veto-checks/slide-overflow.html +14 -0
  143. package/scripts/__fixtures__/veto-checks/sweep-pod/agents/vc-checker.md +13 -0
  144. package/scripts/__fixtures__/veto-checks/sweep-pod/templates/check-tmpl.md +6 -0
  145. package/scripts/__fixtures__/veto-checks/sweep-pod/workflows/wf-vc.smoke.json +10 -0
  146. package/scripts/__fixtures__/veto-checks/sweep-pod/workflows/wf-vc.yaml +19 -0
  147. package/scripts/__fixtures__/voz-do-dono/README.md +23 -0
  148. package/scripts/__fixtures__/voz-do-dono/dono-escalar.yaml +9 -0
  149. package/scripts/__fixtures__/voz-do-dono/dono-guia.yaml +10 -0
  150. package/scripts/__fixtures__/voz-do-dono/peca-3a-pessoa.md +6 -0
  151. package/scripts/__fixtures__/voz-do-dono/peca-com-lexico-proibido.md +6 -0
  152. package/scripts/__fixtures__/voz-do-dono/peca-limpa-1a-pessoa.md +6 -0
  153. package/scripts/__tests__/derive-ready-transitions.test.cjs +269 -0
  154. package/scripts/__tests__/enforce-cycle-authority.test.cjs +869 -0
  155. package/scripts/__tests__/enforce-git-push-authority.test.cjs +701 -0
  156. package/scripts/__tests__/enforce-ready-oracles.test.cjs +745 -0
  157. package/scripts/__tests__/motor-scripts.test.cjs +339 -0
  158. package/scripts/__tests__/pc-run-pod-counter.test.cjs +58 -0
  159. package/scripts/__tests__/pc-run-pod.test.cjs +578 -0
  160. package/scripts/__tests__/validate-pod-workflow.test.cjs +90 -0
  161. package/scripts/__tests__/validate-story-acs.test.cjs +607 -0
  162. package/scripts/anti-path.test.cjs +163 -0
  163. package/scripts/arena.cjs +514 -0
  164. package/scripts/arena.test.cjs +213 -0
  165. package/scripts/brief-leitura-obrigatoria.test.cjs +364 -0
  166. package/scripts/consolidate-knowledge-runner.test.cjs +249 -0
  167. package/scripts/default-funcional.test.cjs +153 -0
  168. package/scripts/derive-ready-transitions.cjs +325 -0
  169. package/scripts/forge-additive.test.cjs +158 -0
  170. package/scripts/forge-assess-tier.cjs +205 -0
  171. package/scripts/forge-assess-tier.test.cjs +114 -0
  172. package/scripts/forge-canonical.test.cjs +624 -0
  173. package/scripts/forge-generate.cjs +1303 -0
  174. package/scripts/forge-harden-learning.cjs +921 -0
  175. package/scripts/forge-harden-learning.test.cjs +242 -0
  176. package/scripts/forge-ingest-memory.cjs +136 -0
  177. package/scripts/forge-upgrade-pod.cjs +368 -0
  178. package/scripts/forge.test.cjs +609 -0
  179. package/scripts/harden-knowledge.test.cjs +612 -0
  180. package/scripts/harness-g5-lite.cjs +243 -0
  181. package/scripts/harness-g5-lite.test.cjs +134 -0
  182. package/scripts/hn-carousel-contrato-entrada.test.cjs +96 -0
  183. package/scripts/migrate-squad-orchestration.test.cjs +146 -0
  184. package/scripts/migration-manifest-sf3.2.test.cjs +382 -0
  185. package/scripts/migration-manifest-sf3.3.test.cjs +170 -0
  186. package/scripts/migration-manifest-sf5.5.test.cjs +189 -0
  187. package/scripts/migration-manifest.cjs +1146 -0
  188. package/scripts/migration-manifest.test.cjs +186 -0
  189. package/scripts/npm-scope-invocation.test.cjs +194 -0
  190. package/scripts/owner-layer.cjs +442 -0
  191. package/scripts/owner-layer.test.cjs +358 -0
  192. package/scripts/pc-run-pipeline.cjs +289 -0
  193. package/scripts/pc-run-pipeline.test.cjs +256 -0
  194. package/scripts/pc-run-pod-countgte.test.cjs +66 -0
  195. package/scripts/pc-run-pod.cjs +1355 -0
  196. package/scripts/phash-gate.test.cjs +433 -0
  197. package/scripts/pod-export-compile.cjs +487 -0
  198. package/scripts/pod-export-compile.test.cjs +312 -0
  199. package/scripts/pod-export-executor.cjs +678 -0
  200. package/scripts/pod-export-executor.test.cjs +1341 -0
  201. package/scripts/pod-export-hardening.test.cjs +531 -0
  202. package/scripts/pod-export-postprocess.cjs +427 -0
  203. package/scripts/pod-export-postprocess.test.cjs +558 -0
  204. package/scripts/pod-export-queue-race.test.cjs +865 -0
  205. package/scripts/pod-export-release.cjs +473 -0
  206. package/scripts/pod-export-release.test.cjs +267 -0
  207. package/scripts/pod-export-service.cjs +1297 -0
  208. package/scripts/pod-export-service.test.cjs +489 -0
  209. package/scripts/pod-export-tools.cjs +470 -0
  210. package/scripts/pod-export-ui.cjs +805 -0
  211. package/scripts/pod-export-ui.test.cjs +301 -0
  212. package/scripts/pod-memory-budget.test.cjs +309 -0
  213. package/scripts/pod-memory-note.cjs +357 -0
  214. package/scripts/pod-memory-note.test.cjs +452 -0
  215. package/scripts/pod-memory.cjs +1252 -0
  216. package/scripts/pod-memory.test.cjs +951 -0
  217. package/scripts/render-png.test.cjs +307 -0
  218. package/scripts/smoke-isolation.test.cjs +100 -0
  219. package/scripts/smoke-pod-workflow.cjs +755 -0
  220. package/scripts/smoke-sweep.test.cjs +170 -0
  221. package/scripts/validate-adopt.js +235 -0
  222. package/scripts/validate-branding.js +84 -0
  223. package/scripts/validate-budgets.js +140 -0
  224. package/scripts/validate-fidelity-output.cjs +267 -0
  225. package/scripts/validate-fidelity-output.test.cjs +101 -0
  226. package/scripts/validate-install.js +230 -0
  227. package/scripts/validate-no-clone.cjs +220 -0
  228. package/scripts/validate-no-clone.test.cjs +77 -0
  229. package/scripts/validate-pipeline.cjs +145 -0
  230. package/scripts/validate-pod-workflow.cjs +878 -0
  231. package/scripts/validate-source-audit.cjs +170 -0
  232. package/scripts/validate-source-audit.test.cjs +90 -0
  233. package/scripts/validate-story-acs.cjs +862 -0
  234. package/scripts/validate-update-scope-motor.js +421 -0
  235. package/scripts/veto-checks/html-valid.cjs +92 -0
  236. package/scripts/veto-checks/lexical-check.cjs +62 -0
  237. package/scripts/veto-checks/phash-gate.cjs +589 -0
  238. package/scripts/veto-checks/render-gate.cjs +165 -0
  239. package/scripts/veto-checks/render-png.cjs +358 -0
  240. package/scripts/veto-checks.test.cjs +219 -0
  241. package/scripts/watcher-audit.cjs +178 -0
  242. package/template/.claude/CLAUDE.md +103 -0
  243. package/template/.claude/agents/pc-analyst.md +100 -0
  244. package/template/.claude/agents/pc-architect.md +32 -0
  245. package/template/.claude/agents/pc-dev.md +27 -0
  246. package/template/.claude/agents/pc-devops.md +45 -0
  247. package/template/.claude/agents/pc-planner.md +32 -0
  248. package/template/.claude/agents/pc-po.md +25 -0
  249. package/template/.claude/agents/pc-qa.md +25 -0
  250. package/template/.claude/commands/power/academy.md +9 -0
  251. package/template/.claude/commands/power/automation.md +9 -0
  252. package/template/.claude/commands/power/content-carousel.md +267 -0
  253. package/template/.claude/commands/power/content.md +9 -0
  254. package/template/.claude/commands/power/dev.md +9 -0
  255. package/template/.claude/commands/power/forge.md +224 -0
  256. package/template/.claude/commands/power/hormozi.md +221 -0
  257. package/template/.claude/commands/power/modo.md +57 -0
  258. package/template/.claude/hooks/README.md +114 -0
  259. package/template/.claude/hooks/context-budget.cjs +64 -0
  260. package/template/.claude/hooks/enforce-cycle-authority.cjs +457 -0
  261. package/template/.claude/hooks/enforce-git-push-authority.cjs +925 -0
  262. package/template/.claude/hooks/enforce-ready-oracles.cjs +502 -0
  263. package/template/.claude/rules/authority.md +76 -0
  264. package/template/.claude/rules/curadoria-de-conhecimento.md +30 -0
  265. package/template/.claude/rules/model-matrix.md +34 -0
  266. package/template/.claude/rules/orchestration.md +133 -0
  267. package/template/.claude/settings.json +50 -0
  268. package/template/.claude/skills/pc-apply-qa-fixes/SKILL.md +108 -0
  269. package/template/.claude/skills/pc-apply-qa-fixes/references/fix-loop.md +40 -0
  270. package/template/.claude/skills/pc-apply-qa-fixes/references/fix-request-template.md +70 -0
  271. package/template/.claude/skills/pc-arena/SKILL.md +96 -0
  272. package/template/.claude/skills/pc-close-story/SKILL.md +105 -0
  273. package/template/.claude/skills/pc-commit/SKILL.md +108 -0
  274. package/template/.claude/skills/pc-develop-story/SKILL.md +116 -0
  275. package/template/.claude/skills/pc-full-cycle/SKILL.md +150 -0
  276. package/template/.claude/skills/pc-pipeline/SKILL.md +63 -0
  277. package/template/.claude/skills/pc-pipeline/references/gate-templates.md +46 -0
  278. package/template/.claude/skills/pc-review-story/SKILL.md +129 -0
  279. package/template/.claude/skills/pc-review-story/references/false-positive-detection.md +50 -0
  280. package/template/.claude/skills/pc-review-story/references/nfr-assess.md +47 -0
  281. package/template/.claude/skills/pc-review-story/references/risk-profile.md +75 -0
  282. package/template/.claude/skills/pc-review-story/references/security-checklist.md +69 -0
  283. package/template/.claude/skills/pc-review-story/references/test-design.md +37 -0
  284. package/template/.claude/skills/pc-review-story/references/trace-requirements.md +46 -0
  285. package/template/.claude/skills/pc-run-pod/SKILL.md +123 -0
  286. package/template/.claude/skills/pc-validate-story/SKILL.md +114 -0
  287. package/template/.claude/skills/pc-wave/SKILL.md +133 -0
  288. package/template/.env.example +10 -0
  289. package/template/knowledge/analyst/brainstorming.md +40 -0
  290. package/template/knowledge/analyst/brief-skeleton.md +32 -0
  291. package/template/knowledge/analyst/competitor-skeleton.md +39 -0
  292. package/template/knowledge/analyst/elicitation-menu.md +49 -0
  293. package/template/knowledge/analyst/market-research-skeleton.md +36 -0
  294. package/template/knowledge/analyst/research-prompt-structure.md +48 -0
  295. package/template/knowledge/analyst/roi-skeleton.md +51 -0
  296. package/template/knowledge/voice-dna/README.md +99 -0
  297. package/template/knowledge/voice-dna/voice-dna.example.yaml +157 -0
  298. package/template/pods/README.md +64 -0
  299. package/template/pods/academy/README.md +37 -0
  300. package/template/pods/academy/agents/academy-chief.md +27 -0
  301. package/template/pods/academy/examples/palestra.example.md +142 -0
  302. package/template/pods/academy/pod-spec.json +44 -0
  303. package/template/pods/academy/templates/materiais-tmpl.md +17 -0
  304. package/template/pods/academy/templates/revisao-didatica-tmpl.md +20 -0
  305. package/template/pods/academy/workflows/wf-materiais-revisao.yaml +30 -0
  306. package/template/pods/authority-content/README.md +43 -0
  307. package/template/pods/authority-content/agents/content-chief.md +28 -0
  308. package/template/pods/authority-content/pod-spec.json +45 -0
  309. package/template/pods/authority-content/templates/criacao-na-voz-tmpl.md +17 -0
  310. package/template/pods/authority-content/templates/red-team-factual-tmpl.md +23 -0
  311. package/template/pods/authority-content/workflows/wf-criacao-redteam.yaml +30 -0
  312. package/template/pods/automation/README.md +37 -0
  313. package/template/pods/automation/agents/langgraph-architect.md +30 -0
  314. package/template/pods/automation/agents/n8n-architect.md +30 -0
  315. package/template/pods/automation/examples/README.md +46 -0
  316. package/template/pods/automation/examples/n8n-content-radar.example.json +380 -0
  317. package/template/pods/automation/knowledge/langgraph-patterns.md +126 -0
  318. package/template/pods/automation/knowledge/n8n-patterns.md +131 -0
  319. package/template/pods/automation/memory/README.md +16 -0
  320. package/template/pods/automation/memory/learnings.consolidated.md +8 -0
  321. package/template/pods/automation/memory/learnings.jsonl +0 -0
  322. package/template/pods/automation/pod-spec.json +109 -0
  323. package/template/pods/automation/specs/wf-langgraph-build.spec.json +107 -0
  324. package/template/pods/automation/squad-io.yaml +28 -0
  325. package/template/pods/automation/templates/lg-build-tmpl.md +17 -0
  326. package/template/pods/automation/templates/lg-design-tmpl.md +23 -0
  327. package/template/pods/automation/templates/lg-discover-tmpl.md +20 -0
  328. package/template/pods/automation/templates/lg-handoff-tmpl.md +20 -0
  329. package/template/pods/automation/templates/lg-test-tmpl.md +20 -0
  330. package/template/pods/automation/templates/n8n-build-tmpl.md +14 -0
  331. package/template/pods/automation/templates/n8n-design-tmpl.md +23 -0
  332. package/template/pods/automation/templates/n8n-discover-tmpl.md +20 -0
  333. package/template/pods/automation/templates/n8n-handoff-tmpl.md +20 -0
  334. package/template/pods/automation/templates/n8n-test-tmpl.md +20 -0
  335. package/template/pods/automation/workflows/wf-langgraph-build.smoke.json +11 -0
  336. package/template/pods/automation/workflows/wf-langgraph-build.yaml +64 -0
  337. package/template/pods/automation/workflows/wf-n8n-build.smoke.json +11 -0
  338. package/template/pods/automation/workflows/wf-n8n-build.yaml +65 -0
  339. package/template/pods/content-carousel/README.md +91 -0
  340. package/template/pods/content-carousel/agents/carousel-builder.md +28 -0
  341. package/template/pods/content-carousel/agents/carousel-visual.md +24 -0
  342. package/template/pods/content-carousel/agents/hn-curator.md +74 -0
  343. package/template/pods/content-carousel/config/heuristic-watcher-rubric.yaml +59 -0
  344. package/template/pods/content-carousel/knowledge/aquisicao-ancora.md +443 -0
  345. package/template/pods/content-carousel/knowledge/cta-brief.md +25 -0
  346. package/template/pods/content-carousel/knowledge/dono.example.yaml +45 -0
  347. package/template/pods/content-carousel/knowledge/identidade-visual-mascote.md +62 -0
  348. package/template/pods/content-carousel/knowledge/image-generation.md +62 -0
  349. package/template/pods/content-carousel/knowledge/selecao-de-ancora.md +60 -0
  350. package/template/pods/content-carousel/knowledge/slides-html.md +56 -0
  351. package/template/pods/content-carousel/memory/README.md +18 -0
  352. package/template/pods/content-carousel/memory/learnings.consolidated.md +6 -0
  353. package/template/pods/content-carousel/memory/learnings.jsonl +0 -0
  354. package/template/pods/content-carousel/pod-spec.json +100 -0
  355. package/template/pods/content-carousel/squad-io.yaml +10 -0
  356. package/template/pods/content-carousel/templates/assembly-tmpl.md +23 -0
  357. package/template/pods/content-carousel/templates/digest-tmpl.md +29 -0
  358. package/template/pods/content-carousel/templates/visuals-tmpl.md +20 -0
  359. package/template/pods/content-carousel/workflows/wf-content-carousel.smoke.json +23 -0
  360. package/template/pods/content-carousel/workflows/wf-content-carousel.yaml +80 -0
  361. package/template/pods/dev-ia/README.md +45 -0
  362. package/template/pods/dev-ia/agents/db-architect.md +33 -0
  363. package/template/pods/dev-ia/agents/ux-architect.md +29 -0
  364. package/template/pods/dev-ia/knowledge/db/migration-protocol.md +95 -0
  365. package/template/pods/dev-ia/knowledge/db/rls-patterns.md +101 -0
  366. package/template/pods/dev-ia/knowledge/db/schema-review-checklist.md +76 -0
  367. package/template/pods/dev-ia/memory/README.md +16 -0
  368. package/template/pods/dev-ia/memory/learnings.consolidated.md +8 -0
  369. package/template/pods/dev-ia/memory/learnings.jsonl +0 -0
  370. package/template/pods/dev-ia/pod-spec.json +34 -0
  371. package/template/pods/dev-ia/templates/schema-review-tmpl.md +23 -0
  372. package/template/pods/dev-ia/templates/ux-flow-review-tmpl.md +23 -0
  373. package/template/pods/dev-ia/tools/db-ops/backup-manager.sh +321 -0
  374. package/template/pods/dev-ia/tools/db-ops/best-practices-auditor.sh +534 -0
  375. package/template/pods/dev-ia/tools/db-ops/bootstrap-runner.sh +255 -0
  376. package/template/pods/dev-ia/tools/db-ops/data-loader.sh +616 -0
  377. package/template/pods/dev-ia/tools/db-ops/detect-database.sh +113 -0
  378. package/template/pods/dev-ia/tools/db-ops/explain-analyzer.sh +285 -0
  379. package/template/pods/dev-ia/tools/db-ops/health-checker.sh +323 -0
  380. package/template/pods/dev-ia/tools/db-ops/migration-runner.sh +308 -0
  381. package/template/pods/dev-ia/tools/db-ops/postgresql-schema-loader.sh +334 -0
  382. package/template/pods/dev-ia/tools/db-ops/query-runner.sh +171 -0
  383. package/template/pods/dev-ia/tools/db-ops/rls-policy-installer.sh +480 -0
  384. package/template/pods/dev-ia/tools/db-ops/rls-test-suite.sh +172 -0
  385. package/template/pods/dev-ia/tools/db-ops/schema-context-loader.sh +176 -0
  386. package/template/pods/hormozi-method/README.md +52 -0
  387. package/template/pods/hormozi-method/agents/acquisition-strategist.md +33 -0
  388. package/template/pods/hormozi-method/agents/conversion-copywriter.md +34 -0
  389. package/template/pods/hormozi-method/agents/monetization-architect.md +35 -0
  390. package/template/pods/hormozi-method/agents/offer-engineer.md +37 -0
  391. package/template/pods/hormozi-method/knowledge/core-four-leads.md +51 -0
  392. package/template/pods/hormozi-method/knowledge/grand-slam-offer.md +66 -0
  393. package/template/pods/hormozi-method/knowledge/growth-decision.md +38 -0
  394. package/template/pods/hormozi-method/knowledge/hooks-and-ads.md +56 -0
  395. package/template/pods/hormozi-method/knowledge/launch-email.md +31 -0
  396. package/template/pods/hormozi-method/knowledge/money-model.md +46 -0
  397. package/template/pods/hormozi-method/knowledge/opportunity-screening.md +44 -0
  398. package/template/pods/hormozi-method/knowledge/pages.md +25 -0
  399. package/template/pods/hormozi-method/knowledge/pos-lancamento-leads.md +56 -0
  400. package/template/pods/hormozi-method/knowledge/pricing.md +36 -0
  401. package/template/pods/hormozi-method/knowledge/retention-ltv.md +37 -0
  402. package/template/pods/hormozi-method/knowledge/scale-roadmap.md +35 -0
  403. package/template/pods/hormozi-method/knowledge/swipefiles-curados.md +44 -0
  404. package/template/pods/hormozi-method/knowledge/value-equation-diagnostic.md +77 -0
  405. package/template/pods/hormozi-method/memory/README.md +16 -0
  406. package/template/pods/hormozi-method/memory/learnings.consolidated.md +6 -0
  407. package/template/pods/hormozi-method/memory/learnings.jsonl +0 -0
  408. package/template/pods/hormozi-method/pod-spec.json +50 -0
  409. package/template/pods/hormozi-method/specs/wf-full-launch-sequence.spec.json +149 -0
  410. package/template/pods/hormozi-method/specs/wf-lead-magnet-pipeline.spec.json +125 -0
  411. package/template/pods/hormozi-method/specs/wf-money-model-design.spec.json +117 -0
  412. package/template/pods/hormozi-method/specs/wf-paid-ads-campaign.spec.json +132 -0
  413. package/template/pods/hormozi-method/specs/wf-scaling-diagnostic.spec.json +121 -0
  414. package/template/pods/hormozi-method/squad-io.yaml +43 -0
  415. package/template/pods/hormozi-method/templates/conversion-copywriter-tmpl.md +20 -0
  416. package/template/pods/hormozi-method/templates/launch-execucao-tmpl.md +17 -0
  417. package/template/pods/hormozi-method/templates/launch-fechamento-tmpl.md +17 -0
  418. package/template/pods/hormozi-method/templates/launch-pos-tmpl.md +17 -0
  419. package/template/pods/hormozi-method/templates/launch-preparacao-tmpl.md +17 -0
  420. package/template/pods/hormozi-method/templates/lm-copy-tmpl.md +17 -0
  421. package/template/pods/hormozi-method/templates/lm-distribuicao-tmpl.md +18 -0
  422. package/template/pods/hormozi-method/templates/lm-estrategia-tmpl.md +17 -0
  423. package/template/pods/hormozi-method/templates/mm-arquitetura-tmpl.md +18 -0
  424. package/template/pods/hormozi-method/templates/mm-copy-tmpl.md +17 -0
  425. package/template/pods/hormozi-method/templates/mm-diagnostico-tmpl.md +14 -0
  426. package/template/pods/hormozi-method/templates/monetization-architect-tmpl.md +17 -0
  427. package/template/pods/hormozi-method/templates/offer-engineer-tmpl.md +20 -0
  428. package/template/pods/hormozi-method/templates/paid-criativos-tmpl.md +19 -0
  429. package/template/pods/hormozi-method/templates/paid-fundacao-tmpl.md +17 -0
  430. package/template/pods/hormozi-method/templates/paid-teste-escala-tmpl.md +17 -0
  431. package/template/pods/hormozi-method/templates/scaling-diagnostico-tmpl.md +17 -0
  432. package/template/pods/hormozi-method/templates/scaling-priorizacao-tmpl.md +17 -0
  433. package/template/pods/hormozi-method/templates/scaling-roadmap-tmpl.md +17 -0
  434. package/template/pods/hormozi-method/workflows/wf-full-launch-sequence.smoke.json +12 -0
  435. package/template/pods/hormozi-method/workflows/wf-full-launch-sequence.yaml +56 -0
  436. package/template/pods/hormozi-method/workflows/wf-grand-slam-offer.smoke.json +11 -0
  437. package/template/pods/hormozi-method/workflows/wf-grand-slam-offer.yaml +45 -0
  438. package/template/pods/hormozi-method/workflows/wf-lead-magnet-pipeline.smoke.json +9 -0
  439. package/template/pods/hormozi-method/workflows/wf-lead-magnet-pipeline.yaml +45 -0
  440. package/template/pods/hormozi-method/workflows/wf-money-model-design.smoke.json +11 -0
  441. package/template/pods/hormozi-method/workflows/wf-money-model-design.yaml +45 -0
  442. package/template/pods/hormozi-method/workflows/wf-paid-ads-campaign.smoke.json +9 -0
  443. package/template/pods/hormozi-method/workflows/wf-paid-ads-campaign.yaml +46 -0
  444. package/template/pods/hormozi-method/workflows/wf-scaling-diagnostic.smoke.json +11 -0
  445. package/template/pods/hormozi-method/workflows/wf-scaling-diagnostic.yaml +44 -0
  446. package/template/pods/squad-forge/README.md +53 -0
  447. package/template/pods/squad-forge/agents/forge-chief.md +31 -0
  448. package/template/pods/squad-forge/agents/mind-extractor.md +29 -0
  449. package/template/pods/squad-forge/agents/pod-critic.md +26 -0
  450. package/template/pods/squad-forge/config/heuristic-watcher-rubric.yaml +74 -0
  451. package/template/pods/squad-forge/knowledge/fidelity-rubric.yaml +176 -0
  452. package/template/pods/squad-forge/knowledge/g6-memory-check.md +17 -0
  453. package/template/pods/squad-forge/knowledge/memory-ingest.md +16 -0
  454. package/template/pods/squad-forge/knowledge/source-audit-rubric.yaml +60 -0
  455. package/template/pods/squad-forge/memory/README.md +16 -0
  456. package/template/pods/squad-forge/memory/learnings.consolidated.md +8 -0
  457. package/template/pods/squad-forge/memory/learnings.jsonl +0 -0
  458. package/template/pods/squad-forge/pod-spec.json +166 -0
  459. package/template/pods/squad-forge/squad-io.yaml +13 -0
  460. package/template/pods/squad-forge/tasks/pipeline.md +158 -0
  461. package/template/pods/squad-forge/templates/discovery-tmpl.md +40 -0
  462. package/template/pods/squad-forge/templates/generation-tmpl.md +18 -0
  463. package/template/pods/squad-forge/templates/red-team-tmpl.md +17 -0
  464. package/template/pods/squad-forge/templates/register-tmpl.md +17 -0
  465. package/template/pods/squad-forge/templates/workflow-tmpl.yaml +101 -0
  466. package/template/pods/squad-forge/workflows/wf-forge.smoke.json +12 -0
  467. package/template/pods/squad-forge/workflows/wf-forge.yaml +60 -0
@@ -0,0 +1,50 @@
1
+ # False Positive Detection — checklist anti-viés de confirmação
2
+
3
+ > Protocolo aprofundado do `pc-review-story` (e do `pc-apply-qa-fixes` ao julgar findings). Origem destilada: task `qa-false-positive-detection.md`. Use SEMPRE que a story é bug fix, ou ao decidir se um finding aponta problema real. Transforma checklist qualitativo em decisão quantitativa.
4
+
5
+ ## Os 5 falsos positivos clássicos
6
+
7
+ 1. **Placebo Fix** — parece corrigir mas não trata a causa-raiz (ex.: try-catch em volta do erro; o erro continua).
8
+ 2. **Timing Coincidence** — o bug sumiu por mudança/timing não relacionado (ex.: race condition que parou por causa de um log adicionado).
9
+ 3. **Environment Dependency** — funciona em dev, falha em prod (ex.: URL localhost hardcoded).
10
+ 4. **Incomplete Fix** — cobre um caso, não todas as bordas (ex.: null check adicionado, mas `undefined` ainda quebra).
11
+ 5. **Self-Healing Bug** — resolve sozinho de forma intermitente (ex.: bug de cache que some após restart).
12
+
13
+ ## Teste de causação (o mais importante)
14
+
15
+ - **remove-test:** reverta o fix (stash/branch) → reproduza o bug → reaplique o fix → confirme que sumiu. PASS: o bug **volta** sem o fix e **some** com o fix. FAIL: comportamento não muda com o fix.
16
+ - **old-code-fails:** há evidência concreta de que o código ANTIGO falha? (não presumir).
17
+ - **new-code-succeeds:** há evidência concreta de que o código NOVO passa? (não presumir).
18
+ - **not-self-healing:** espere / reinicie serviço / limpe cache → o bug segue corrigido?
19
+
20
+ ## Checks de viés
21
+
22
+ - **negative-cases:** cenários onde o código DEVE falhar/rejeitar foram testados? (não só o happy path).
23
+ - **independent-verification:** os passos de reprodução bastam para outra pessoa verificar sem o ambiente do autor?
24
+ - **mechanism-explained:** dá para explicar POR QUE o fix funciona (causa-raiz → como o change a trata → por que não regride), não só QUE funciona?
25
+
26
+ ## Confidence score (pesos determinísticos)
27
+
28
+ ```
29
+ assumptions_verified 0.20
30
+ remove_test_passed 0.25 ← maior peso
31
+ old_code_fails 0.15
32
+ new_code_succeeds 0.15
33
+ not_self_healing 0.10
34
+ negative_cases_tested 0.10
35
+ mechanism_explained 0.05
36
+ ----
37
+ total 1.00
38
+ ```
39
+
40
+ Cada fator entra como 0..1 (fração satisfeita) × peso.
41
+
42
+ ## Limiares → ação
43
+
44
+ - **≥ 0.85** (alta) — aprovar com confiança; sem impacto na decisão do gate.
45
+ - **≥ 0.65** (média) — aprovar com nota no gate.
46
+ - **< 0.65** (baixa) — exigir evidência adicional ou **forte consideração para FAIL/REJECT**.
47
+
48
+ ## Red flags (qualquer um puxa o veredito para baixo)
49
+
50
+ Fix só testado no happy path · bug original não reproduzível · funciona mas mecanismo obscuro · depende de timing/ambiente · sem teste de regressão adicionado · código similar em outro lugar não conferido · premissas não documentadas · uma única explicação considerada.
@@ -0,0 +1,47 @@
1
+ # NFR Assessment — os quatro NFRs centrais
2
+
3
+ > Protocolo aprofundado do eixo de NFR do `pc-review-story`. Origem destilada: task `qa-nfr-assess.md`. Avaliação rápida e gate-ready, não análise profunda. Carregue quando a story tiver requisito não-funcional relevante.
4
+
5
+ Foco default nos **quatro centrais**: segurança, performance, confiabilidade, manutenibilidade. (Estendidos sob demanda: usabilidade, compatibilidade, portabilidade, adequação funcional.)
6
+
7
+ ## Procedimento
8
+
9
+ 1. **Achar thresholds** nos ACs, em `docs/architecture/*.md`, em preferências técnicas. Target ausente e não fornecido → status **CONCERNS** com nota "Target unknown" (nunca chutar).
10
+ 2. Para cada NFR: há evidência de implementação? dá para validar? há gap óbvio?
11
+ 3. Emitir bloco de gate só para os NFRs realmente avaliados (sem placeholders).
12
+
13
+ ## Regras determinísticas de status
14
+
15
+ - **FAIL** — qualquer NFR selecionado com gap crítico ou target claramente não atingido.
16
+ - **CONCERNS** — sem FAILs, mas algum NFR desconhecido/parcial/sem evidência.
17
+ - **PASS** — todos os NFRs selecionados atingem o target com evidência.
18
+
19
+ ## Quality score
20
+
21
+ ```
22
+ quality_score = 100
23
+ - 20 por atributo FAIL
24
+ - 10 por atributo CONCERNS
25
+ Piso 0, teto 100.
26
+ ```
27
+
28
+ ## Critérios por NFR
29
+
30
+ **Segurança** — PASS: auth implementada, authz aplicada, input validado, sem segredo hardcoded. CONCERNS: sem rate limiting, cripto fraca, authz incompleta. FAIL: sem auth, credencial hardcoded, SQL injection.
31
+
32
+ **Performance** — PASS: dentro do target de tempo, sem gargalo óbvio, uso razoável de recurso. CONCERNS: perto do limite, sem índice, sem cache. FAIL: excede o limite, memory leak, query não otimizada.
33
+
34
+ **Confiabilidade** — PASS: tratamento de erro, degradação graciosa, retry onde necessário. CONCERNS: alguns erros não tratados, sem circuit breaker, sem health check. FAIL: sem tratamento de erro, quebra no erro, sem recuperação.
35
+
36
+ **Manutenibilidade** — PASS: cobertura no target, código bem estruturado, documentação presente. CONCERNS: cobertura abaixo do target, alguma duplicação, doc faltando. FAIL: sem testes, alto acoplamento, sem documentação.
37
+
38
+ ## Bloco para o gate file
39
+
40
+ ```yaml
41
+ nfr_validation:
42
+ _assessed: [security, performance, reliability, maintainability]
43
+ security: { status: CONCERNS, notes: "sem rate limiting em auth" }
44
+ performance: { status: PASS, notes: "respostas < 200ms verificado" }
45
+ reliability: { status: PASS, notes: "erro tratado + retry" }
46
+ maintainability: { status: CONCERNS, notes: "cobertura 65%, target 80%" }
47
+ ```
@@ -0,0 +1,75 @@
1
+ # Risk Profile — matriz de risco probabilidade × impacto
2
+
3
+ > Protocolo aprofundado do eixo de risco do `pc-review-story`. Origem destilada: task `qa-risk-profile.md` (framework anterior). Carregue sob demanda quando a story tiver superfície de risco material (auth, dados, dinheiro, integração nova).
4
+
5
+ ## Categorias (prefixo do ID)
6
+
7
+ - **TECH** — arquitetura, integração, dívida técnica, escalabilidade, dependências.
8
+ - **SEC** — auth/authz, exposição de dados, injeção, sessão, cripto.
9
+ - **PERF** — tempo de resposta, throughput, exaustão de recurso, query, cache.
10
+ - **DATA** — perda, corrupção, privacidade, compliance, backup/recovery.
11
+ - **BUS** — não atende a necessidade, receita, reputação, regulatório, timing.
12
+ - **OPS** — deploy, monitoração, resposta a incidente, documentação, transferência de conhecimento.
13
+
14
+ ## Score = Probabilidade × Impacto
15
+
16
+ **Probabilidade:** Alta (3, >70%) · Média (2, 30-70%) · Baixa (1, <30%).
17
+ **Impacto:** Alto (3: breach/queda/perda financeira) · Médio (2: degradação/dado menor) · Baixo (1: cosmético).
18
+
19
+ | Score | Nível |
20
+ |---|---|
21
+ | 9 | Crítico |
22
+ | 6 | Alto |
23
+ | 4 | Médio |
24
+ | 2-3 | Baixo |
25
+ | 1 | Mínimo |
26
+
27
+ ## Mapeamento determinístico score → gate
28
+
29
+ - Qualquer risco com **score ≥ 9 → FAIL** (salvo WAIVED explícito).
30
+ - Senão, qualquer **score ≥ 6 → CONCERNS**.
31
+ - Senão → **PASS**.
32
+ - Riscos não mitigados: documentar no gate file.
33
+
34
+ ## Quality score da story (opcional, para tendência)
35
+
36
+ ```
37
+ Base = 100
38
+ - 20 por risco Crítico (9)
39
+ - 10 por risco Alto (6)
40
+ - 5 por risco Médio (4)
41
+ - 2 por risco Baixo (2-3)
42
+ Piso 0, teto 100.
43
+ ```
44
+
45
+ ## Registro de risco (formato)
46
+
47
+ ```yaml
48
+ risk:
49
+ id: SEC-001
50
+ category: security
51
+ title: "Validação de input insuficiente em formulários"
52
+ probability: 3 # 1|2|3
53
+ impact: 3 # 1|2|3
54
+ score: 9
55
+ affected_components: [UserRegistrationForm]
56
+ mitigation:
57
+ strategy: preventive # preventive|detective|corrective
58
+ actions: ["input validation lib", "CSP headers", "sanitizar entradas"]
59
+ testing: ["security testing", "unit de validação"]
60
+ residual_risk: "Baixo"
61
+ owner: dev
62
+ ```
63
+
64
+ ## Bloco para o gate file
65
+
66
+ ```yaml
67
+ risk_summary:
68
+ totals: { critical: X, high: Y, medium: Z, low: W }
69
+ highest: { id: SEC-001, score: 9, title: "..." }
70
+ recommendations:
71
+ must_fix: ["..."]
72
+ monitor: ["..."]
73
+ ```
74
+
75
+ Regras de saída: só emitir riscos avaliados (sem placeholders); ordenar por score desc; sem riscos → totais zerados e recomendações vazias.
@@ -0,0 +1,69 @@
1
+ # Security Checklist — 8 checks com regex prontos
2
+
3
+ > Protocolo aprofundado de scan de segurança do `pc-review-story`. Origem destilada: task `qa-security-checklist.md`. Scan de anti-padrões via Grep sobre os arquivos do diff. Rode em toda story que toca auth, dados sensíveis ou superfície externa; obrigatório se a story mudou input do usuário ou query.
4
+
5
+ **Alvo:** arquivos do `git diff` com extensão `.js .ts .jsx .tsx .py .mjs .cjs`. Excluir testes (`*.test.*`, `*.spec.*`, `__tests__/*`) só na primeira passada — padrões perigosos em teste podem ser intencionais (ver falso-positivo).
6
+
7
+ ## Os 8 checks
8
+
9
+ ### 1. eval / execução dinâmica de código — CRITICAL (RCE)
10
+ ```
11
+ JS: eval\( | new Function\( | setTimeout\(['"`][^'"]+['"`] | setInterval\(['"`][^'"]+['"`]
12
+ PY: eval\( | exec\( | compile\(
13
+ ```
14
+ Fix: `JSON.parse()` para dados; nunca código dinâmico.
15
+
16
+ ### 2. innerHTML / DOM XSS — CRITICAL (XSS)
17
+ ```
18
+ \.innerHTML\s*= | \.outerHTML\s*= | document\.write\( | document\.writeln\(
19
+ ```
20
+ Fix: `textContent`, `createElement`, ou biblioteca de sanitização.
21
+
22
+ ### 3. dangerouslySetInnerHTML (React) — CRITICAL (XSS)
23
+ ```
24
+ dangerouslySetInnerHTML
25
+ ```
26
+ Fix: DOMPurify ou evitar. Exceção: só se sanitizado com `DOMPurify.sanitize()`.
27
+
28
+ ### 4. shell=True / comando de shell (Python) — CRITICAL (Command Injection)
29
+ ```
30
+ subprocess\..*shell\s*=\s*True | os\.system\( | os\.popen\(
31
+ ```
32
+ Fix: `subprocess` com `shell=False` e argumentos em lista.
33
+
34
+ ### 5. Segredos hardcoded — CRITICAL (Credential Exposure)
35
+ ```
36
+ api[_-]?key\s*[=:]\s*['"][^'"]{10,}['"] | apikey\s*[=:]\s*['"][^'"]{10,}['"]
37
+ password\s*[=:]\s*['"][^'"]+['"] | passwd\s*[=:]\s*['"][^'"]+['"] | pwd\s*[=:]\s*['"][^'"]+['"]
38
+ token\s*[=:]\s*['"][^'"]{10,}['"] | secret\s*[=:]\s*['"][^'"]{10,}['"] | bearer\s+[a-zA-Z0-9_-]{20,}
39
+ AKIA[0-9A-Z]{16} | aws[_-]?secret[_-]?access[_-]?key
40
+ -----BEGIN (RSA |DSA |EC |OPENSSH )?PRIVATE KEY-----
41
+ ```
42
+ Fix: variável de ambiente, secrets manager ou `.env`.
43
+
44
+ ### 6. SQL Injection — CRITICAL
45
+ ```
46
+ JS: query\s*\(\s*['"`].*\$\{ | query\s*\(.*\+.*\) | execute\s*\(\s*['"`].*\$\{
47
+ PY: execute\s*\(\s*['"].*%s | execute\s*\(.*\.format\( | execute\s*\(.*f['"]
48
+ ```
49
+ Fix: query parametrizada / ORM / prepared statement.
50
+
51
+ ### 7. Validação de input ausente — HIGH
52
+ ```
53
+ req\.body\.[a-zA-Z]+[^?] | req\.query\.[a-zA-Z]+[^?] | req\.params\.[a-zA-Z]+[^?]
54
+ ```
55
+ (acesso direto sem optional chaining). Fix: Zod, Joi, express-validator. Exceção: se há middleware de validação.
56
+
57
+ ### 8. CORS inseguro — HIGH
58
+ ```
59
+ origin:\s*['"]\*['"] | Access-Control-Allow-Origin.*\* | cors\(\)
60
+ ```
61
+ Fix: especificar origens permitidas explicitamente.
62
+
63
+ ## Severidade / bloqueio
64
+
65
+ Checks 1-6 = CRITICAL (bloqueiam merge). Checks 7-8 = HIGH (recomendado). Qualquer CRITICAL → o gate não passa sem fix ou WAIVED explícito.
66
+
67
+ ## Falso-positivo (filtrar antes de reportar)
68
+
69
+ Para cada match, checar: está em **comentário**? em **arquivo de teste**? há **sanitização** próxima (ex.: `DOMPurify.sanitize()` antes do `innerHTML`)? é **match espúrio** do padrão? Supressão por linha reconhecida: `// security-ignore: <id> - <motivo>`. Match que sobrevive a esse filtro = finding com evidência (arquivo:linha + trecho).
@@ -0,0 +1,37 @@
1
+ # Test Design — nível de teste e prioridade
2
+
3
+ > Protocolo aprofundado de estratégia de teste do `pc-review-story` (útil também para o `pc-develop-story` ao planejar a suíte). Origem destilada: task `qa-test-design.md`. Define O QUE testar, em QUE nível e POR QUÊ — cobertura eficiente sem redundância.
4
+
5
+ ## Nível de teste (onde cada cenário vive)
6
+
7
+ - **Unit** — lógica pura, algoritmos, cálculos, validação.
8
+ - **Integration** — interação entre componentes, operações de banco, multi-componente.
9
+ - **E2E** — jornadas críticas do usuário, compliance, caminho ponta a ponta.
10
+
11
+ **Shift left:** prefira unit sobre integration, integration sobre E2E. Não teste a mesma coisa em dois níveis (sem redundância).
12
+
13
+ ## Prioridade (por risco de negócio)
14
+
15
+ - **P0** — crítico de receita, segurança, compliance.
16
+ - **P1** — jornadas centrais do usuário, uso frequente.
17
+ - **P2** — features secundárias, funções de admin.
18
+ - **P3** — nice-to-have, uso raro.
19
+
20
+ ## Matriz de cenários
21
+
22
+ ```
23
+ | ID | Level | Priority | Test | Justificativa |
24
+ | 1.3-UNIT-001 | Unit | P0 | Valida formato de input | Lógica de validação |
25
+ | 1.3-INT-001 | Integration | P0 | Serviço processa request | Fluxo multi-componente |
26
+ | 1.3-E2E-001 | E2E | P1 | Usuário completa jornada | Caminho crítico |
27
+ ```
28
+
29
+ Convenção de ID: `{epic}.{story}-{LEVEL}-{NNN}`.
30
+
31
+ ## Ordem de execução recomendada
32
+
33
+ 1. P0 Unit (falha rápido) → 2. P0 Integration → 3. P0 E2E → 4. P1 na ordem → 5. P2+ conforme tempo.
34
+
35
+ ## Uso no gate
36
+
37
+ Cada AD/AC crítico deve ter pelo menos um cenário P0/P1 mapeado. Distribuição saudável tende à pirâmide (mais unit, menos E2E); E2E-pesado com unit escasso é sinal de custo de manutenção e lentidão — registrar como CONCERNS se a story introduz isso sem justificativa.
@@ -0,0 +1,46 @@
1
+ # Requirements Traceability — matriz AC → teste
2
+
3
+ > Protocolo aprofundado de rastreabilidade do `pc-review-story`. Origem destilada: task `qa-trace-requirements.md`. Documenta a COBERTURA de cada AC por teste — não é para escrever código de teste.
4
+
5
+ **Given-When-Then é usado só para DOCUMENTAR o que o teste valida, não como sintaxe do código de teste** (nada de BDD no código; siga o padrão de teste do projeto).
6
+
7
+ ## Para cada AC / requisito
8
+
9
+ Mapeie o(s) teste(s) que o validam:
10
+
11
+ ```yaml
12
+ requirement: "AC1 — login com credencial válida"
13
+ tests:
14
+ - test_case: "should login with valid email and password"
15
+ given: "usuário registrado com credencial válida"
16
+ when: "submete o formulário de login"
17
+ then: "é redirecionado ao dashboard e a sessão é criada"
18
+ coverage: full # full | partial | none | integration | unit
19
+ ```
20
+
21
+ ## Níveis de cobertura
22
+
23
+ - **full** — requisito completamente testado.
24
+ - **partial** — alguns aspectos testados, há gaps (registrar o gap).
25
+ - **none** — nenhuma cobertura encontrada → finding.
26
+
27
+ ## Análise de gaps
28
+
29
+ ```yaml
30
+ coverage_gaps:
31
+ - requirement: "AC3 — bloqueio após 5 tentativas"
32
+ coverage: none
33
+ gap: "nenhum teste exercita o contador de tentativas"
34
+ severity: bloqueante # AC sem cobertura é finding do gate
35
+ ```
36
+
37
+ ## Resumo (para o gate)
38
+
39
+ ```
40
+ Total de requisitos: X
41
+ Fully covered: Y (Z%)
42
+ Partially covered: A (B%)
43
+ None: W ← cada um vira finding
44
+ ```
45
+
46
+ Conexão com o gate: AC com `coverage: none` = AC sem teste rastreável = FAIL desse AC (mesma régra do eixo de rastreabilidade do SKILL.md). `partial` sem justificativa material → CONCERNS.
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: pc-run-pod
3
+ description: "Executa um workflow de pod (wf-*.yaml) POR ETAPA com enforcement determinístico: lê o próximo passo não-done na ordem topológica do DAG, despacha o agente como subagente FRESCO, verifica o artefato EM DISCO (existe + casa com o template + todas as veto.assertions passam) antes de marcar done, e só então libera o próximo passo. State durável e retomável. Use para: rodar um pod, seguir um workflow de pod, retomar uma run de pod, executar wf-*.yaml."
4
+ ---
5
+
6
+ # pc-run-pod — Runner Determinístico de Workflows de Pod
7
+
8
+ Skill irmã de `pc-full-cycle`. Lá a **story é dado** e a skill é o motor; aqui o **pod é dado** (`workflows/wf-*.yaml` + templates + contratos de handoff) e este runner é o motor, na granularidade "passo do DAG". A conformidade ao processo é **forçada por código**, nunca por confiança no relato do subagente ("do not fake green").
9
+
10
+ O enforcement vive em código testável: **`scripts/pc-run-pod.cjs`** (motor determinístico, com suíte própria em `scripts/__tests__/pc-run-pod.test.cjs` — DoD 1b). Esta skill é o protocolo de operação; a máquina de estados, a verificação em disco e o veto são do motor, não desta prosa.
11
+
12
+ ## Invocação
13
+
14
+ ```
15
+ /pc-run-pod start {pod} {workflow} [task-ref] # inicia uma run
16
+ /pc-run-pod resume {run-id} # retoma do 1o passo não-done
17
+ /pc-run-pod next # avança um passo
18
+ /pc-run-pod status # resume o estado da run
19
+ /pc-run-pod approve # libera um checkpoint.blocking
20
+ /pc-run-pod revise # devolve a etapa (honra fix_cycle)
21
+ /pc-run-pod abort # encerra a run
22
+ ```
23
+
24
+ Sob o capô, cada comando chama `node scripts/pc-run-pod.cjs <cmd> …` (ver `--help` no motor para as flags: `--workflow-file`, `--pod-root`, `--state`, `--runs-root`, `--run-id`, `--step`).
25
+
26
+ ## Estado durável (retomável)
27
+
28
+ Arquivo: `.power-claude/pod-runs/{pod}/{workflow}/{run-id}/state.json`. `run-id` = timestamp ISO-8601 sanitizado (ex.: `2026-07-24T18-00-00Z`). Schema exato (SPEC §B1):
29
+
30
+ ```json
31
+ {
32
+ "pod": "hormozi-method",
33
+ "workflow": "wf-build-offer",
34
+ "run_id": "2026-07-24T18-00-00Z",
35
+ "mode": "interactive",
36
+ "task_ref": "…",
37
+ "steps": {
38
+ "discovery": { "status": "done", "agent": "offer-architect", "artifact": "artifacts/discovery.md", "template": "templates/discovery-tmpl.md", "checkpoint": null, "started_at": "…", "verified_at": "…" },
39
+ "build": { "status": "running", "agent": "offer-architect", "artifact": "artifacts/build.md", "template": "templates/offer-tmpl.md", "checkpoint": null, "started_at": "…", "verified_at": null },
40
+ "red_team": { "status": "pending", "agent": "pod-critic", "artifact": null, "template": "templates/critique-tmpl.md", "checkpoint": "blocking", "started_at": null, "verified_at": null }
41
+ },
42
+ "updated_at": "ISO-8601"
43
+ }
44
+ ```
45
+
46
+ **Status de etapa:** `pending → running → done` (SPEC). Extensões documentadas do runner: `awaiting_approval` (checkpoint.blocking verificado, aguardando gate) e `failed` (aborto / fix_cycle esgotado). O agente **nunca** escreve o `state.json` — quem decide a transição é o motor.
47
+
48
+ **Retomada:** ao ser invocada, a skill SEMPRE lê o `state.json` primeiro (via `resume {run-id}` ou `--state`), valida o schema (Risco 4: state corrompido → HALT explícito, nunca "conserto" silencioso) e continua do primeiro passo não-`done` na ordem topológica. Sem edição manual para "pular" etapa — mesma disciplina do Sequence Lock do `pc-full-cycle`.
49
+
50
+ ## Loop de execução (o que o motor faz por `advance`)
51
+
52
+ ```
53
+ 0. Ler/criar state.json (retomada; valida schema antes de decidir)
54
+ 1. Se há passo running:
55
+ verifica EM DISCO (artefato existe + template conforme + TODAS as veto.assertions)
56
+ falhou → BLOCKED: não avança, próxima etapa NÃO roda (o passo fica running)
57
+ passou → verified_at gravado; se checkpoint.blocking → awaiting_approval (para)
58
+ senão → done; segue
59
+ 2. Se há passo awaiting_approval → só `approve`/`revise` destravam
60
+ 3. Próximo passo pending na ordem topológica com depends_on satisfeitos:
61
+ status→running, started_at, artifact atribuído, brief emitido (subagente FRESCO)
62
+ 4. Sem pendências → complete
63
+ ```
64
+
65
+ **Subagente FRESCO por etapa (AC3):** cada passo é despachado como agente novo — nunca reaproveitado entre etapas do mesmo run. O único reaproveitamento é o fluxo de `revise` (reexecução da mesma etapa). O brief inclui: paths exatos (artefato + template), o veto que será verificado, limites de autoridade (não marca done; sem push) e a instrução de **retorno ≤15 linhas** — verificável por inspeção de `buildBrief` no motor.
66
+
67
+ ## Verificação pós-etapa (independente, EM DISCO)
68
+
69
+ O relato do subagente **não é evidência**. Antes de `done`, o motor confere o disco (`verifyStep`):
70
+
71
+ | Verificação | Como |
72
+ |-------------|------|
73
+ | Artefato existe | arquivo em `state.steps[id].artifact` presente em disco; ausente → BLOCKED |
74
+ | Template conforme | toda SEÇÃO (heading nível 2+) do template consta no artefato (`checkTemplateConformance`) |
75
+ | Veto passa | TODAS as `veto.assertions` avaliadas por máquina (`section_exists`, `field_matches`, `file_referenced_exists`, `count_gte`, `json_schema_valid`) — resultado binário e determinístico; qualquer uma falsa → BLOCKED |
76
+
77
+ Nenhuma verde é fabricada: uma etapa bloqueia a seguinte porque o motor **recusa avançar** enquanto a verificação da corrente não passar. Estático (SF1.1) prova FORMA do contrato; este runner prova que o artefato produzido casa com o contrato.
78
+
79
+ ## Checkpoint bloqueante (`approve` / `revise`)
80
+
81
+ Passos com `checkpoint.blocking: true` param o runner após a verificação passar, aguardando decisão humana. `approve` marca `done` e libera o próximo. `revise` devolve a etapa a `pending` para reexecução; se a etapa declara `fix_cycle: {to, max_iterations}`, o intervalo `[fix_cycle.to .. etapa]` volta a `pending` (a ÚNICA aresta para trás permitida — SPEC §B2a), sob o teto `max_iterations` (excedido → HALT, etapa `failed`).
82
+
83
+ ## Sequence Lock (inegociável)
84
+
85
+ 1. Passos **em ordem topológica**. Nenhum passo N+1 antes da verificação em disco de N passar.
86
+ 2. O agente **não** escreve o `state.json`; a transição é decidida por código.
87
+ 3. `resume` sempre lê o state primeiro; nunca aceita edição manual para "pular".
88
+ 4. `checkpoint.blocking` só é destravado por `approve`/`revise` — nunca por relato.
89
+ 5. Este runner garante **PROCESSO e FORMA**; qualidade de conteúdo subjetiva é do `checkpoint.blocking` (pod-critic), nunca do veto determinístico.
90
+
91
+ ## Modos
92
+
93
+ | Modo | Comportamento |
94
+ |------|---------------|
95
+ | `interactive` | Reporta entre etapas; pausa em BLOCKED, checkpoint e decisões |
96
+ | `yolo` | Autônomo entre etapas; para só em HALT (verificação falha, checkpoint, fix_cycle esgotado) |
97
+
98
+ ## Fronteiras
99
+
100
+ - Nunca `git push` / `gh pr create` / merge — exclusivo do papel devops.
101
+ - Nunca edita o `state.json` para "pular" etapa ou fabricar verificação.
102
+ - Nunca aceita veto em prosa avaliada por LLM (proibido por ADR-002; anula a garantia-por-código).
103
+ - Não gera `wf-*.yaml` (isso é o forge / SF1.4); aqui o workflow é dado de entrada.
104
+
105
+ ## Memória do pod (lifecycle SF2.2 — G1/ADR-003)
106
+
107
+ O runner APRENDE com a própria execução, consumindo o motor `pod-memory.cjs` (SF2.1):
108
+
109
+ - **Appenda ao log cru** `<pod>/memory/learnings.jsonl` (append-only) no fechamento de cada etapa/run, com entrada estruturada `tier: normal`:
110
+ - `verification_failed` (etapa bloqueada) → **candidato**: `trigger`/`recommendation`/`evidence` montados DETERMINISTICAMENTE dos `failures` (etapa + veto violado + causa), nunca por julgamento de LLM.
111
+ - fechamento limpo (`complete`) → **padrão-ok**: registra que a sequência completou sem bloqueio.
112
+ - O runner **nunca** marca `tier: critical` por conta própria (exige `attributed_by` humano/regra — trava anti-inflação do ADR-003).
113
+ - **Consolida** (`podMemory.consolidate`) sempre no fechamento de run e/ou a cada K=20 appends acumulados — o que ocorrer primeiro. A lógica de dedup/conflito/poda/CRITICAL vive inteiramente na SF2.1; o runner só decide a cadência.
114
+ - **Injeta no brief SOMENTE** `<pod>/memory/learnings.consolidated.md` (curado, top-N, ≤~1.500 tokens), e apenas quando tem conteúdo real — scaffold vazio é omitido (sem placeholder). **NUNCA lê nem menciona o log cru** `learnings.jsonl`: nenhum caminho do brief referencia o `.jsonl` (garantia testada — teste negativo). É o contrato inegociável do ADR-003: o agente lê só o consolidado.
115
+
116
+ **Comentário do dono no checkpoint (SF11.5 / ADR-020 §Revisão 3).** O runner **não** grava julgamento humano: `approve`/`revise` decidem transição e só isso. Quem captura o comentário é o COMANDO do pod, chamando `scripts/pod-memory-note.cjs` — invocador fino sobre a mesma API de memória:
117
+
118
+ ```bash
119
+ node scripts/pod-memory-note.cjs --state <state.json> --workflow-file <wf.yaml> \
120
+ --step <id> --verdict approve|revise --file <arquivo com o comentário>
121
+ ```
122
+
123
+ A mensagem viaja por **arquivo ou stdin, nunca por argv** (aspas/acentos/quebras de linha do dono quebram no shell, e argv é visível em `ps`); o arquivo temporário é escrito pela ferramenta de escrita do agente, **nunca por heredoc/echo**. Comentário vazio ⇒ **nada é gravado** (silêncio não vira learning). Detalhe: `docs/mecanismos/memoria-evolutiva.md`.
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: pc-validate-story
3
+ description: "Valida um draft de story com checklist de 10 pontos e emite veredito GO/NO-GO (Draft → Ready). Use para: validar story antes de codar, checar prontidão de um draft, decidir GO/NO-GO, transicionar story para Ready."
4
+ ---
5
+
6
+ # pc-validate-story — Validação de Story (papel PO)
7
+
8
+ Protocolo completo e autocontido. Nenhuma engine externa é necessária.
9
+
10
+ ## Quando usar
11
+
12
+ Story em Status **Draft** que precisa de veredito antes de qualquer implementação. Nenhuma story entra em `pc-develop-story` sem GO registrado aqui.
13
+
14
+ ## Pré-condições
15
+
16
+ 1. Arquivo da story existe em `docs/stories/{epic}.{n}.story.md`.
17
+ 2. Status atual é `Draft` (se já for `Ready` ou posterior, pare e informe — não revalide silenciosamente).
18
+ 3. A SPEC ou epic de origem está acessível (necessária para rastrear ACs).
19
+
20
+ ## Protocolo
21
+
22
+ ### Passo 1 — Ler tudo antes de julgar
23
+
24
+ Leia a story completa, a SPEC/epic de origem e, se citados, os arquivos de arquitetura relevantes. Não emita veredito parcial com leitura parcial.
25
+
26
+ ### Passo 2 — Checklist de 10 pontos
27
+
28
+ Avalie cada item como **PASS**, **PARTIAL** ou **FAIL**, com evidência (citação ou ausência concreta):
29
+
30
+ | # | Item | Critério de PASS |
31
+ |---|---|---|
32
+ | 1 | Título claro | Identifica o entregável sem ambiguidade; formato `{epic}.{n}: {resumo}` |
33
+ | 2 | Descrição do problema | Explica POR QUE a story existe, não só o quê |
34
+ | 3 | ACs testáveis e rastreáveis | Cada AC é verificável objetivamente E rastreia a um item da SPEC/epic (sem AC inventado). Quando a story tiver AC com bloco ` ```oraculo `, rode `node scripts/validate-story-acs.cjs <story>` (validador comportamental de ACs, `docs/mecanismos/validador-de-acs-do-ciclo.md`) antes de julgar este item — não confie só na prosa. |
35
+ | 4 | Escopo IN/OUT | Lista explícita do que está dentro E do que está fora |
36
+ | 5 | Dependências | Stories, serviços ou decisões prévias identificadas (ou "nenhuma" explícito) |
37
+ | 6 | Estimativa de complexidade | Presente e coerente com o escopo (P/M/G ou pontos) |
38
+ | 7 | Valor de negócio | Uma frase ligando a story ao objetivo do epic |
39
+ | 8 | Riscos | Riscos técnicos/de produto nomeados, com mitigação quando material |
40
+ | 9 | Critério de Done | Definição objetiva além dos ACs (gates verdes, docs, gate file) |
41
+ | 10 | Alinhamento com epic | Não contradiz nem duplica outras stories do epic |
42
+
43
+ > **AC de investigação (forma válida):** um AC pode ter a forma "investigar X → aplicar o fix **OU** documentar como não-aplicável com evidência". É testável (o entregável é a conclusão evidenciada) e evita tanto invenção quanto scope creep. Sem a cláusula de evidência, falha o item 3.
44
+
45
+ ### Passo 3 — Veredito
46
+
47
+ - **GO** ⇔ score **≥ 7 PASS** E **nenhum FAIL nos itens 3 (ACs) e 4 (escopo)**.
48
+ - **NO-GO** caso contrário. Liste cada correção necessária, numerada, acionável e apontando o item do checklist que falhou.
49
+
50
+ PARTIAL conta como não-PASS para o score. Não arredonde para cima.
51
+
52
+ ### Passo 4 — Ações por veredito
53
+
54
+ **GO:**
55
+ 1. Atualize `Status: Draft` → `Status: Ready` na story.
56
+ 2. Registre na story uma seção `## Validação (PO)` com: data, score (X/10), tabela resumida do checklist e veredito.
57
+ 3. Informe a próxima ação: `pc-develop-story`.
58
+
59
+ **NO-GO:**
60
+ 1. Status permanece `Draft`.
61
+ 2. Registre a mesma seção `## Validação (PO)` com veredito NO-GO e a lista de correções.
62
+ 3. Devolva ao autor da story (humano ou papel SM). Não corrija escopo você mesmo.
63
+
64
+ ## Limites de autonomia
65
+
66
+ **PODE corrigir diretamente (lacunas mecânicas):**
67
+ - Typos, formatação, numeração de ACs, links quebrados para arquivos existentes.
68
+ - Preencher campo "Dependências: nenhuma" quando a análise confirma ausência.
69
+ - Completar o critério de Done com os gates padrão do ambiente (lint/typecheck/test + gate file), se omitido.
70
+
71
+ **NÃO PODE (mudança material — sempre NO-GO ou pergunta ao humano):**
72
+ - Adicionar, remover ou reescrever ACs em substância.
73
+ - Mover itens entre IN e OUT do escopo.
74
+ - Alterar estimativa, prioridade ou valor de negócio.
75
+ - Inventar requisitos que não rastreiam à SPEC/epic.
76
+
77
+ **Toda correção autônoma vira registro:** adicione à story uma linha `[AUTO-DECISION] {o que foi corrigido e por quê}` na seção de Validação. Sem registro, a correção não aconteceu.
78
+
79
+ ## Anti-padrões
80
+
81
+ - Emitir GO "por confiança" sem preencher o checklist item a item.
82
+ - Validar a própria story que você acabou de escrever (anti-self-review — ver `.claude/rules/authority.md`).
83
+ - Rebaixar item 3 ou 4 para PARTIAL para viabilizar um GO que seria NO-GO.
84
+ - Iniciar implementação "enquanto isso" — validação e implementação são papéis distintos.
85
+
86
+ ## Template da seção de Validação (copiar para a story)
87
+
88
+ ```markdown
89
+ ## Validação (PO)
90
+ - Data: {YYYY-MM-DD}
91
+ - Veredito: GO | NO-GO
92
+ - Score: {X}/10
93
+
94
+ | # | Item | Resultado | Evidência |
95
+ |---|---|---|---|
96
+ | 1 | Título claro | PASS | ... |
97
+ | ... | ... | ... | ... |
98
+
99
+ Correções necessárias (se NO-GO):
100
+ 1. {correção acionável, apontando o item do checklist}
101
+
102
+ [AUTO-DECISION] {correções mecânicas aplicadas, se houver}
103
+ ```
104
+
105
+ ## Casos de borda
106
+
107
+ - **Story sem SPEC/epic de origem:** item 3 não é verificável → FAIL automático no item 3 → NO-GO. Peça ao humano a fonte antes de revalidar.
108
+ - **Re-validação após NO-GO:** rode o checklist COMPLETO de novo, não só os itens que falharam — correções podem ter quebrado outros itens.
109
+ - **Story trivial (bug fix curto):** o checklist vale igual, mas itens 6-8 podem passar com uma linha cada. Rigor não é burocracia; é proporcionalidade com evidência.
110
+ - **Conflito com outra story do epic (item 10):** NO-GO e sinalize as duas stories — nunca resolva o conflito editando a outra story.
111
+
112
+ ## Saída esperada
113
+
114
+ Resposta final contém: veredito (GO/NO-GO), score X/10, tabela do checklist, lista de correções (se NO-GO), lista de `[AUTO-DECISION]` (se houver) e o novo Status da story.