@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,108 @@
1
+ ---
2
+ name: pc-commit
3
+ description: "Cria commit local convencional com [Story X.Y], stage seletivo e sem push. Use para: commitar trabalho de story, commit convencional local, salvar progresso no git, preparar commits para o devops publicar."
4
+ ---
5
+
6
+ # pc-commit — Commit Local Convencional
7
+
8
+ Protocolo completo e autocontido. Esta skill produz **commits locais**; publicação (push/PR) é outro papel.
9
+
10
+ ## Quando usar
11
+
12
+ Ao fechar um bloco coeso de trabalho de uma story: um AC implementado com gates verdes, uma iteração de fix de QA, um ajuste de documentação da story.
13
+
14
+ ## Protocolo
15
+
16
+ ### Passo 1 — Situar-se
17
+
18
+ ```bash
19
+ git branch --show-current
20
+ git status
21
+ git diff --stat
22
+ ```
23
+
24
+ 1. **Branch guard:** se estiver em `main`/`master`, PARE — crie/troque para a branch da story (`feat/{epic}.{n}-{slug}`) antes de commitar.
25
+ 2. Revise o diff real: você commita o que está no diff, não o que lembra ter feito.
26
+
27
+ ### Passo 2 — Stage SELETIVO
28
+
29
+ Proibido `git add .` / `git add -A` por reflexo. Adicione arquivo por arquivo (ou por pasta intencional):
30
+
31
+ ```bash
32
+ git add caminho/arquivo-a caminho/arquivo-b
33
+ ```
34
+
35
+ Critérios:
36
+ - Só arquivos que pertencem ao escopo desta story/deste commit.
37
+ - Nunca stagear: `.env*` e segredos, artefatos de build (`dist/`, `.next/`), `node_modules/`, logs, arquivos temporários ou não relacionados que estavam sujos no working tree.
38
+ - Achou arquivo suspeito no diff (segredo, binário inesperado)? Pare e pergunte ao humano.
39
+
40
+ ### Passo 3 — Mensagem convencional com referência de story
41
+
42
+ Formato:
43
+
44
+ ```
45
+ {tipo}: {descrição imperativa e específica} [Story {epic}.{n}]
46
+ ```
47
+
48
+ | Tipo | Uso |
49
+ |---|---|
50
+ | `feat` | Nova funcionalidade (AC implementado) |
51
+ | `fix` | Correção de bug ou de finding de QA |
52
+ | `test` | Só testes |
53
+ | `docs` | Só documentação/story bookkeeping |
54
+ | `chore` | Config, tooling, manutenção |
55
+ | `refactor` | Mudança estrutural sem alterar comportamento |
56
+
57
+ Exemplos:
58
+
59
+ ```
60
+ feat: implementa validação de sessão no gateway [Story 2.1]
61
+ fix: trata findings do QA gate (null check na rota) [Story 2.1]
62
+ ```
63
+
64
+ Regras: uma mudança lógica por commit (atômico); descrição diz O QUE muda, corpo (opcional) diz POR QUÊ; sempre com `[Story X.Y]` quando o trabalho pertence a uma story.
65
+
66
+ ### Passo 4 — Commitar e conferir
67
+
68
+ ```bash
69
+ git commit -m "feat: ... [Story X.Y]"
70
+ git log --oneline -1
71
+ git status
72
+ ```
73
+
74
+ `git status` deve mostrar working tree consistente com o que você deliberadamente deixou de fora.
75
+
76
+ ## Proibições absolutas
77
+
78
+ - **`--force` / `-f`:** nunca, em nenhum comando git desta skill.
79
+ - **`--no-verify`:** nunca. Hooks de pre-commit existem para rodar; se um hook falha, trate a causa, não o bypass.
80
+ - **`git commit --amend` de commit já publicado** (que existe no remote): nunca — reescrever história publicada quebra os outros. Amend só é aceitável em commit ainda local e não compartilhado, e mesmo assim prefira um commit novo.
81
+ - **`git push`:** fora do escopo desta skill, sempre. Push é do papel **devops**, com aprovação humana explícita, somente fast-forward — e o hook `.claude/hooks/enforce-git-push-authority.cjs` garante isso deterministicamente. Ao terminar os commits, informe que a branch está pronta para o devops publicar.
82
+ - Nunca commitar em `main`.
83
+
84
+ ## Dividindo trabalho em múltiplos commits
85
+
86
+ Se o diff contém mais de uma mudança lógica (ex.: implementação do AC + bookkeeping da story + ajuste de config), divida:
87
+
88
+ 1. Agrupe os arquivos por mudança lógica.
89
+ 2. Um `git add` seletivo + um commit por grupo, na ordem: código/testes → docs/story → chore.
90
+ 3. Cada commit precisa fazer sentido isolado (compilar/passar gates se aplicável).
91
+
92
+ ```bash
93
+ git add src/session.ts tests/session.test.ts
94
+ git commit -m "feat: implementa detecção de sessão [Story 2.1]"
95
+ git add docs/stories/2.1.story.md
96
+ git commit -m "docs: atualiza File List e Dev Agent Record [Story 2.1]"
97
+ ```
98
+
99
+ ## Casos de borda
100
+
101
+ - **Hook de pre-commit falhou:** leia a saída, corrija a causa e commite de novo. `--no-verify` continua proibido mesmo "só desta vez".
102
+ - **Percebeu erro no último commit (ainda local):** prefira um commit `fix:` por cima; amend apenas se o commit é comprovadamente local (`git log origin/{branch}..HEAD` o inclui) e ninguém mais o consumiu.
103
+ - **Working tree com mudanças de outra story misturadas:** stage seletivo resolve; se os arquivos se sobrepõem, use `git stash` da parte alheia ou escale — nunca commite mistura com um `[Story X.Y]` só.
104
+ - **Segredo commitado por acidente (ainda local):** remova do stage/commit imediatamente, confirme com `git log -p -1`, e avise o humano — se já houver push envolvido, a rotação do segredo é decisão dele, não sua.
105
+
106
+ ## Saída esperada
107
+
108
+ Resposta final contém: branch, lista de arquivos staged (e o que foi deliberadamente deixado de fora), mensagem do commit criado, hash curto (`git log --oneline -1`), e o lembrete de que a publicação aguarda o papel devops com aprovação humana.
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: pc-develop-story
3
+ description: "Implementa uma story validada (Ready → InProgress → InReview) com branch guard, gates verdes e rastreabilidade total. Use para: implementar story, codar os ACs de uma story Ready, desenvolver feature do ciclo, retomar implementação em andamento."
4
+ ---
5
+
6
+ # pc-develop-story — Implementação de Story (papel Dev)
7
+
8
+ Protocolo completo e autocontido. Nenhuma engine externa é necessária.
9
+
10
+ ## Quando usar
11
+
12
+ Story com Status **Ready** (veredito GO registrado por `pc-validate-story`). Se o Status for `Draft`, pare e rode a validação primeiro. Se for `InProgress`, retome do último checkbox aberto.
13
+
14
+ ## Passo 0 — Branch guard (obrigatório, antes de qualquer edição)
15
+
16
+ 1. `git branch --show-current`.
17
+ 2. Se estiver em `main` (ou `master`): **PARE**. Crie a branch antes de tocar em qualquer arquivo:
18
+ ```bash
19
+ git checkout -b feat/{epic}.{n}-{slug-curto}
20
+ ```
21
+ 3. Nunca, em nenhuma circunstância, commitar em `main`. Este guard não tem exceção.
22
+
23
+ ## Passo 1 — Preparação
24
+
25
+ 1. Leia a story inteira: ACs, escopo IN/OUT, dependências, critério de Done, seção de Validação.
26
+ 2. Atualize `Status: Ready` → `Status: InProgress`.
27
+ 3. Mapeie cada AC para os arquivos que serão tocados. Antes de criar qualquer arquivo novo, procure componente/utilitário existente que resolva (**reusar antes de criar**).
28
+
29
+ ## Passo 2 — Implementação (No Invention)
30
+
31
+ - Implemente **SOMENTE** o que os ACs pedem. Nada de features extras, refactors oportunistas ou "melhorias enquanto estou aqui". Se detectar algo fora de escopo que valha a pena, registre como sugestão no Dev Agent Record — não implemente.
32
+ - Siga os padrões existentes do código (imports, naming, estrutura de testes).
33
+ - Cada AC ganha teste correspondente. Trate casos de borda declarados nos ACs.
34
+ - **Assert contra a SPEC, não contra a implementação:** rótulos, mensagens e listas de UI se afirmam com o valor literal da SPEC (`.toEqual` da lista completa), nunca `toContain` do que o código já produz — senão o teste passa verde mascarando divergência (o "fake green" que o QA pega).
35
+ - **Parser de texto de usuário testa NFC E NFD:** iPhone/macOS enviam Unicode decomposto (NFD); suíte que só cobre NFC quebra no dispositivo real. Cubra combining marks nas duas formas.
36
+ - Trabalhe AC por AC; mantenha o loop curto: implementar → testar o teste único relevante → próximo.
37
+
38
+ ## Passo 3 — Gates antes de marcar [x]
39
+
40
+ Um checkbox de task/AC só vira `[x]` quando os três gates estão **verdes na sua execução local**:
41
+
42
+ ```bash
43
+ npm run lint
44
+ npm run typecheck
45
+ npm test
46
+ ```
47
+
48
+ (Adapte aos comandos reais do projeto.) Cole a saída relevante — resumo de pass/fail — no Dev Agent Record. **Relato sem saída de gate não é evidência.** Se um gate falhar, corrija a causa-raiz; nunca suprima o erro (skip de teste, `// @ts-ignore`, desligar regra de lint) para "passar".
49
+
50
+ ## Passo 4 — Rastreabilidade na story
51
+
52
+ Mantenha na story, atualizados a cada bloco de trabalho:
53
+
54
+ 1. **Checkboxes:** `[ ]` → `[x]` imediatamente após cada task concluída com gates verdes.
55
+ 2. **File List:** TODOS os arquivos criados/modificados/removidos — fiel ao `git diff --stat`, sem omissões. Antes de concluir, confira: `git diff --stat` deve bater 1:1 com a File List.
56
+ 3. **Dev Agent Record:** seção na story com:
57
+ - Decisões técnicas tomadas e por quê (inclusive `[AUTO-DECISION]` quando decidiu sem consultar o humano). Declare cada **desvio** de escopo/design com `[AUTO-DECISION]` + racional — o QA julga um a um; desvio contrabandeado sem registro é finding.
58
+ - Saídas resumidas dos gates (lint/typecheck/test) da execução final.
59
+ - Débitos ou sugestões fora de escopo (não implementados).
60
+
61
+ ## Passo 5 — Commits locais
62
+
63
+ Use `pc-commit` (ou o protocolo equivalente): commits convencionais, atômicos, com referência à story:
64
+
65
+ ```
66
+ feat: implementa detecção de sessão [Story 2.1]
67
+ ```
68
+
69
+ - **NUNCA `git push`.** Publicação é do papel devops, com aprovação humana — o hook do ambiente bloqueia/pergunta de qualquer forma, mas a regra é sua, não do hook.
70
+ - Nunca `--force`, nunca `--no-verify`.
71
+
72
+ ## Passo 6 — Conclusão (handoff para QA)
73
+
74
+ Quando todos os ACs estiverem `[x]` com gates verdes:
75
+
76
+ 1. Rode a suíte completa de gates uma última vez; registre a saída no Dev Agent Record.
77
+ 2. Confirme File List == diff real.
78
+ 3. Atualize `Status: InProgress` → `Status: InReview`.
79
+ 4. Informe que a story está pronta para `pc-review-story` (papel QA).
80
+
81
+ ## Proibições absolutas
82
+
83
+ - **NUNCA se auto-aprovar:** não sete `Done`, não escreva na seção QA Results, não emita veredito de gate. Isso é exclusivo do papel QA (`.claude/rules/authority.md`).
84
+ - **NUNCA push** nem `gh pr create`/`gh pr merge`.
85
+ - Nunca marcar `[x]` com gate vermelho ou não executado.
86
+ - Nunca alterar ACs, escopo ou título da story — se um AC se provou impossível/ambíguo, pare e escale ao humano com o problema descrito.
87
+
88
+ ## Retomada de trabalho interrompido
89
+
90
+ Ao retomar uma story `InProgress`:
91
+
92
+ 1. `git branch --show-current` e `git log --oneline -5` — confirme que está na branch certa e veja onde parou.
93
+ 2. `git status` e `git diff --stat` — identifique trabalho não commitado.
94
+ 3. Compare os checkboxes da story com o diff real: checkbox `[x]` sem código correspondente indica registro otimista — rebaixe para `[ ]` e registre a correção no Dev Agent Record.
95
+ 4. Continue do primeiro checkbox aberto. Não re-implemente o que os gates já provaram verde.
96
+
97
+ ## Casos de borda
98
+
99
+ - **AC ambíguo ou impossível descoberto no meio:** PARE nesse AC, registre o problema no Dev Agent Record e escale ao humano. Continue nos ACs independentes enquanto espera, se houver.
100
+ - **Dependência de story não-Done:** não "adiante" a dependência dentro desta branch. Escale — a ordem de stories é decisão de quem prioriza.
101
+ - **Gate quebrado já em `main` (pré-existente):** registre como pré-existente no Dev Agent Record e reporte; conserte apenas se for pré-requisito direto dos seus ACs.
102
+ - **Conflito ao rebase/merge local com `main`:** resolva preservando a intenção dos dois lados; se a resolução alterar comportamento coberto por AC, re-rode os gates.
103
+
104
+ ## Referência rápida
105
+
106
+ | Momento | Ação |
107
+ |---|---|
108
+ | Antes de editar | Branch guard (`feat/{epic}.{n}-{slug}`) |
109
+ | Antes de codar um AC | Procurar código existente para reusar |
110
+ | Antes de marcar `[x]` | lint + typecheck + test verdes, saída registrada |
111
+ | Antes de concluir | File List == `git diff --stat`; suíte completa verde |
112
+ | Ao concluir | Status → `InReview`; handoff para `pc-review-story` |
113
+
114
+ ## Saída esperada
115
+
116
+ Resposta final contém: branch usada, ACs implementados, File List, resumo das saídas de gates, decisões registradas e o Status final (`InReview`).
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: pc-full-cycle
3
+ description: "Orquestra o ciclo completo de UMA story (validate → develop → review → fixes → close) com Sequence Lock, estado durável e retomável, e verificação independente do QA. Use para: rodar uma story de ponta a ponta, ciclo completo de story, retomar um ciclo interrompido, full cycle."
4
+ ---
5
+
6
+ # pc-full-cycle — Ciclo Completo de Uma Story (orquestrador)
7
+
8
+ Protocolo completo e autocontido. Nenhuma engine externa é necessária: o estado vive em arquivo JSON escrito/lido por ferramentas nativas (Read/Write/Edit).
9
+
10
+ ## Invocação
11
+
12
+ ```
13
+ /pc-full-cycle {story-path} [yolo|interactive]
14
+ ```
15
+
16
+ Default: `interactive`. As fases são executadas pelas skills atômicas do ciclo — esta skill nunca faz o trabalho de fase inline quando um subagente de papel está disponível.
17
+
18
+ ## Estado durável (retomável)
19
+
20
+ Arquivo: `.power-claude/cycle/{story-id}/state.json` (`story-id` = `{epic}.{n}`, ex.: `2.1`). Crie o diretório se não existir. Schema:
21
+
22
+ ```json
23
+ {
24
+ "story_id": "2.1",
25
+ "story_path": "docs/stories/2.1.story.md",
26
+ "mode": "interactive",
27
+ "branch": "feat/2.1-slug",
28
+ "qg_iteration": 0,
29
+ "max_qg_iterations": 3,
30
+ "verdict": null,
31
+ "phases": {
32
+ "validate": { "status": "pending", "started_at": null, "verified_at": null },
33
+ "develop": { "status": "pending", "started_at": null, "verified_at": null },
34
+ "review": { "status": "pending", "started_at": null, "verified_at": null },
35
+ "apply_qa_fixes":{ "status": "n/a", "started_at": null, "verified_at": null },
36
+ "close": { "status": "pending", "started_at": null, "verified_at": null }
37
+ },
38
+ "updated_at": "ISO-8601"
39
+ }
40
+ ```
41
+
42
+ **Retomada:** ao ser invocada, a skill SEMPRE lê o state.json primeiro. Se existe, continue da primeira fase não-`done` (respeitando o Sequence Lock); se não existe, crie-o e comece por `validate`. Atualize `status` → `running` antes de cada fase e → `done` **somente após a verificação pós-fase em disco** (nunca pelo relato do subagente). Timestamps em ISO-8601 a cada escrita.
43
+
44
+ ## Mapa de fases
45
+
46
+ **O núcleo de papéis e a lista de especialistas por gatilho são definidos em `.claude/rules/orchestration.md`** (fonte única, `DF-SF12.3-3`) — esta skill não reafirma um mapa de papéis próprio, divergente daquele núcleo. Esta skill cobre a granularidade das **5 fases de UMA story já em `Draft`** (criada pelo papel Planner — precondição fora do escopo desta skill) até o handoff ao papel DevOps:
47
+
48
+ | # | Fase | Skill | Papel (subagente preferencial) | Transição esperada |
49
+ |---|------|-------|-------------------------------|--------------------|
50
+ | 1 | validate | `pc-validate-story` | `pc-po` | Draft → Ready (GO) |
51
+ | 2 | develop | `pc-develop-story` | `pc-dev` | Ready → InProgress → InReview |
52
+ | 3 | review | `pc-review-story` | `pc-qa` | InReview → Done (PASS/CONCERNS/WAIVED) ou → InProgress (FAIL) |
53
+ | 3b | apply_qa_fixes | `pc-apply-qa-fixes` | `pc-dev` | InProgress → InReview (volta ao 3) |
54
+ | 4 | close | `pc-close-story` | `pc-po` | bookkeeping (story já Done) |
55
+
56
+ **Inserção dinâmica de especialista (capacidade, não exceção):** fases de especialista (`architect`/`db-architect`/`ux-architect`/`analyst`, listados com seus gatilhos em `orchestration.md`) podem ser inseridas dinamicamente em **qualquer ponto** do ciclo, condicionadas ao gatilho registrado na story — não é um desvio do protocolo, é capacidade prevista. Exemplo real: o `*design` de `pc-architect` inserido pelo `@dev` durante a SF12.2, no meio da fase `develop` (`docs/stories/sf12.2.story.md:628`), para resolver um bloqueio de arquitetura sem esperar um ciclo à parte. A ordem fixa das 5 fases do Sequence Lock (abaixo) vale **só entre elas** — não impede essa inserção.
57
+
58
+ Dispatch preferencial: spawn do subagente de papel correspondente (`.claude/agents/pc-po.md`, `pc-dev.md`, `pc-qa.md`) com prompt: `Execute a skill {skill} na story {story-path}; mode={mode}. Não faça git push.` Fallback: executar a skill inline, mantendo a separação de papéis por fase.
59
+
60
+ **Contrato de brief:** o prompt de cada subagente inclui paths exatos, ACs, limites de autoridade, e a instrução explícita: "relatório final ≤15 linhas; detalhes vão na story".
61
+
62
+ **Agente fresco por story:** papéis de execução recebem agente FRESCO a cada story — nunca reaproveite um agente vindo de outra story. Dentro do MESMO ciclo, fixes (`apply_qa_fixes`) retomam o MESMO agente Dev via SendMessage, para preservar o contexto da implementação.
63
+
64
+ **Worktree:** despache o papel Dev com `isolation: worktree` quando houver risco de colisão com outra frente ativa no repositório.
65
+
66
+ ## Preflight antes de CADA spawn (gate de escopo)
67
+
68
+ Verifique mecanicamente antes de invocar qualquer subagente; qualquer falha = NÃO despache, reporte e pare:
69
+
70
+ 1. **Story existe e está no status de entrada da fase** (tabela acima). Ex.: nunca despache `develop` com story `Draft`.
71
+ 2. **Branch correta:** para develop/fixes, working tree sem alterações não relacionadas à story (`git status`); nunca em `main`/`master`.
72
+ 3. **Gates configurados:** os comandos de lint/typecheck/test do projeto existem e são executáveis (ex.: scripts no `package.json`). Sem gates configurados, o veredito do QA não teria base — pare e reporte.
73
+ 4. **Escopo íntegro:** o prompt do child referencia exatamente a story do ciclo (path idêntico ao do state.json) e nada além dela.
74
+ 5. **Gatilhos de especialista (fase validate):** se a story declara dependência de analyst/architect/db/ux não satisfeita, o PO deve tratá-la — NO-GO até resolver.
75
+
76
+ > Nota: o controle de orçamento do ciclo é este preflight de escopo + limite duro de iterações; um teto de custo em moeda pode ser introduzido via hook de plataforma quando disponível.
77
+
78
+ ## Sequence Lock — disciplina do ciclo, estatuto por item
79
+
80
+ Cada item abaixo tem um **estatuto** declarado — o texto não afirma mais garantia do que o mecanismo real entrega: **ENFORCEMENT** (hook `PreToolUse`, verificável em código, `.claude/hooks/enforce-cycle-authority.cjs`) ou **ADVISORY** (disciplina do orquestrador e dos papéis, sem trava de plataforma).
81
+
82
+ 1. **[ADVISORY]** Fases **em ordem**. Nenhuma fase N+1 antes da verificação pós-fase de N passar.
83
+ 2. **[ENFORCEMENT]** **Só o papel QA (fase review) seta `Status: Done`.** Nenhum outro papel, nem este orquestrador — hook nega/pergunta conforme a identidade do agente (`agent_type`).
84
+ 3. **[ADVISORY]** `close` exige story já `Done` + gate file com veredito não-FAIL. É só bookkeeping.
85
+ 4. **[ADVISORY]** Loop de QG limitado a **3 iterações** (`max_qg_iterations`). Na 3ª re-review com FAIL → HALT e escale ao humano com o histórico completo. Nunca afrouxe o gate para fechar.
86
+ 5. **[ADVISORY]** **Anti-self-validation:** quem implementa (papel Dev) nunca revisa; quem revisa (papel QA) nunca implementa fixes. Papéis em subagentes distintos.
87
+
88
+ ## Loop de execução (o orquestrador DEVE seguir)
89
+
90
+ ```
91
+ 0. Ler/criar state.json (retomada)
92
+ 1. LOOP:
93
+ a. Próxima fase = primeira não-done na ordem do Sequence Lock
94
+ b. Se nenhuma → ciclo completo; ir para o passo 2
95
+ c. Preflight de escopo; falhou → HALT com motivo
96
+ d. Marcar fase running; despachar subagente de papel (ou inline)
97
+ e. Verificação pós-fase EM DISCO (tabela abaixo); falhou → HALT (não avance, não "conserte" o status)
98
+ f. Marcar fase done; atualizar state.json
99
+ g. Se fase = review:
100
+ - Ler o gate file real (docs/qa/gates/{story}.yaml) — não o relato do subagente
101
+ - PASS/CONCERNS/WAIVED → verdict no state; seguir para close
102
+ - FAIL:
103
+ interactive sem aprovação explícita de fix → reportar e PAUSAR
104
+ yolo ou aprovação dada → qg_iteration += 1;
105
+ se qg_iteration > max → HALT + escalar humano
106
+ senão → rodar apply_qa_fixes → verificar → voltar à review
107
+ h. interactive: reportar entre fases e pausar em decisões; yolo: autônomo
108
+ 2. Registrar aprendizados (seção abaixo)
109
+ 3. Push/PR: NUNCA daqui — handoff ao papel devops com branch + story + veredito
110
+ ```
111
+
112
+ ## Verificação pós-fase (independente, em disco)
113
+
114
+ O relato de um subagente **não é evidência**. Após cada retorno, o orquestrador confere o disco:
115
+
116
+ | Fase | Evidência exigida em disco |
117
+ |------|----------------------------|
118
+ | validate | Story `Status: Ready`; seção de validação com veredito GO |
119
+ | develop | Story `Status: InReview` (nunca Done); Dev Agent Record + File List preenchidos; commits na branch da story |
120
+ | review | Gate file existe em `docs/qa/gates/`; veredito coerente com o Status (aprovado → Done; FAIL → InProgress); QA Results na story |
121
+ | apply_qa_fixes | Story `Status: InReview` (nunca Done); findings do gate marcados com decisão |
122
+ | close | Índice do epic atualizado; status intacto (`Done`) |
123
+
124
+ A verificação independente pesada (re-executar lint/typecheck/test e rastrear AC → código) vive dentro de `pc-review-story` — este orquestrador garante que ela **aconteceu de fato**, checando o gate file e o diff, e jamais aceita "verde relatado" como verde ("do not fake green").
125
+
126
+ ## Modos
127
+
128
+ | Modo | Comportamento |
129
+ |------|---------------|
130
+ | `interactive` | Reporta entre fases; pausa em FAIL, NO-GO e decisões |
131
+ | `yolo` | Autônomo entre fases; para somente em HALT (preflight, verificação, circuit breaker de QG) |
132
+
133
+ ## Aprendizados (obrigatório ao fim de cada ciclo)
134
+
135
+ Ao concluir (ou em HALT), faça **append** — nunca sobrescreva — em `.power-claude/cycle/learnings.md`:
136
+
137
+ ```markdown
138
+ ## {data ISO} — Story {id} — {resultado: DONE | HALT:motivo}
139
+ - Iterações de QG: {n}/3 | Veredito final: {verdict}
140
+ - O que o QA pegou que o Dev relatou verde: {…ou "nada"}
141
+ - Padrão/armadilha para os próximos ciclos: {1-3 bullets}
142
+ ```
143
+
144
+ Este arquivo é a memória do ciclo entre sessões; consulte-o no início de cada novo ciclo.
145
+
146
+ ## Fronteiras
147
+
148
+ - Nunca `git push` / `gh pr create` / merge — exclusivo do papel devops, com aprovação humana.
149
+ - Nunca criar stories (isso é papel de planejamento, fora deste ciclo).
150
+ - Nunca editar o state.json para "pular" fase ou fabricar verificação.
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: pc-pipeline
3
+ description: "Opera um pipeline cross-pod (pipelines/pipeline-*.yaml) pelo motor supervisor pc-run-pipeline.cjs: aprova o manifesto de fases, encarna os agentes de cada fase via pc-run-pod, decide os portões GO/NO-GO. Use para: rodar um pipeline entre pods, encadear o output de um pod como insumo de outro, retomar um pipeline interrompido, decidir um portão de fase."
4
+ ---
5
+
6
+ # pc-pipeline — Operação de Pipeline Cross-Pod (maestro sequencial)
7
+
8
+ Protocolo completo e autocontido da coordenadora sobre o motor `scripts/pc-run-pipeline.cjs` (ADR-017). **Fronteira inegociável:** o motor é SUPERVISOR — start do run-filho, detecção de `done` lendo o state, baseline em disco, portão, avanço. Quem EXECUTA cada fase (encarna os agentes, escreve os artefatos) é VOCÊ, dirigindo o `pc-run-pod` da fase exatamente como num run de pod normal. O motor nunca chama LLM; se você pedir que ele "rode a fase", está usando errado.
9
+
10
+ ## Invocação
11
+
12
+ ```
13
+ /pc-pipeline pipelines/pipeline-{id}.yaml [--pods-root pods] [--state-root .power-claude]
14
+ ```
15
+
16
+ ## Estado durável (retomável)
17
+
18
+ `.power-claude/pipeline/{id}/state.json` — status por fase (`pending|running|blocked|completed|failed`), `run_id`/`run_dir` do filho, outputs resolvidos, ressalvas de GO. Runs-filhos vivem em `.power-claude/pipeline/{id}/runs/`. **Retomada:** `status` mostra onde parou; `advance` continua do ponto — fase `completed` nunca repete.
19
+
20
+ ## Stage 0 — Autorar o contrato (se ainda não existe)
21
+
22
+ `pipelines/pipeline-<id>.yaml`: `{id, deliverable, phases[]}`; cada fase `{id, pod, workflow, outputs: {nome: artifacts/<step>.md}}` (+ `inputs: {local: "<- fase.output"}` da fase 2 em diante; `gate` opcional com `veto` de máquina e/ou `checkpoint` humano). Regras de autoria:
23
+ 1. **Compatibilidade real primeiro:** o output REAL de uma fase precisa servir de insumo REAL da próxima — leia os templates/knowledge dos dois pods antes de comprometer o par; não force um encadeamento que não existe.
24
+ 2. Outputs apontam os artefatos do runner (`artifacts/<step-id>.md`). O PRIMEIRO output declarado é o que o `gate.veto` avalia — ordene com intenção.
25
+ 3. `gate` é camada ADITIVA sobre o baseline (run done + artefato em disco, sempre imposto). Critérios de portão reutilizáveis: `references/gate-templates.md` (universais + por tipo de entregável) — instancie o checkpoint `criteria` a partir de lá, não invente ad hoc.
26
+ 4. Valide: `node scripts/validate-pipeline.cjs pipelines/pipeline-<id>.yaml [--pods-root <dir>]` — exit 0 antes de qualquer init.
27
+
28
+ ## Stage 1 — Aprovação do manifesto (humano)
29
+
30
+ Apresente ao humano: fases na ordem, pod/workflow de cada uma, o que encadeia com o quê (inputs←outputs), e onde há portão (veto/checkpoint). Prossiga só com OK explícito — mesmo espírito do Stage 2 do `pc-wave`.
31
+
32
+ ## Stage 2 — Init
33
+
34
+ `node scripts/pc-run-pipeline.cjs init pipelines/pipeline-<id>.yaml [--pods-root d] [--state-root d]` — valida o contrato e cria o state (todas as fases `pending`). State já existente = retomada: pule para Stage 3 com `status`.
35
+
36
+ ## Stage 3 — Loop por fase (o coração do protocolo)
37
+
38
+ Para cada fase, na ordem:
39
+
40
+ 1. **`advance <id>`** → o motor inicia o run-filho (`started`) e devolve o `run_dir` + task-ref (com os paths dos inputs cross-pod resolvidos e verificados em disco, quando houver).
41
+ 2. **OPERE o run-filho como um `pc-run-pod` normal** — este é o seu trabalho, não do motor:
42
+ - `node scripts/pc-run-pod.cjs next --state <run_dir>/state.json --workflow-file <pod>/workflows/<wf>.yaml --pod-root <pod>` despacha a etapa e devolve o BRIEF;
43
+ - **encarne o agente** da etapa (leia o entry point do agente + knowledge referenciado; inputs cross-pod estão no brief como "Tarefa:") e escreva o artefato REAL em `<run_dir>/artifacts/<step>.md`, conforme o template da etapa;
44
+ - `next` de novo verifica em disco (conformidade + vetos) e marca `done`; checkpoints bloqueantes internos do pod: `approve`/`revise` como sempre;
45
+ - repita até o run-filho ficar `done` (todos os steps).
46
+ 3. **`advance <id>`** de novo → o motor aplica baseline (outputs em disco) + `gate.veto` (GO/NO-GO de máquina):
47
+ - `phase-complete` → próxima fase (volte ao passo 1);
48
+ - `blocked` → portão HUMANO: julgue pelos critérios do checkpoint (instanciados de `references/gate-templates.md`), então `approve <id> [--note "ressalva"]` (GO — ressalva é texto livre, não 3º estado) ou `reject <id>` (NO-GO, trava);
49
+ - exit 1 com NO-GO de veto → a fase fica `failed`; v1 não tem re-exec parcial: corrija OPERANDO um novo run da fase (remova/reinicie o state da fase conforme o motor instruir) — nunca edite o artefato de uma fase já aprovada.
50
+ 4. `advance` com tudo concluído → `pipeline COMPLETO`. Reporte o artefato final ao humano.
51
+
52
+ ## Condições de HALT (pare e reporte — nunca contorne)
53
+
54
+ - `validate-pipeline` ou `init` falhou → contrato inválido; corrija o YAML, nunca o motor.
55
+ - `advance` fail-loud com run-filho não-done → complete o run (passo 2); NUNCA marque steps por relato.
56
+ - NO-GO (veto ou humano) → fase `failed`/travada; a fase seguinte NUNCA dispara. Recuperação = re-rodar a fase inteira (v1).
57
+ - Input cross-pod ausente em disco → não recrie o artefato "de memória"; investigue o run da fase anterior.
58
+ - Gap genuíno de CONTRATO/MOTOR (não de conteúdo) → PARE e escale `pc-architect *review` — a skill nunca corrige o motor por conta própria.
59
+ - Merge/push do resultado → `pc-devops`, como sempre. Aprovação humana nos checkpoints de portão é indelegável.
60
+
61
+ ## Fronteiras (herdadas de ADR-017)
62
+
63
+ Motor supervisiona; operador executa; `squad-io.yaml` e `pc-run-pod` intocados; artefato cross-pod viaja por REFERÊNCIA verificada em disco (sem cópia); portão binário GO/NO-GO. "Sem deriva" = sem cópia divergente — mutação de conteúdo de um output APÓS o gate não é re-verificada (limite v1; não edite outputs de fases aprovadas).
@@ -0,0 +1,46 @@
1
+ # Gate-templates — critérios de portão reutilizáveis para pipelines cross-pod
2
+
3
+ > Fonte: `multi-squad-orchestrator` (skill de origem do Daniel, `~/projetos/skills/multi-squad-orchestrator.zip`), `references/quality-gate-templates.md` — absorção-leve decidida em `docs/research/2026-07-29-avaliacao-multi-squad-orchestrator.md` (SF8.2) e ADR-017. Destilação: critérios viram INSUMO do `gate` do pipeline (checkpoint `criteria` e, quando machine-redutível, `veto`); o protocolo de 3 estados e a re-exec parcial da origem NÃO foram absorvidos (v1 é GO/NO-GO binário, ressalva = texto livre num GO — ADR-017 Decisão 5).
4
+
5
+ ## Como usar
6
+
7
+ Ao autorar um `pipelines/pipeline-*.yaml`, instancie o portão de cada transição a partir daqui: escolha o gate da transição (abaixo), aplique os critérios UNIVERSAIS sempre, some os critérios do TIPO de entregável quando houver. Critério machine-redutível (campo/threshold contável no artefato) vira `gate.veto`; critério de julgamento vira o `criteria` do `gate.checkpoint` (decisão humana GO/NO-GO). BLOCKING = entra no portão; WARNING = ressalva registrável no GO (`--note`), nunca bloqueio.
8
+
9
+ ## QG Research → Narrativa (fase de pesquisa alimentando fase autoral)
10
+
11
+ **Universais (sempre):**
12
+ - U1 BLOCKING — fontes verificáveis com data e autor ≥ 3.
13
+ - U2 BLOCKING — dados factuais (não opinião) sustentando os claims ≥ 3.
14
+ - U3 BLOCKING — conexão explícita entre findings e público-alvo.
15
+ - U4 WARNING — índice de fontes presente.
16
+
17
+ **Por tipo (somar ao universal):** keynote/evento executivo — fontes tier-1 ≥ 5, cases com ROI ≥ 2, tendências ≥ 3 · workshop/treinamento — ferramentas/frameworks mapeados ≥ 3, exercícios viáveis ≥ 2 · proposta comercial — intelligence do cliente + benchmarks do setor ≥ 2 · campanha de conteúdo — persona definida, trending topics ≥ 3, concorrentes ≥ 2 · estratégia de produto — TAM/SAM/SOM, análise competitiva ≥ 3, JTBD · ebook/educacional — fontes primárias por capítulo ≥ 2, lacuna do público definida · customizado — ≥ 2 BLOCKING + 1 WARNING definidos na autoria.
18
+
19
+ ## QG Narrativa → Design (fase autoral alimentando fase visual/material)
20
+
21
+ **Universais:**
22
+ - U1 BLOCKING — argumento central identificável em 1 frase.
23
+ - U2 BLOCKING — dados do research integrados organicamente (não colados).
24
+ - U3 BLOCKING — estrutura com início, desenvolvimento e fechamento.
25
+ - U4 WARNING — público-alvo refletido no tom e vocabulário.
26
+
27
+ **Por tipo:** keynote — hook com tensão cognitiva, framework reusável ≥ 1, timing por seção · workshop — objetivos de aprendizagem mensuráveis ≥ 3, sequência didática progressiva, exercícios por módulo · proposta — recomendação antes dos argumentos (Minto), ROI projetado, diferenciação · campanha — calendário com datas, ≥ 2 formatos, mensagem-chave consistente · produto — visão em 1 parágrafo, roadmap com fases, métricas por fase · ebook — outline completo, progressão de complexidade, exercícios por capítulo.
28
+
29
+ ## QG Design → Entrega (fase visual/material alimentando fechamento)
30
+
31
+ **Universais:**
32
+ - U1 BLOCKING — consistência visual (paleta, tipografia, tom) em todo o material.
33
+ - U2 BLOCKING — hierarquia de informação clara (leitor entende a estrutura em 10s).
34
+ - U3 BLOCKING — conteúdo alinhado com a narrativa da fase anterior, sem contradições.
35
+ - U4 WARNING — especificação executável por terceiro.
36
+
37
+ **Por tipo:** keynote — STAR moment posicionado, zero bullets, ≤ 25 palavras/slide · workshop — slides didáticos, workbook/handout especificado · proposta — deck ≤ 15 slides, executive summary na 1ª página, pricing visual · campanha — assets por canal com tamanhos/formatos, brand guidelines · produto — roadmap visual, one-pager por fase · ebook — diagramação por capítulo, capa e TOC.
38
+
39
+ ## QG Entrega final (última fase antes de reportar ao humano)
40
+
41
+ **Universais:**
42
+ - U1 BLOCKING — estratégia de ação pós-entrega (≥ 1 next step claro).
43
+ - U2 BLOCKING — todos os deliverables persistidos e verificáveis em disco.
44
+ - U3 WARNING — estado do pipeline atualizado (todas as fases com status final).
45
+
46
+ **Por tipo:** keynote — playbook pré/durante/pós, follow-up · workshop — logística + avaliação · proposta — objeções preparadas, 2-3 opções de pricing · campanha — calendário de publicação, métricas por canal, plano de iteração · produto — go-to-market, métricas por fase, stakeholder map · ebook — distribuição, canal, métricas de alcance.
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: pc-review-story
3
+ description: "QA gate independente de uma story em InReview: re-executa gates, rastreia ACs ao código real e emite veredito PASS/CONCERNS/FAIL/WAIVED. Use para: revisar story implementada, rodar QA gate, aprovar/reprovar implementação, setar story para Done."
4
+ ---
5
+
6
+ # pc-review-story — QA Gate Independente (papel QA)
7
+
8
+ Protocolo completo e autocontido. Nenhuma engine externa é necessária.
9
+
10
+ ## Quando usar
11
+
12
+ Story com Status **InReview**. Se estiver `InProgress`, devolva ao Dev — não revise trabalho declaradamente incompleto.
13
+
14
+ ## Princípio central: verificação INDEPENDENTE
15
+
16
+ O relato do implementador **não é evidência**. O ciclo que validou este protocolo pegou um "fake green" real: Dev reportou sucesso, e os gates re-executados desmentiram. Portanto:
17
+
18
+ 1. **Re-execute os gates você mesmo** (lint, typecheck, test). Não aceite saída colada no Dev Agent Record como prova — ela é contexto, não veredito.
19
+ 2. **Rastreie cada AC ao código real.** Abra os arquivos da File List e aponte, AC por AC, ONDE ele está implementado (arquivo:linha ou função). AC sem código rastreável = FAIL desse AC.
20
+ 3. **Teste pela rota real, não só em teste isolado.** Lição registrada do ciclo: teste de componente verde NÃO prova o wiring da rota. Se o entregável é um endpoint, chame o endpoint; se é uma página, carregue a página; se é um CLI, execute o comando. Exercite o caminho que o usuário final percorre.
21
+
22
+ ## Protocolo
23
+
24
+ ### Passo 1 — Contexto
25
+
26
+ Leia a story completa (ACs, escopo, Validação do PO, Dev Agent Record, File List) e o diff da branch (`git diff main...HEAD --stat` e os arquivos relevantes).
27
+
28
+ ### Passo 2 — Os 3 eixos de verificação
29
+
30
+ | Eixo | Como verificar | Falha ⇒ |
31
+ |---|---|---|
32
+ | Gates | Rodar `npm run lint`, `npm run typecheck`, `npm test` do zero | FAIL |
33
+ | Rastreabilidade de ACs | Cada AC apontado a código real; escopo OUT não implementado (No Invention) | FAIL no AC ausente; CONCERNS em invenção menor |
34
+ | Funcionamento real | Executar o entregável pela rota real (endpoint/página/CLI) | FAIL |
35
+
36
+ Verifique também: File List fiel ao diff; testes novos cobrem os ACs; nenhum erro suprimido (skip, ts-ignore, regra desligada) sem justificativa.
37
+
38
+ **Arsenal adversarial (aplique o que a story pedir):**
39
+
40
+ - **Verifique contra o ARTEFATO real, não contra a suíte:** faça seu próprio parse do output (jsdom no HTML gerado). Para exercitar a rota real, gere **credenciais próprias na hora** (bcrypt/JWT) — nunca leia `.env`.
41
+ - **Regressão por byte-identidade:** hash `sha256` do artefato entre a versão nova e o checkout anterior prova ausência de regressão — barato e à prova de discussão.
42
+ - **Teste as falhas que o Dev NÃO testou** (os ramos/chamadas que ele pulou) e **plante um segredo no erro** para provar que log/mensagem não vaza.
43
+ - **Hipóteses adversariais do CONTEXTO DE USO real** (dispositivo, encoding — ex.: iPhone envia NFD) valem mais que fuzzing genérico.
44
+ - **`git diff --stat` com "Bin"** = byte NUL cegando o diff; investigue o arquivo em vez de confiar no review de diff.
45
+ - **Conformidade com ADR por DIFF dirigido** (ex.: arquivo que deveria estar vazio está vazio), não releitura do código inteiro.
46
+
47
+ ### Protocolos aprofundados (carregue sob demanda)
48
+
49
+ Quando um eixo pedir profundidade, leia o reference correspondente — o checklist/regex/fórmula completo está lá, não inline:
50
+
51
+ | Situação | Reference |
52
+ |---|---|
53
+ | Story com superfície de risco (auth/dados/dinheiro/integração) | `references/risk-profile.md` (score prob×impacto → gate) |
54
+ | Requisito não-funcional relevante | `references/nfr-assess.md` (4 NFRs, status determinístico) |
55
+ | Conferir cobertura AC→teste | `references/trace-requirements.md` (GWT, full/partial/none) |
56
+ | Planejar/avaliar a suíte | `references/test-design.md` (níveis + P0-P3) |
57
+ | Story toca input/query/superfície externa | `references/security-checklist.md` (8 checks com regex) |
58
+ | Story é bug fix (fix real ou falso positivo?) | `references/false-positive-detection.md` (teste de causação + confidence score) |
59
+
60
+ ### Passo 3 — Veredito
61
+
62
+ | Veredito | Significado | Efeito |
63
+ |---|---|---|
64
+ | **PASS** | Todos os ACs verificados, gates verdes, rota real funciona | Story → `Done` |
65
+ | **CONCERNS** | Funciona e ACs atendidos, mas há débitos não-bloqueantes nomeados | Story → `Done` com débitos registrados, OU devolve — julgamento explícito |
66
+ | **FAIL** | Qualquer AC não atendido, gate vermelho ou rota real quebrada | Story volta ao Dev → `pc-apply-qa-fixes` |
67
+ | **WAIVED** | Falha conhecida, aceita conscientemente pelo humano | Só com justificativa + ciência humana registradas no gate file |
68
+
69
+ ### Passo 4 — Gate file (obrigatório, qualquer veredito)
70
+
71
+ Escreva `docs/qa/gates/{epic}.{n}-{slug}.yaml`:
72
+
73
+ ```yaml
74
+ story: "{epic}.{n}"
75
+ date: "{YYYY-MM-DD}"
76
+ reviewer: "pc-qa"
77
+ verdict: PASS | CONCERNS | FAIL | WAIVED
78
+ gates_reexecuted:
79
+ lint: pass | fail
80
+ typecheck: pass | fail
81
+ test: "pass (N testes)" | fail
82
+ real_route_check: "{o que foi executado e o resultado}"
83
+ ac_trace:
84
+ - ac: 1
85
+ evidence: "{arquivo:linha ou função}"
86
+ status: verified | missing
87
+ findings: [] # obrigatório preencher se CONCERNS/FAIL
88
+ waiver_reason: null # obrigatório se WAIVED
89
+ ```
90
+
91
+ ### Passo 5 — Atualizar a story
92
+
93
+ 1. Escreva a seção **QA Results** na story: veredito, resumo por eixo, findings numerados (se houver).
94
+ 2. **PASS/CONCERNS aceito:** `Status: InReview` → `Status: Done`. **Só o papel QA faz esta transição.**
95
+ 3. **FAIL:** Status volta para `InProgress`; liste os findings que o Dev deve tratar via `pc-apply-qa-fixes`.
96
+
97
+ ## Limites do papel
98
+
99
+ - **Só edita a seção QA Results** da story (e o gate file). Não toca em ACs, escopo, checkboxes, File List nem Dev Agent Record.
100
+ - **Não implementa correções.** Achou problema → finding no gate file → devolve ao Dev. QA que corrige código vira implementador e perde a independência.
101
+ - **Anti-self-review:** se você implementou esta story (mesma sessão/contexto), recuse a revisão e exija um contexto limpo (subagente QA ou outra sessão). Ver `.claude/rules/authority.md`.
102
+ - Máximo 3 iterações de FAIL → fix → re-review; na terceira sem PASS, escale ao humano com o histórico.
103
+
104
+ ## Casos de borda
105
+
106
+ - **Gates verdes mas rota real quebrada:** FAIL. Este é exatamente o cenário que a verificação em 3 eixos existe para pegar — registre o finding com o comando executado e a saída.
107
+ - **File List não bate com o diff:** CONCERNS no mínimo; se arquivos materiais foram omitidos (código de produção fora da lista), FAIL — rastreabilidade é parte do contrato.
108
+ - **Implementação além do escopo (invenção):** código fora dos ACs e do escopo IN. Menor e inofensivo → CONCERNS com finding pedindo remoção ou story própria. Material → FAIL.
109
+ - **Teste que "passa" porque foi enfraquecido:** compare os testes do diff com os ACs. Assert removido, skip ou mock que engole a rota real = FAIL com finding específico.
110
+ - **Ambiente local impede re-execução de um gate** (ex.: dependência de serviço externo): NÃO assuma verde. Registre o gate como não-verificável, rebaixe o teto do veredito para CONCERNS e escale a decisão ao humano.
111
+ - **Re-review (iteração 2 ou 3):** verifique primeiro a tabela de inventário do `pc-apply-qa-fixes` — cada finding anterior precisa de decisão (FIXED/WON'T_FIX/DEFERRED). Finding sem decisão = FAIL imediato. Depois re-rode os 3 eixos normalmente.
112
+
113
+ ## Como registrar um finding (formato)
114
+
115
+ ```yaml
116
+ findings:
117
+ - id: 1
118
+ severity: bloqueante | menor
119
+ ac_afetado: 2 # ou null
120
+ descricao: "POST /session retorna 500 com payload válido"
121
+ evidencia: "curl -X POST ... → HTTP 500 (log anexo)"
122
+ acao_sugerida: "tratar null em session.ts:42"
123
+ ```
124
+
125
+ Finding sem evidência executável é opinião — não entra no gate file.
126
+
127
+ ## Saída esperada
128
+
129
+ Resposta final contém: veredito, caminho do gate file criado, tabela de rastreamento dos ACs, saídas resumidas dos gates re-executados, resultado do teste de rota real e o Status final da story.