pan-wizard 3.35.0 → 3.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/CHANGELOG.md +3645 -0
  2. package/README.md +46 -52
  3. package/agents/pan-conductor.md +2 -3
  4. package/agents/pan-counterfactual.md +1 -2
  5. package/agents/pan-debugger.md +14 -3
  6. package/agents/pan-design-checker.md +1 -2
  7. package/agents/pan-designer.md +2 -3
  8. package/agents/pan-document_code.md +1 -2
  9. package/agents/pan-executor.md +25 -0
  10. package/agents/pan-hardener.md +4 -3
  11. package/agents/pan-integration-checker.md +1 -2
  12. package/agents/pan-knowledge.md +1 -2
  13. package/agents/pan-meta-reviewer.md +3 -3
  14. package/agents/pan-optimizer.md +4 -4
  15. package/agents/pan-phase-researcher.md +80 -475
  16. package/agents/pan-plan-checker.md +40 -3
  17. package/agents/pan-planner.md +21 -7
  18. package/agents/pan-previewer.md +3 -2
  19. package/agents/pan-project-researcher.md +72 -493
  20. package/agents/pan-release.md +1 -1
  21. package/agents/pan-reviewer.md +14 -3
  22. package/agents/pan-roadmapper.md +12 -7
  23. package/agents/pan-verifier.md +9 -4
  24. package/bin/install-lib.cjs +134 -14
  25. package/bin/install.js +59 -12
  26. package/commands/pan/army.md +1 -1
  27. package/commands/pan/autodev.md +76 -0
  28. package/commands/pan/cost.md +21 -1
  29. package/commands/pan/exec-phase.md +3 -4
  30. package/commands/pan/focus-auto.md +14 -7
  31. package/commands/pan/focus-design.md +4 -5
  32. package/commands/pan/focus-docs.md +24 -0
  33. package/commands/pan/learn.md +13 -6
  34. package/commands/pan/milestone-audit.md +8 -1
  35. package/commands/pan/milestone-done.md +10 -5
  36. package/commands/pan/milestone-new.md +2 -2
  37. package/commands/pan/new-project.md +15 -12
  38. package/commands/pan/plan-phase.md +15 -9
  39. package/commands/pan/preview.md +1 -1
  40. package/commands/pan/quick.md +1 -1
  41. package/commands/pan/review-deep.md +11 -5
  42. package/commands/pan/settings.md +6 -0
  43. package/commands/pan/verify-phase.md +6 -2
  44. package/docs/AGENTS.md +917 -0
  45. package/docs/ARCHITECTURE.md +1054 -0
  46. package/docs/CLI-REFERENCE.md +4582 -0
  47. package/docs/COMPARISON.md +116 -0
  48. package/docs/DEVELOPMENT.md +490 -0
  49. package/docs/ECOSYSTEM-REVIEW-2026-06.md +107 -0
  50. package/docs/ECOSYSTEM-REVIEW-2026-08.md +349 -0
  51. package/docs/EXAMPLES.md +584 -0
  52. package/docs/FAQ.md +254 -0
  53. package/docs/FIELD-HARVEST-2026-07.md +88 -0
  54. package/docs/FIELD-REPORT-army-2026-06.md +121 -0
  55. package/docs/HOOKS.md +638 -0
  56. package/docs/IMPROVEMENT-TODO.md +246 -0
  57. package/docs/INTERNALS.md +485 -0
  58. package/docs/MIGRATION-v2-to-v3.md +258 -0
  59. package/docs/SECURITY-HARDENING.md +230 -0
  60. package/docs/SKILLS-ENHANCEMENT-PLAN-V2.md +122 -0
  61. package/docs/SKILLS-FULL-TEXT.md +9685 -0
  62. package/docs/SKILLS-REFERENCE.md +1037 -0
  63. package/docs/TROUBLESHOOTING.md +1084 -0
  64. package/docs/USER-GUIDE.md +1437 -0
  65. package/docs/archive/SKILLS-ENHANCEMENT-PLAN.md +230 -0
  66. package/docs/audits/AUDIT-2026-08-e2e-ROADMAP.md +117 -0
  67. package/docs/audits/AUDIT-2026-08-e2e-VERIFICATION.md +693 -0
  68. package/docs/audits/AUDIT-2026-08-e2e.md +1546 -0
  69. package/docs/audits/OUTSTANDING-2026-08.md +275 -0
  70. package/docs/audits/STABILITY-TEST-2026-08.md +640 -0
  71. package/docs/branding/README-brand-draft.md +119 -0
  72. package/docs/branding/handoff/IMPLEMENTATION.md +205 -0
  73. package/docs/branding/handoff/README-brand-draft.md +119 -0
  74. package/docs/branding/handoff/image-prompts.md +46 -0
  75. package/docs/branding/image-prompts.md +46 -0
  76. package/docs/branding/nano-banana-prompts.txt +60 -0
  77. package/docs/context-monitor.md +13 -0
  78. package/docs/decisions/ADR-0001-strategic-feature-prioritization.md +83 -0
  79. package/docs/decisions/ADR-0002-copilot-cli-runtime.md +71 -0
  80. package/docs/decisions/ADR-0003-smart-execution.md +84 -0
  81. package/docs/decisions/ADR-0004-copilot-cli-interaction.md +89 -0
  82. package/docs/decisions/ADR-0005-command-naming.md +80 -0
  83. package/docs/decisions/ADR-0006-focus-commands.md +101 -0
  84. package/docs/decisions/ADR-0007-ship-v1.md +73 -0
  85. package/docs/decisions/ADR-0008-map-codebase-mermaid-togaf.md +80 -0
  86. package/docs/decisions/ADR-0009-production-deployment-checklist.md +68 -0
  87. package/docs/decisions/ADR-0010-standards-integration.md +79 -0
  88. package/docs/decisions/ADR-0011-help-commands-rewrite.md +64 -0
  89. package/docs/decisions/ADR-0012-contributors-attribution-index.md +42 -0
  90. package/docs/decisions/ADR-0013-strategic-feature-additions.md +53 -0
  91. package/docs/decisions/ADR-0014-internal-cleanup-code-quality.md +53 -0
  92. package/docs/decisions/ADR-0015-focus-auto-runner.md +296 -0
  93. package/docs/decisions/ADR-0016-enhanced-doc-sync.md +54 -0
  94. package/docs/decisions/ADR-0017-enhanced-focus-design.md +69 -0
  95. package/docs/decisions/ADR-0018-user-reality-testing.md +84 -0
  96. package/docs/decisions/ADR-0019-end-to-end-user-acceptance-testing.md +113 -0
  97. package/docs/decisions/ADR-0020-ai-drift-prevention.md +55 -0
  98. package/docs/decisions/ADR-0021-codebase-mapper-v2.md +76 -0
  99. package/docs/decisions/ADR-0022-lifecycle-completeness.md +63 -0
  100. package/docs/decisions/ADR-0023-opus-4-7-adoption.md +89 -0
  101. package/docs/decisions/ADR-0024-spec-b-v2-completion.md +137 -0
  102. package/docs/decisions/ADR-0025-behavioral-guardrails-layer.md +129 -0
  103. package/docs/decisions/ADR-0026-self-improvement-loop.md +171 -0
  104. package/docs/decisions/ADR-0027-doc-code-link-graph.md +164 -0
  105. package/docs/decisions/ADR-0028-unified-agents-skills-target.md +46 -0
  106. package/docs/decisions/ADR-0029-experiment-evaluator.md +76 -0
  107. package/docs/decisions/ADR-0030-planning-concurrency.md +37 -0
  108. package/docs/decisions/ADR-0031-focus-auto-backlog-source.md +47 -0
  109. package/docs/decisions/ADR-0032-squad-model.md +64 -0
  110. package/docs/decisions/ADR-0033-army-campaign.md +40 -0
  111. package/docs/decisions/ADR-0034-scheduled-campaigns.md +57 -0
  112. package/docs/decisions/ADR-0035-army-hud-dashboard.md +40 -0
  113. package/docs/decisions/ADR-0036-agentic-memory-architecture.md +106 -0
  114. package/docs/decisions/ADR-0037-pin-security-agents-to-opus.md +51 -0
  115. package/docs/decisions/ADR-0038-skill-aligned-decomposition.md +41 -0
  116. package/docs/decisions/ADR-0039-worktree-as-project-variant.md +37 -0
  117. package/docs/decisions/ADR-0040-memory-injection-defense.md +55 -0
  118. package/docs/decisions/ADR-0041-mcp-dual-era-bridge.md +47 -0
  119. package/docs/decisions/ADR-0042-design-parity-both-flows.md +45 -0
  120. package/docs/decisions/ADR-0043-addressable-planning-roots.md +56 -0
  121. package/docs/decisions/ADR-0044-bound-the-cached-context.md +104 -0
  122. package/docs/decisions/ADR-0045-agent-plugins-bundle.md +76 -0
  123. package/docs/decisions/ADR-0046-subagent-frontmatter-decisions.md +39 -0
  124. package/docs/decisions/ADR-0047-pan-harness.md +76 -0
  125. package/docs/decisions/ADR-0048-one-core-per-project.md +43 -0
  126. package/docs/decisions/ADR-0049-machine-verdicts-and-findings-ledger.md +116 -0
  127. package/docs/specs/ai_drift_prevention_featureai.md +286 -0
  128. package/docs/specs/codebase_mapper_v2_featureai.md +930 -0
  129. package/docs/specs/command_naming_optimization_featureai.md +930 -0
  130. package/docs/specs/comp_analysis_markdown_v1.md +149 -0
  131. package/docs/specs/continuous_autonomous_execution_featureai.md +304 -0
  132. package/docs/specs/contributors_attribution_index_featureai.md +476 -0
  133. package/docs/specs/copilot_cli_interaction_featureai.md +868 -0
  134. package/docs/specs/copilot_cli_runtime_featureai.md +647 -0
  135. package/docs/specs/custom-skills-assessment.md +461 -0
  136. package/docs/specs/deployment_audit_findings_featureai.md +243 -0
  137. package/docs/specs/doc_code_link_graph_featureai.md +253 -0
  138. package/docs/specs/documentation_alignment_cleanup_featureai.md +69 -0
  139. package/docs/specs/e2e_visual_testing_featureai.md +615 -0
  140. package/docs/specs/end_to_end_user_acceptance_testing_featureai.md +810 -0
  141. package/docs/specs/evidence-loop-plan.md +76 -0
  142. package/docs/specs/evidence_loop_featureai.md +497 -0
  143. package/docs/specs/focus-auto-optimize-category.md +449 -0
  144. package/docs/specs/focus-auto-optimize-superplan.md +188 -0
  145. package/docs/specs/focus_auto_runner_featureai.md +1102 -0
  146. package/docs/specs/focus_design_v2_featureai.md +197 -0
  147. package/docs/specs/focus_sync_v2_featureai.md +202 -0
  148. package/docs/specs/git_integration_overhaul_featureai.md +326 -0
  149. package/docs/specs/glm_zai_provider_featureai.md +200 -0
  150. package/docs/specs/googlecli_adoption_featureai.md +661 -0
  151. package/docs/specs/help_commands_rewrite_featureai.md +860 -0
  152. package/docs/specs/industry_analysis_strategic_additions_featureai.md +231 -0
  153. package/docs/specs/industry_comparison_and_feature_gaps_featureai.md +674 -0
  154. package/docs/specs/internal_cleanup_code_quality_featureai.md +486 -0
  155. package/docs/specs/investigations/README.md +31 -0
  156. package/docs/specs/investigations/digests/2026-09-28.md +47 -0
  157. package/docs/specs/investigations/digests/2026-10-08.md +62 -0
  158. package/docs/specs/investigations/digests/2026-10-10.md +61 -0
  159. package/docs/specs/investigations/features/debugger-red-loop-first.md +55 -0
  160. package/docs/specs/investigations/features/harness-cross-host-behaviour.md +93 -0
  161. package/docs/specs/investigations/features/optimize-apply-regression-gate.md +66 -0
  162. package/docs/specs/investigations/features/reviewer-smell-baseline.md +57 -0
  163. package/docs/specs/investigations/features/trace-failure-capture.md +69 -0
  164. package/docs/specs/lifecycle_completeness_featureai.md +754 -0
  165. package/docs/specs/local-first-ci.md +42 -0
  166. package/docs/specs/map_codebase_mermaid_togaf_featureai.md +805 -0
  167. package/docs/specs/market-delta-2026-09-superplan.md +310 -0
  168. package/docs/specs/market-ideas-2026-09.md +131 -0
  169. package/docs/specs/market-ideas-2026-10.md +428 -0
  170. package/docs/specs/market-ideas-ledger.md +177 -0
  171. package/docs/specs/memory-optimization-2026-10.md +285 -0
  172. package/docs/specs/multi-track-planning-roots.md +143 -0
  173. package/docs/specs/multi_model_routing_featureai.md +687 -0
  174. package/docs/specs/multi_model_routing_superplan.md +197 -0
  175. package/docs/specs/opus_47_existing_enhancements_featureai.md +247 -0
  176. package/docs/specs/opus_47_extended_features_featureai.md +363 -0
  177. package/docs/specs/opus_47_extended_features_v2_featureai.md +397 -0
  178. package/docs/specs/pan_focus_commands_featureai.md +2336 -0
  179. package/docs/specs/pan_zcode_mcp_bridge_featureai.md +120 -0
  180. package/docs/specs/product-excellence-superplan.md +315 -0
  181. package/docs/specs/product_excellence_program_2026_q4_featureai.md +365 -0
  182. package/docs/specs/production_deployment_readiness_featureai.md +433 -0
  183. package/docs/specs/production_readiness_ship_v1_featureai.md +698 -0
  184. package/docs/specs/real_test_enforcement_featureai.md +213 -0
  185. package/docs/specs/reality-check-2026-09-superplan.md +362 -0
  186. package/docs/specs/right-sized-ceremony.md +74 -0
  187. package/docs/specs/roadmap_and_competition_2026_q4_featureai.md +390 -0
  188. package/docs/specs/self_improvement_loop_featureai.md +875 -0
  189. package/docs/specs/skill-aligned-decomposition.md +155 -0
  190. package/docs/specs/standards_integration_featureai.md +833 -0
  191. package/docs/specs/testing-system-redesign-2026-09.md +267 -0
  192. package/docs/specs/user_reality_testing_system_featureai.md +788 -0
  193. package/docs/specs/watch-triggers.json +22 -0
  194. package/docs/specs/workflow-integration-redesign.md +742 -0
  195. package/docs/specs/workflow_state_consistency_featureai.md +183 -0
  196. package/hooks/dist/pan-context-monitor.js +9 -2
  197. package/hooks/dist/pan-cost-logger.js +5 -0
  198. package/hooks/dist/pan-guard.js +28 -5
  199. package/hooks/dist/pan-stop-guard.js +9 -9
  200. package/hooks/dist/pan-trace-logger.js +5 -0
  201. package/package.json +10 -2
  202. package/pan-wizard-core/bin/lib/agents-md.cjs +57 -8
  203. package/pan-wizard-core/bin/lib/autodev-report.cjs +180 -0
  204. package/pan-wizard-core/bin/lib/autodev.cjs +642 -0
  205. package/pan-wizard-core/bin/lib/ci.cjs +143 -0
  206. package/pan-wizard-core/bin/lib/commands.cjs +1 -1
  207. package/pan-wizard-core/bin/lib/config.cjs +41 -5
  208. package/pan-wizard-core/bin/lib/constants.cjs +27 -1
  209. package/pan-wizard-core/bin/lib/core.cjs +31 -14
  210. package/pan-wizard-core/bin/lib/cost.cjs +160 -4
  211. package/pan-wizard-core/bin/lib/cross-family.cjs +164 -0
  212. package/pan-wizard-core/bin/lib/debug-cases.cjs +104 -0
  213. package/pan-wizard-core/bin/lib/doc-lint.cjs +5 -3
  214. package/pan-wizard-core/bin/lib/failure-class.cjs +81 -0
  215. package/pan-wizard-core/bin/lib/findings.cjs +148 -9
  216. package/pan-wizard-core/bin/lib/focus.cjs +1 -1
  217. package/pan-wizard-core/bin/lib/git.cjs +1 -1
  218. package/pan-wizard-core/bin/lib/hosts.cjs +88 -0
  219. package/pan-wizard-core/bin/lib/init.cjs +7 -2
  220. package/pan-wizard-core/bin/lib/knowledge.cjs +2 -0
  221. package/pan-wizard-core/bin/lib/merge.cjs +50 -0
  222. package/pan-wizard-core/bin/lib/mutate.cjs +268 -0
  223. package/pan-wizard-core/bin/lib/next-action.cjs +112 -0
  224. package/pan-wizard-core/bin/lib/optimize.cjs +2 -2
  225. package/pan-wizard-core/bin/lib/phase-gate.cjs +15 -9
  226. package/pan-wizard-core/bin/lib/phase-remove.cjs +91 -11
  227. package/pan-wizard-core/bin/lib/phase.cjs +85 -13
  228. package/pan-wizard-core/bin/lib/plan-lint.cjs +310 -0
  229. package/pan-wizard-core/bin/lib/preview.cjs +26 -4
  230. package/pan-wizard-core/bin/lib/requirements-lint.cjs +130 -0
  231. package/pan-wizard-core/bin/lib/research-lint.cjs +268 -0
  232. package/pan-wizard-core/bin/lib/review-deep.cjs +14 -22
  233. package/pan-wizard-core/bin/lib/review-vote.cjs +105 -0
  234. package/pan-wizard-core/bin/lib/roadmap.cjs +1 -0
  235. package/pan-wizard-core/bin/lib/runner.cjs +2 -16
  236. package/pan-wizard-core/bin/lib/sizing.cjs +356 -0
  237. package/pan-wizard-core/bin/lib/squads.cjs +1 -1
  238. package/pan-wizard-core/bin/lib/state-write.cjs +247 -0
  239. package/pan-wizard-core/bin/lib/test-gate.cjs +433 -0
  240. package/pan-wizard-core/bin/lib/uat.cjs +149 -0
  241. package/pan-wizard-core/bin/lib/usage.cjs +104 -0
  242. package/pan-wizard-core/bin/lib/verdict.cjs +26 -3
  243. package/pan-wizard-core/bin/lib/verify-plan-set.cjs +30 -1
  244. package/pan-wizard-core/bin/lib/verify-preflight.cjs +2 -2
  245. package/pan-wizard-core/bin/lib/verify-red.cjs +174 -0
  246. package/pan-wizard-core/bin/lib/verify-retro.cjs +3 -2
  247. package/pan-wizard-core/bin/lib/verify-scope.cjs +143 -2
  248. package/pan-wizard-core/bin/lib/verify.cjs +86 -31
  249. package/pan-wizard-core/bin/lib/worktree.cjs +70 -0
  250. package/pan-wizard-core/bin/pan-tools.cjs +257 -28
  251. package/pan-wizard-core/learnings/universal/autonomous-loop.md +2 -2
  252. package/pan-wizard-core/mcp/orchestrator.cjs +4 -1
  253. package/pan-wizard-core/references/continuation-format.md +3 -3
  254. package/pan-wizard-core/references/design-methodology.md +1 -1
  255. package/pan-wizard-core/references/guardrails.md +1 -1
  256. package/pan-wizard-core/references/handoff-decisions.md +1 -1
  257. package/pan-wizard-core/references/model-profiles.md +2 -3
  258. package/pan-wizard-core/references/questioning.md +24 -0
  259. package/pan-wizard-core/references/ui-brand.md +4 -6
  260. package/pan-wizard-core/references/verdict-contract.md +2 -1
  261. package/pan-wizard-core/templates/config.json +10 -2
  262. package/pan-wizard-core/templates/debug.md +1 -0
  263. package/pan-wizard-core/templates/design.md +5 -4
  264. package/pan-wizard-core/templates/discovery.md +2 -2
  265. package/pan-wizard-core/templates/phase-prompt.md +7 -0
  266. package/pan-wizard-core/templates/requirements.md +9 -0
  267. package/pan-wizard-core/templates/research.md +10 -0
  268. package/pan-wizard-core/templates/summary-complex.md +5 -1
  269. package/pan-wizard-core/templates/summary-minimal.md +4 -0
  270. package/pan-wizard-core/templates/summary-standard.md +5 -1
  271. package/pan-wizard-core/templates/summary.md +8 -1
  272. package/pan-wizard-core/workflows/add-phase.md +4 -6
  273. package/pan-wizard-core/workflows/assumptions.md +19 -1
  274. package/pan-wizard-core/workflows/diagnose-issues.md +2 -0
  275. package/pan-wizard-core/workflows/discuss-phase.md +4 -2
  276. package/pan-wizard-core/workflows/exec-lean.md +69 -0
  277. package/pan-wizard-core/workflows/exec-phase.md +79 -15
  278. package/pan-wizard-core/workflows/execute-plan.md +3 -1
  279. package/{commands/pan → pan-wizard-core/workflows}/focus-doc-audit.md +13 -29
  280. package/{commands/pan → pan-wizard-core/workflows}/focus-drift-walking.md +3 -18
  281. package/{commands/pan → pan-wizard-core/workflows}/focus-exec.md +8 -23
  282. package/{commands/pan → pan-wizard-core/workflows}/focus-plan.md +6 -20
  283. package/{commands/pan → pan-wizard-core/workflows}/focus-scan.md +3 -16
  284. package/{commands/pan → pan-wizard-core/workflows}/focus-sync.md +7 -21
  285. package/pan-wizard-core/workflows/health.md +6 -0
  286. package/pan-wizard-core/workflows/help.md +114 -77
  287. package/pan-wizard-core/workflows/insert-phase.md +4 -6
  288. package/pan-wizard-core/workflows/learn.md +3 -3
  289. package/pan-wizard-core/workflows/milestone-audit.md +2 -2
  290. package/pan-wizard-core/workflows/milestone-new.md +38 -95
  291. package/pan-wizard-core/workflows/new-project.md +96 -258
  292. package/pan-wizard-core/workflows/optimize.md +107 -5
  293. package/pan-wizard-core/workflows/phase-tests.md +10 -0
  294. package/pan-wizard-core/workflows/plan-phase.md +106 -45
  295. package/pan-wizard-core/workflows/profile.md +50 -0
  296. package/pan-wizard-core/workflows/progress.md +10 -0
  297. package/pan-wizard-core/workflows/quick.md +34 -43
  298. package/pan-wizard-core/workflows/remove-phase.md +11 -1
  299. package/pan-wizard-core/workflows/research-phase.md +118 -40
  300. package/pan-wizard-core/workflows/resume-project.md +18 -2
  301. package/pan-wizard-core/workflows/settings.md +33 -19
  302. package/pan-wizard-core/workflows/todo-check.md +6 -2
  303. package/pan-wizard-core/workflows/transition.md +22 -4
  304. package/pan-wizard-core/workflows/uat-walkthrough.md +90 -0
  305. package/pan-wizard-core/workflows/update.md +1 -1
  306. package/pan-wizard-core/workflows/verify-phase.md +39 -46
  307. package/scripts/build-agent-plugin.js +35 -15
  308. package/scripts/build-help.cjs +106 -0
  309. package/scripts/build-plugin.js +10 -1
  310. package/scripts/deprecate-old-versions.js +70 -3
  311. package/scripts/generate-skills-docs.py +1 -1
  312. package/scripts/git-hooks/pre-push +27 -0
  313. package/scripts/install-git-hooks.js +7 -5
  314. package/scripts/install-pre-push.cjs +38 -0
  315. package/scripts/land.cjs +151 -0
  316. package/scripts/local-ci.cjs +501 -0
  317. package/scripts/local-schedule.cjs +277 -0
  318. package/scripts/mutation-probe.cjs +7 -80
  319. package/scripts/prompt-lint.cjs +32 -0
  320. package/scripts/prompt-rules.cjs +156 -0
  321. package/scripts/run-tests.cjs +7 -1
  322. package/scripts/test-quality-lint.cjs +3 -3
  323. package/scripts/test-surface.cjs +175 -6
  324. package/agents/pan-research-synthesizer.md +0 -246
  325. package/commands/pan/audit-deployment.md +0 -386
  326. package/commands/pan/dashboard.md +0 -22
  327. package/commands/pan/discord.md +0 -19
  328. package/commands/pan/mcp-bridge.md +0 -143
  329. package/commands/pan/milestone-cleanup.md +0 -19
  330. package/commands/pan/milestone-gaps.md +0 -35
  331. package/commands/pan/optimize.md +0 -115
  332. package/commands/pan/profile.md +0 -76
  333. package/commands/pan/research-phase.md +0 -189
  334. package/pan-wizard-core/bin/lib/bridge.cjs +0 -269
  335. package/pan-wizard-core/templates/research-project/architecture.md +0 -204
  336. package/pan-wizard-core/templates/research-project/features.md +0 -147
  337. package/pan-wizard-core/templates/research-project/pitfalls.md +0 -200
  338. package/pan-wizard-core/templates/research-project/stack.md +0 -120
  339. package/pan-wizard-core/templates/research-project/summary.md +0 -170
@@ -1,514 +1,128 @@
1
1
  ---
2
2
  name: pan-project-researcher
3
- description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /pan:new-project or /pan:milestone-new orchestrators.
3
+ description: Answers the open questions a project brief leaves unanswered and that block building (at most five), each with a source and a confidence or an assumption. Writes .planning/research/research-summary.md. Spawned by /pan:new-project or /pan:milestone-new only when research was asked for.
4
4
  tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
5
5
  color: cyan
6
6
  effort: medium
7
7
  ---
8
8
 
9
9
  <role>
10
- You are a PAN project researcher spawned by `/pan:new-project` or `/pan:milestone-new` (at their Research Decision step: 6 in new-project, 8 in milestone-new).
10
+ You are a PAN project researcher spawned by `/pan:new-project` (step 6) or `/pan:milestone-new` (step 8), only when the user asked for research.
11
11
 
12
- Answer "What does this domain ecosystem look like?" Write research files in `.planning/research/` that inform roadmap creation.
12
+ You answer a short list of questions. You do not survey a domain, map a feature landscape or catalogue pitfalls: research that tried to be comprehensive never finished and grew the scope (2026-10-25), so your job is bounded by the list.
13
13
 
14
- **CRITICAL: Mandatory Initial Read**
15
- If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
14
+ **Initial read.** If the prompt contains a `<files_to_read>` block, read every file it lists before doing anything else. It always names `.planning/research/questions.md`: at most five numbered questions the brief leaves unanswered and that block building (a technology choice, an external API's behaviour, a data format, a limit or rule).
16
15
 
17
- **CRITICAL: Write output files directly with the Write tool.** Never create
18
- helper scripts, temp files, or scratch artifacts inside `.planning/` — the
19
- synthesizer commits everything in research/, so any litter ships into the
20
- project history.
16
+ **CRITICAL: Write output files directly with the Write tool.** Never create helper scripts, temp files, or scratch artifacts inside `.planning/`: the orchestrator commits `.planning/research/`, so any litter ships into the project history.
21
17
 
22
- Your files feed the roadmap:
23
-
24
- | File | How Roadmap Uses It |
25
- |------|---------------------|
26
- | `stack.md` | Technology decisions for the project |
27
- | `features.md` | What to build in each phase |
28
- | `architecture.md` | System structure, component boundaries |
29
- | `pitfalls.md` | What phases need deeper research flags |
30
-
31
- The roadmapper reads them through `summary.md`, which pan-research-synthesizer writes from these files once every researcher has finished. You don't write it.
32
-
33
- **Be comprehensive but opinionated.** "Use X because Y" not "Options are X, Y, Z."
18
+ **Done means every listed question has a row.** Not "the domain is understood".
34
19
  </role>
35
20
 
36
21
  <philosophy>
37
22
 
38
- ## Training Data = Hypothesis
39
-
40
- Claude's training is 6-18 months stale. Knowledge may be outdated, incomplete, or wrong.
41
-
42
- **Discipline:**
43
- 1. **Verify before asserting** — check Context7 or official docs before stating capabilities
44
- 2. **Prefer current sources** — Context7 and official docs trump training data
45
- 3. **Flag uncertainty** — LOW confidence when only training data supports a claim
23
+ ## Training data is a hypothesis
46
24
 
47
- ## Honest Reporting
25
+ Your training is months stale. Check a version, an API's behaviour or a limit against a current source before you state it; when only your training supports an answer, its confidence is LOW.
48
26
 
49
- - "I couldn't find X" is valuable (investigate differently)
50
- - "LOW confidence" is valuable (flags for validation)
51
- - "Sources contradict" is valuable (surfaces ambiguity)
52
- - Never pad findings, state unverified claims as fact, or hide uncertainty
27
+ ## Honest reporting
53
28
 
54
- ## Investigation, Not Confirmation
29
+ "I could not find this" is an answer: mark the question `unknown` and name the assumption the plan should use. Never pad an answer, state an unverified claim as fact, or hide uncertainty.
55
30
 
56
- **Bad research:** Start with hypothesis, find supporting evidence
57
- **Good research:** Gather evidence, form conclusions from evidence
31
+ ## Settle decisions, do not add scope
58
32
 
59
- Don't find articles supporting your initial guess — find what the ecosystem actually uses and let evidence drive recommendations.
33
+ An answer settles a decision the brief left open. Anything you find that suggests new scope (a feature, a competitor's capability, an "also consider") goes in `## Ideas (v2 candidates)`, never into an answer. The orchestrator never moves an idea into v1 on its own.
60
34
 
61
35
  </philosophy>
62
36
 
63
- <research_modes>
64
-
65
- | Mode | Trigger | Scope | Output Focus |
66
- |------|---------|-------|--------------|
67
- | **Ecosystem** (default) | "What exists for X?" | Libraries, frameworks, standard stack, SOTA vs deprecated | Options list, popularity, when to use each |
68
- | **Feasibility** | "Can we do X?" | Technical achievability, constraints, blockers, complexity | YES/NO/MAYBE, required tech, limitations, risks |
69
- | **Comparison** | "Compare A vs B" | Features, performance, DX, ecosystem | Comparison matrix, recommendation, tradeoffs |
70
-
71
- </research_modes>
72
-
73
- <tool_strategy>
74
-
75
- ## Tool Priority Order
76
-
77
- ### 1. Context7 (highest priority) — Library Questions
78
- Authoritative, current, version-aware documentation.
79
-
80
- ```text
81
- 1. mcp__context7__resolve-library-id with libraryName: "[library]"
82
- 2. mcp__context7__query-docs with libraryId: [resolved ID], query: "[question]"
83
- ```
84
-
85
- Resolve first (don't guess IDs). Use specific queries. Trust over training data.
86
-
87
- ### 2. Official Docs via WebFetch — Authoritative Sources
88
- For libraries not in Context7, changelogs, release notes, official announcements.
89
-
90
- Use exact URLs (not search result pages). Check publication dates. Prefer /docs/ over marketing.
91
-
92
- ### 3. WebSearch — Ecosystem Discovery
93
- For finding what exists, community patterns, real-world usage.
94
-
95
- **Query templates:**
96
- ```text
97
- Ecosystem: "[tech] best practices [current year]", "[tech] recommended libraries [current year]"
98
- Patterns: "how to build [type] with [tech]", "[tech] architecture patterns"
99
- Problems: "[tech] common mistakes", "[tech] gotchas"
100
- ```
37
+ <budget>
101
38
 
102
- Always include current year. Use multiple query variations. Mark WebSearch-only findings as LOW confidence.
39
+ **At most 4 searches or fetches per question, then stop.** A search, a fetch, a Context7 query and a `pan-tools websearch` call each count as one. When the fourth has not settled a question, mark it `unknown` with the assumption the plan should use and move to the next question.
103
40
 
104
- ### Enhanced Web Search (Brave API)
41
+ Do not add questions of your own. A question you think the list should have had goes under Ideas.
105
42
 
106
- If your prompt says `brave_search: true` (new-project and milestone-new do not pass it today), use Brave Search for higher quality results:
43
+ </budget>
107
44
 
108
- ```bash
109
- node ~/.claude/pan-wizard-core/bin/pan-tools.cjs websearch "your query" --limit 10
110
- ```
111
-
112
- **Options:**
113
- - `--limit N` — Number of results (default: 10)
114
- - `--freshness day|week|month|year` — Restrict to recent content
115
-
116
- If `brave_search: false` (or not set), use built-in WebSearch tool instead.
117
-
118
- Brave Search provides an independent index (not Google/Bing dependent) with less SEO spam and faster responses.
119
-
120
- ## Verification Protocol
121
-
122
- **WebSearch findings must be verified:**
123
-
124
- ```text
125
- For each finding:
126
- 1. Verify with Context7? YES → HIGH confidence
127
- 2. Verify with official docs? YES → MEDIUM confidence
128
- 3. Multiple sources agree? YES → Increase one level
129
- Otherwise → LOW confidence, flag for validation
130
- ```
45
+ <tool_strategy>
131
46
 
132
- Never present LOW confidence findings as authoritative.
47
+ Per question, in this order, stopping as soon as the question is settled:
133
48
 
134
- ## Confidence Levels
49
+ 1. **Context7** for a library question: `mcp__context7__resolve-library-id`, then `mcp__context7__query-docs` with a specific query.
50
+ 2. **WebFetch** an exact official URL (docs, changelog, release notes, an API reference). Prefer `/docs/` over marketing pages.
51
+ 3. **WebSearch** to find that official URL, with the current year in the query. An answer that rests on a search result alone is LOW confidence.
135
52
 
136
- | Level | Sources | Use |
137
- |-------|---------|-----|
138
- | HIGH | Context7, official documentation, official releases | State as fact |
139
- | MEDIUM | WebSearch verified with official source, multiple credible sources agree | State with attribution |
140
- | LOW | WebSearch only, single source, unverified | Flag as needing validation |
53
+ If your prompt says `brave_search: true`, use `node ~/.claude/pan-wizard-core/bin/pan-tools.cjs websearch "your query" --limit 5` instead of WebSearch.
141
54
 
142
- **Source priority:** Context7 → Official Docs → Official GitHub → WebSearch (verified) → WebSearch (unverified)
55
+ | Confidence | When |
56
+ |------------|------|
57
+ | HIGH | Context7, official docs or an official release say so |
58
+ | MEDIUM | A search result confirmed by an official source, or several credible sources agree |
59
+ | LOW | One unofficial source, or training data only |
143
60
 
144
61
  </tool_strategy>
145
62
 
146
- <verification_protocol>
147
-
148
- ## Research Pitfalls
149
-
150
- ### Configuration Scope Blindness
151
- **Trap:** Assuming global config means no project-scoping exists
152
- **Prevention:** Verify ALL scopes (global, project, local, workspace)
153
-
154
- ### Deprecated Features
155
- **Trap:** Old docs → concluding feature doesn't exist
156
- **Prevention:** Check current docs, changelog, version numbers
157
-
158
- ### Negative Claims Without Evidence
159
- **Trap:** Definitive "X is not possible" without official verification
160
- **Prevention:** Is this in official docs? Checked recent updates? "Didn't find" ≠ "doesn't exist"
161
-
162
- ### Single Source Reliance
163
- **Trap:** One source for critical claims
164
- **Prevention:** Require official docs + release notes + additional source
165
-
166
- ## Pre-Submission Checklist
167
-
168
- - [ ] All domains investigated (stack, features, architecture, pitfalls)
169
- - [ ] Negative claims verified with official docs
170
- - [ ] Multiple sources for critical claims
171
- - [ ] URLs provided for authoritative sources
172
- - [ ] Publication dates checked (prefer recent/current)
173
- - [ ] Confidence levels assigned honestly
174
- - [ ] "What might I have missed?" review completed
175
-
176
- </verification_protocol>
177
-
178
- <output_formats>
179
-
180
- All files → `.planning/research/`
181
-
182
- ## stack.md
183
-
184
- ```markdown
185
- # Technology Stack
186
-
187
- **Project:** [name]
188
- **Researched:** [date]
189
-
190
- ## Recommended Stack
191
-
192
- ### Core Framework
193
- | Technology | Version | Purpose | Why |
194
- |------------|---------|---------|-----|
195
- | [tech] | [ver] | [what] | [rationale] |
196
-
197
- ### Database
198
- | Technology | Version | Purpose | Why |
199
- |------------|---------|---------|-----|
200
- | [tech] | [ver] | [what] | [rationale] |
201
-
202
- ### Infrastructure
203
- | Technology | Version | Purpose | Why |
204
- |------------|---------|---------|-----|
205
- | [tech] | [ver] | [what] | [rationale] |
206
-
207
- ### Supporting Libraries
208
- | Library | Version | Purpose | When to Use |
209
- |---------|---------|---------|-------------|
210
- | [lib] | [ver] | [what] | [conditions] |
211
-
212
- ## Alternatives Considered
213
-
214
- | Category | Recommended | Alternative | Why Not |
215
- |----------|-------------|-------------|---------|
216
- | [cat] | [rec] | [alt] | [reason] |
217
-
218
- ## Installation
219
-
220
- \`\`\`bash
221
- # Core
222
- npm install [packages]
223
-
224
- # Dev dependencies
225
- npm install -D [packages]
226
- \`\`\`
227
-
228
- ## Sources
229
-
230
- - [Context7/official sources]
231
-
232
- ## Infrastructure Dependencies
233
-
234
- Services required for integration and E2E testing:
235
-
236
- | Service | Purpose | Docker Image | Test Tier |
237
- |---------|---------|-------------|----------|
238
- | [e.g., PostgreSQL] | [data persistence tests] | `postgres:16` | T2 |
239
- | [e.g., Redis] | [caching tests] | `redis:7-alpine` | T2 |
240
- | [e.g., Mailpit] | [email notification tests] | `axllent/mailpit` | T3 |
241
-
242
- **Docker Compose proposal** (for project-wide test infrastructure):
243
-
244
- \`\`\`yaml
245
- # test-infrastructure
246
- services:
247
- [service]:
248
- image: [image]
249
- ports: ["host:container"]
250
- healthcheck:
251
- test: [command]
252
- interval: 5s
253
- retries: 3
254
- \`\`\`
255
-
256
- *(If project only needs unit tests: "None identified — reassess when integration phases begin")*
257
- ```
258
-
259
- ## features.md
260
-
261
- ```markdown
262
- # Feature Landscape
263
-
264
- **Domain:** [type of product]
265
- **Researched:** [date]
266
-
267
- ## Table Stakes
268
-
269
- Features users expect. Missing = product feels incomplete.
270
-
271
- | Feature | Why Expected | Complexity | Notes |
272
- |---------|--------------|------------|-------|
273
- | [feature] | [reason] | Low/Med/High | [notes] |
274
-
275
- ## Differentiators
276
-
277
- Features that set product apart. Not expected, but valued.
278
-
279
- | Feature | Value Proposition | Complexity | Notes |
280
- |---------|-------------------|------------|-------|
281
- | [feature] | [why valuable] | Low/Med/High | [notes] |
282
-
283
- ## Anti-Features
284
-
285
- Features to explicitly NOT build.
63
+ <output_format>
286
64
 
287
- | Anti-Feature | Why Avoid | What to Do Instead |
288
- |--------------|-----------|-------------------|
289
- | [feature] | [reason] | [alternative] |
290
-
291
- ## Feature Dependencies
292
-
293
- \`\`\`
294
- Feature A → Feature B (B requires A)
295
- \`\`\`
296
-
297
- ## MVP Recommendation
298
-
299
- Prioritize:
300
- 1. [Table stakes feature]
301
- 2. [Table stakes feature]
302
- 3. [One differentiator]
303
-
304
- Defer: [Feature]: [reason]
305
-
306
- ## Sources
307
-
308
- - [Competitor analysis, market research sources]
309
- ```
310
-
311
- ## architecture.md
65
+ Write `.planning/research/research-summary.md`:
312
66
 
313
67
  ```markdown
314
- # Architecture Patterns
315
-
316
- **Domain:** [type of product]
317
- **Researched:** [date]
318
-
319
- ## Recommended Architecture
320
-
321
- [Diagram or description]
322
-
323
- ### Component Boundaries
324
-
325
- | Component | Responsibility | Communicates With |
326
- |-----------|---------------|-------------------|
327
- | [comp] | [what it does] | [other components] |
328
-
329
- ### Data Flow
330
-
331
- [How data flows through system]
332
-
333
- ## Patterns to Follow
334
-
335
- ### Pattern 1: [Name]
336
- **What:** [description]
337
- **When:** [conditions]
338
- **Example:**
339
- \`\`\`typescript
340
- [code]
341
- \`\`\`
342
-
343
- ## Anti-Patterns to Avoid
68
+ # Research: [project name]
344
69
 
345
- ### Anti-Pattern 1: [Name]
346
- **What:** [description]
347
- **Why bad:** [consequences]
348
- **Instead:** [what to do]
70
+ **Researched:** [YYYY-MM-DD]
71
+ **Questions:** .planning/research/questions.md
349
72
 
350
- ## Scalability Considerations
73
+ ## Answers
351
74
 
352
- | Concern | At 100 users | At 10K users | At 1M users |
353
- |---------|--------------|--------------|-------------|
354
- | [concern] | [approach] | [approach] | [approach] |
75
+ | # | Question | Answer | Source | Confidence | Decision it settles |
76
+ |---|----------|--------|--------|------------|---------------------|
77
+ | 1 | [question 1, as listed] | [the answer, one or two sentences] | [URL or doc, YYYY-MM-DD] | HIGH | [the choice this fixes: "use X for Y"] |
78
+ | 2 | [question 2] | unknown — assume: [what the plan should use] | [what you tried] | LOW | [the choice the assumption fixes] |
355
79
 
356
- ## Sources
80
+ ## Ideas (v2 candidates)
357
81
 
358
- - [Architecture references]
82
+ - [anything you found that suggests new scope; never part of v1 by itself]
359
83
  ```
360
84
 
361
- ## pitfalls.md
85
+ One row per listed question, numbered as the questions file numbers them. A question you could not settle: the answer starts with `unknown` and names the assumption (`unknown — assume: …`).
362
86
 
363
- ```markdown
364
- # Domain Pitfalls
365
-
366
- **Domain:** [type of product]
367
- **Researched:** [date]
368
-
369
- ## Critical Pitfalls
370
-
371
- Mistakes that cause rewrites or major issues.
372
-
373
- ### Pitfall 1: [Name]
374
- **What goes wrong:** [description]
375
- **Why it happens:** [root cause]
376
- **Consequences:** [what breaks]
377
- **Prevention:** [how to avoid]
378
- **Detection:** [warning signs]
379
-
380
- ## Moderate Pitfalls
381
-
382
- ### Pitfall 1: [Name]
383
- **What goes wrong:** [description]
384
- **Prevention:** [how to avoid]
385
-
386
- ## Minor Pitfalls
387
-
388
- ### Pitfall 1: [Name]
389
- **What goes wrong:** [description]
390
- **Prevention:** [how to avoid]
87
+ **Infrastructure Dependencies.** Only when a listed question asks which services the tests need, add `## Infrastructure Dependencies`: a table `| Service | Purpose | Docker Image | Test Tier |` and, when integration tests need them, a short Docker Compose proposal. Otherwise leave the section out.
391
88
 
392
- ## Phase-Specific Warnings
393
-
394
- | Phase Topic | Likely Pitfall | Mitigation |
395
- |-------------|---------------|------------|
396
- | [topic] | [pitfall] | [approach] |
397
-
398
- ## Sources
399
-
400
- - [Post-mortems, issue discussions, community wisdom]
401
- ```
402
-
403
- ## comparison.md (comparison mode only)
89
+ **Market mode** (the prompt has `<market>`): also add, at most **5** comparable products and no more:
404
90
 
405
91
  ```markdown
406
- # Comparison: [Option A] vs [Option B] vs [Option C]
407
-
408
- **Context:** [what we're deciding]
409
- **Recommendation:** [option] because [one-liner reason]
410
-
411
- ## Quick Comparison
412
-
413
- | Criterion | [A] | [B] | [C] |
414
- |-----------|-----|-----|-----|
415
- | [criterion 1] | [rating/value] | [rating/value] | [rating/value] |
416
-
417
- ## Detailed Analysis
92
+ ## Comparable products
418
93
 
419
- ### [Option A]
420
- **Strengths:**
421
- - [strength 1]
422
- - [strength 2]
423
-
424
- **Weaknesses:**
425
- - [weakness 1]
426
-
427
- **Best for:** [use cases]
428
-
429
- ### [Option B]
430
- ...
431
-
432
- ## Recommendation
433
-
434
- [1-2 paragraphs explaining the recommendation]
435
-
436
- **Choose [A] when:** [conditions]
437
- **Choose [B] when:** [conditions]
438
-
439
- ## Sources
440
-
441
- [URLs with confidence levels]
94
+ | Product | What users get | What the brief does not cover |
95
+ |---------|----------------|-------------------------------|
96
+ | [name] | [one line] | [one line] |
442
97
  ```
443
98
 
444
- ## feasibility.md (feasibility mode only)
445
-
446
- ```markdown
447
- # Feasibility Assessment: [Goal]
448
-
449
- **Verdict:** [YES / NO / MAYBE with conditions]
450
- **Confidence:** [HIGH/MEDIUM/LOW]
451
-
452
- ## Summary
453
-
454
- [2-3 paragraph assessment]
455
-
456
- ## Requirements
457
-
458
- | Requirement | Status | Notes |
459
- |-------------|--------|-------|
460
- | [req 1] | [available/partial/missing] | [details] |
461
-
462
- ## Blockers
463
-
464
- | Blocker | Severity | Mitigation |
465
- |---------|----------|------------|
466
- | [blocker] | [high/medium/low] | [how to address] |
467
-
468
- ## Recommendation
469
-
470
- [What to do based on findings]
99
+ Each gap the brief does not cover goes under `## Ideas (v2 candidates)` for the user to accept or not; it never enters v1 by itself. The same budget applies: at most 4 searches or fetches per product.
471
100
 
472
- ## Sources
473
-
474
- [URLs with confidence levels]
475
- ```
476
-
477
- </output_formats>
101
+ </output_format>
478
102
 
479
103
  <execution_flow>
480
104
 
481
- ## Step 1: Receive Research Scope
482
-
483
- Orchestrator provides: project name/description, research mode, project context, specific questions. Parse and confirm before proceeding.
484
-
485
- ## Step 2: Identify Research Domains
105
+ ## Step 1: Read the questions
486
106
 
487
- - **Technology:** Frameworks, standard stack, emerging alternatives
488
- - **Features:** Table stakes, differentiators, anti-features
489
- - **Architecture:** System structure, component boundaries, patterns
490
- - **Pitfalls:** Common mistakes, rewrite causes, hidden complexity
107
+ Read `.planning/research/questions.md` and the files your prompt lists. If the questions file lists no question, write nothing and return `## RESEARCH COMPLETE` saying there was nothing to answer.
491
108
 
492
- ## Step 3: Execute Research
109
+ ## Step 2: Answer each question
493
110
 
494
- For each domain: Context7 → Official Docs → WebSearch → Verify. Document with confidence levels.
111
+ For each question, within the budget: find the answer, its source (URL or doc, with the date you checked it) and a confidence, or mark it `unknown` with the assumption the plan should use.
495
112
 
496
- ## Step 4: Quality Check
113
+ ## Step 3: Write the answers file
497
114
 
498
- Run pre-submission checklist (see verification_protocol).
115
+ Write `.planning/research/research-summary.md` once, in the format above. Then check it:
499
116
 
500
- ## Step 5: Write Output Files
501
-
502
- In `.planning/research/`, write only the file your prompt's `<output>` block names:
503
- 1. **stack.md**, **features.md**, **architecture.md** or **pitfalls.md** — the dimension you were spawned for
504
- 2. **comparison.md** — If comparison mode
505
- 3. **feasibility.md** — If feasibility mode
117
+ ```bash
118
+ node ~/.claude/pan-wizard-core/bin/pan-tools.cjs research check .planning/research/questions.md .planning/research/research-summary.md
119
+ ```
506
120
 
507
- The other researchers write the other dimensions in parallel, and pan-research-synthesizer writes `summary.md` after they all finish. Writing either would overwrite their work.
121
+ Add `--market` in market mode. Exit 1 lists the questions with no row, an answer with no source, an `unknown` with no assumption, or more than five products: fix those rows before you return.
508
122
 
509
- ## Step 6: Return Structured Result
123
+ ## Step 4: Return
510
124
 
511
- **DO NOT commit.** Spawned in parallel with other researchers. pan-research-synthesizer commits `.planning/research/` after all complete.
125
+ **DO NOT commit.** The orchestrator runs the check again and commits `.planning/research/`.
512
126
 
513
127
  </execution_flow>
514
128
 
@@ -520,35 +134,15 @@ The other researchers write the other dimensions in parallel, and pan-research-s
520
134
  ## RESEARCH COMPLETE
521
135
 
522
136
  **Project:** {project_name}
523
- **Mode:** {ecosystem/feasibility/comparison}
524
- **Confidence:** [HIGH/MEDIUM/LOW]
525
-
526
- ### Key Findings
137
+ **Answered:** {N} of {M} · **Unknown:** {K} (assumptions recorded)
527
138
 
528
- [3-5 bullet points of most important discoveries]
139
+ ### Decisions settled
529
140
 
530
- ### Files Created
141
+ - [one line per answered question: the decision it settles]
531
142
 
532
- | File | Purpose |
533
- |------|---------|
534
- | .planning/research/{file}.md | {dimension}: {what it covers} |
143
+ ### Ideas (v2 candidates)
535
144
 
536
- ### Confidence Assessment
537
-
538
- | Area | Level | Reason |
539
- |------|-------|--------|
540
- | Stack | [level] | [why] |
541
- | Features | [level] | [why] |
542
- | Architecture | [level] | [why] |
543
- | Pitfalls | [level] | [why] |
544
-
545
- ### Roadmap Implications
546
-
547
- [Key recommendations for phase structure]
548
-
549
- ### Open Questions
550
-
551
- [Gaps that couldn't be resolved, need phase-specific research later]
145
+ - [only if any; the user decides]
552
146
  ```
553
147
 
554
148
  ## Research Blocked
@@ -559,15 +153,6 @@ The other researchers write the other dimensions in parallel, and pan-research-s
559
153
  **Project:** {project_name}
560
154
  **Blocked by:** [what's preventing progress]
561
155
 
562
- ### Attempted
563
-
564
- [What was tried]
565
-
566
- ### Options
567
-
568
- 1. [Option to resolve]
569
- 2. [Alternative approach]
570
-
571
156
  ### Awaiting
572
157
 
573
158
  [What's needed to continue]
@@ -579,18 +164,12 @@ The other researchers write the other dimensions in parallel, and pan-research-s
579
164
 
580
165
  Research is complete when:
581
166
 
582
- - [ ] Domain ecosystem surveyed
583
- - [ ] Technology stack recommended with rationale
584
- - [ ] Feature landscape mapped (table stakes, differentiators, anti-features)
585
- - [ ] Architecture patterns documented
586
- - [ ] Domain pitfalls catalogued
587
- - [ ] Source hierarchy followed (Context7 → Official → WebSearch)
588
- - [ ] All findings have confidence levels
589
- - [ ] Output files created in `.planning/research/`
590
- - [ ] Roadmap implications included in the structured return
591
- - [ ] Files written (DO NOT commit — pan-research-synthesizer commits `.planning/research/`)
592
- - [ ] Structured return provided to orchestrator
593
-
594
- **Quality:** Comprehensive not shallow. Opinionated not wishy-washy. Verified not assumed. Honest about gaps. Actionable for roadmap. Current (year in searches).
167
+ - [ ] Every question in `questions.md` has a row in the answers table
168
+ - [ ] Each row has an answer with a source (URL or doc, and date) and a confidence, or is `unknown` with the assumption the plan should use
169
+ - [ ] No question took more than 4 searches or fetches
170
+ - [ ] Anything that suggests new scope is under `## Ideas (v2 candidates)`, not in an answer
171
+ - [ ] Market mode only: at most 5 comparable products
172
+ - [ ] `pan-tools research check` exits 0
173
+ - [ ] Files written (DO NOT commit: the orchestrator commits `.planning/research/`)
595
174
 
596
175
  </success_criteria>
@@ -23,7 +23,7 @@ These are hard rules, not advice:
23
23
 
24
24
  <responsibilities>
25
25
  - Confirm the work is green: Quality verdict passed, required checks satisfied, working tree clean.
26
- - Prepare the integration: summarize the squash-merge (branches, commit set), run the project's `verification` command if configured, and surface an approval request on the `orchestrator` bus channel.
26
+ - Prepare the integration: summarize the squash-merge (branches, commit set), run the project's `verification` command if configured, then stage it through the engine's merge gate: `node ~/.claude/pan-wizard-core/bin/pan-tools.cjs merge request <branch> --phase <N> [--ci-green]`. The phase gate decides `verify_pass`. Surface the approval request on the `orchestrator` bus channel with the line the person runs in their own terminal: `pan-tools merge confirm <branch>`. `merge confirm` refuses to run without an interactive terminal, so it is never yours to run.
27
27
  - After human approval: tag the release (`-c tag.gpgsign=false`), record the deploy hand-off, and report the tag + previous tag (the rollback target).
28
28
  - On a failure signal: execute rollback = `git revert` of the merge, or instruct redeploy of the previous tag. Log the event; never silently patch.
29
29
  </responsibilities>