@jokerized/getresearchdone 0.4.1

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 (711) hide show
  1. package/.claude-plugin/plugin.json +103 -0
  2. package/README.md +211 -0
  3. package/agents/grd-baseline-assessor.md +684 -0
  4. package/agents/grd-code-reviewer.md +300 -0
  5. package/agents/grd-codebase-mapper.md +355 -0
  6. package/agents/grd-critique-agent.md +119 -0
  7. package/agents/grd-debugger.md +519 -0
  8. package/agents/grd-deep-diver.md +737 -0
  9. package/agents/grd-eval-planner.md +913 -0
  10. package/agents/grd-eval-reporter.md +717 -0
  11. package/agents/grd-executor.md +683 -0
  12. package/agents/grd-feasibility-analyst.md +624 -0
  13. package/agents/grd-integration-checker.md +367 -0
  14. package/agents/grd-knowledge-miner.md +81 -0
  15. package/agents/grd-migrator.md +88 -0
  16. package/agents/grd-phase-researcher.md +697 -0
  17. package/agents/grd-plan-checker.md +443 -0
  18. package/agents/grd-planner.md +1532 -0
  19. package/agents/grd-product-owner.md +562 -0
  20. package/agents/grd-project-researcher.md +513 -0
  21. package/agents/grd-research-synthesizer.md +273 -0
  22. package/agents/grd-roadmapper.md +798 -0
  23. package/agents/grd-surveyor.md +566 -0
  24. package/agents/grd-verifier.md +893 -0
  25. package/bin/gd.js +4 -0
  26. package/bin/gd.ts +227 -0
  27. package/bin/grd-manifest.js +4 -0
  28. package/bin/grd-manifest.ts +286 -0
  29. package/bin/grd-mcp-server.js +4 -0
  30. package/bin/grd-mcp-server.ts +124 -0
  31. package/bin/grd-tools.js +4 -0
  32. package/bin/grd-tools.ts +2471 -0
  33. package/bin/postinstall.js +4 -0
  34. package/bin/postinstall.ts +80 -0
  35. package/commands/add-phase.md +123 -0
  36. package/commands/add-todo.md +87 -0
  37. package/commands/assess-baseline.md +289 -0
  38. package/commands/autopilot.md +100 -0
  39. package/commands/autoplan.md +55 -0
  40. package/commands/check-todos.md +87 -0
  41. package/commands/compare-methods.md +262 -0
  42. package/commands/complete-milestone.md +225 -0
  43. package/commands/debug.md +372 -0
  44. package/commands/deep-dive.md +288 -0
  45. package/commands/discover.md +281 -0
  46. package/commands/discuss-phase.md +188 -0
  47. package/commands/discuss.md +55 -0
  48. package/commands/eval-report.md +310 -0
  49. package/commands/evolve.md +79 -0
  50. package/commands/execute-phase.md +1017 -0
  51. package/commands/feasibility.md +292 -0
  52. package/commands/help.md +407 -0
  53. package/commands/init.md +1508 -0
  54. package/commands/insert-phase.md +113 -0
  55. package/commands/iterate.md +327 -0
  56. package/commands/list-phase-assumptions.md +217 -0
  57. package/commands/long-term-roadmap.md +202 -0
  58. package/commands/map-codebase.md +111 -0
  59. package/commands/migrate.md +159 -0
  60. package/commands/new-milestone.md +169 -0
  61. package/commands/pause-work.md +83 -0
  62. package/commands/plan-milestone-gaps.md +373 -0
  63. package/commands/plan-phase.md +655 -0
  64. package/commands/principles.md +328 -0
  65. package/commands/product-plan.md +319 -0
  66. package/commands/progress.md +481 -0
  67. package/commands/quick.md +167 -0
  68. package/commands/reapply-patches.md +154 -0
  69. package/commands/remove-phase.md +97 -0
  70. package/commands/requirement.md +96 -0
  71. package/commands/resume-project.md +113 -0
  72. package/commands/settings.md +1144 -0
  73. package/commands/survey.md +242 -0
  74. package/commands/sync.md +246 -0
  75. package/commands/tracker-setup.md +322 -0
  76. package/commands/update.md +202 -0
  77. package/commands/verify-phase.md +335 -0
  78. package/commands/verify-work.md +701 -0
  79. package/commands/wireup.md +29 -0
  80. package/dist/bin/gd.d.ts +3 -0
  81. package/dist/bin/gd.d.ts.map +1 -0
  82. package/dist/bin/gd.js +178 -0
  83. package/dist/bin/gd.js.map +1 -0
  84. package/dist/bin/grd-manifest.d.ts +3 -0
  85. package/dist/bin/grd-manifest.d.ts.map +1 -0
  86. package/dist/bin/grd-manifest.js +202 -0
  87. package/dist/bin/grd-manifest.js.map +1 -0
  88. package/dist/bin/grd-mcp-server.d.ts +3 -0
  89. package/dist/bin/grd-mcp-server.d.ts.map +1 -0
  90. package/dist/bin/grd-mcp-server.js +71 -0
  91. package/dist/bin/grd-mcp-server.js.map +1 -0
  92. package/dist/bin/grd-tools.d.ts +3 -0
  93. package/dist/bin/grd-tools.d.ts.map +1 -0
  94. package/dist/bin/grd-tools.js +1680 -0
  95. package/dist/bin/grd-tools.js.map +1 -0
  96. package/dist/bin/postinstall.d.ts +3 -0
  97. package/dist/bin/postinstall.d.ts.map +1 -0
  98. package/dist/bin/postinstall.js +61 -0
  99. package/dist/bin/postinstall.js.map +1 -0
  100. package/dist/lib/autopilot-milestone.d.ts +2 -0
  101. package/dist/lib/autopilot-milestone.d.ts.map +1 -0
  102. package/dist/lib/autopilot-milestone.js +94 -0
  103. package/dist/lib/autopilot-milestone.js.map +1 -0
  104. package/dist/lib/autopilot-pipeline.d.ts +2 -0
  105. package/dist/lib/autopilot-pipeline.d.ts.map +1 -0
  106. package/dist/lib/autopilot-pipeline.js +830 -0
  107. package/dist/lib/autopilot-pipeline.js.map +1 -0
  108. package/dist/lib/autopilot-waves.d.ts +2 -0
  109. package/dist/lib/autopilot-waves.d.ts.map +1 -0
  110. package/dist/lib/autopilot-waves.js +266 -0
  111. package/dist/lib/autopilot-waves.js.map +1 -0
  112. package/dist/lib/autopilot.d.ts +2 -0
  113. package/dist/lib/autopilot.d.ts.map +1 -0
  114. package/dist/lib/autopilot.js +1314 -0
  115. package/dist/lib/autopilot.js.map +1 -0
  116. package/dist/lib/autoplan.d.ts +2 -0
  117. package/dist/lib/autoplan.d.ts.map +1 -0
  118. package/dist/lib/autoplan.js +198 -0
  119. package/dist/lib/autoplan.js.map +1 -0
  120. package/dist/lib/autoresearch.d.ts +2 -0
  121. package/dist/lib/autoresearch.d.ts.map +1 -0
  122. package/dist/lib/autoresearch.js +626 -0
  123. package/dist/lib/autoresearch.js.map +1 -0
  124. package/dist/lib/backend.d.ts +2 -0
  125. package/dist/lib/backend.d.ts.map +1 -0
  126. package/dist/lib/backend.js +1036 -0
  127. package/dist/lib/backend.js.map +1 -0
  128. package/dist/lib/benchmark.d.ts +99 -0
  129. package/dist/lib/benchmark.d.ts.map +1 -0
  130. package/dist/lib/benchmark.js +278 -0
  131. package/dist/lib/benchmark.js.map +1 -0
  132. package/dist/lib/citations.d.ts +2 -0
  133. package/dist/lib/citations.d.ts.map +1 -0
  134. package/dist/lib/citations.js +642 -0
  135. package/dist/lib/citations.js.map +1 -0
  136. package/dist/lib/cleanup.d.ts +2 -0
  137. package/dist/lib/cleanup.d.ts.map +1 -0
  138. package/dist/lib/cleanup.js +1222 -0
  139. package/dist/lib/cleanup.js.map +1 -0
  140. package/dist/lib/cli/adapters.d.ts +10 -0
  141. package/dist/lib/cli/adapters.d.ts.map +1 -0
  142. package/dist/lib/cli/adapters.js +27 -0
  143. package/dist/lib/cli/adapters.js.map +1 -0
  144. package/dist/lib/cli/agent.d.ts +17 -0
  145. package/dist/lib/cli/agent.d.ts.map +1 -0
  146. package/dist/lib/cli/agent.js +53 -0
  147. package/dist/lib/cli/agent.js.map +1 -0
  148. package/dist/lib/cli/index.d.ts +21 -0
  149. package/dist/lib/cli/index.d.ts.map +1 -0
  150. package/dist/lib/cli/index.js +264 -0
  151. package/dist/lib/cli/index.js.map +1 -0
  152. package/dist/lib/cli/output.d.ts +20 -0
  153. package/dist/lib/cli/output.d.ts.map +1 -0
  154. package/dist/lib/cli/output.js +22 -0
  155. package/dist/lib/cli/output.js.map +1 -0
  156. package/dist/lib/cli/scan-dispatch.d.ts +9 -0
  157. package/dist/lib/cli/scan-dispatch.d.ts.map +1 -0
  158. package/dist/lib/cli/scan-dispatch.js +107 -0
  159. package/dist/lib/cli/scan-dispatch.js.map +1 -0
  160. package/dist/lib/cli/tools.d.ts +16 -0
  161. package/dist/lib/cli/tools.d.ts.map +1 -0
  162. package/dist/lib/cli/tools.js +168 -0
  163. package/dist/lib/cli/tools.js.map +1 -0
  164. package/dist/lib/commands/_dashboard-parsers.d.ts +2 -0
  165. package/dist/lib/commands/_dashboard-parsers.d.ts.map +1 -0
  166. package/dist/lib/commands/_dashboard-parsers.js +192 -0
  167. package/dist/lib/commands/_dashboard-parsers.js.map +1 -0
  168. package/dist/lib/commands/analysis.d.ts +2 -0
  169. package/dist/lib/commands/analysis.d.ts.map +1 -0
  170. package/dist/lib/commands/analysis.js +1418 -0
  171. package/dist/lib/commands/analysis.js.map +1 -0
  172. package/dist/lib/commands/assumptions.d.ts +2 -0
  173. package/dist/lib/commands/assumptions.d.ts.map +1 -0
  174. package/dist/lib/commands/assumptions.js +166 -0
  175. package/dist/lib/commands/assumptions.js.map +1 -0
  176. package/dist/lib/commands/blame.d.ts +2 -0
  177. package/dist/lib/commands/blame.d.ts.map +1 -0
  178. package/dist/lib/commands/blame.js +133 -0
  179. package/dist/lib/commands/blame.js.map +1 -0
  180. package/dist/lib/commands/budget.d.ts +2 -0
  181. package/dist/lib/commands/budget.d.ts.map +1 -0
  182. package/dist/lib/commands/budget.js +100 -0
  183. package/dist/lib/commands/budget.js.map +1 -0
  184. package/dist/lib/commands/check-plans.d.ts +2 -0
  185. package/dist/lib/commands/check-plans.d.ts.map +1 -0
  186. package/dist/lib/commands/check-plans.js +190 -0
  187. package/dist/lib/commands/check-plans.js.map +1 -0
  188. package/dist/lib/commands/config.d.ts +2 -0
  189. package/dist/lib/commands/config.d.ts.map +1 -0
  190. package/dist/lib/commands/config.js +188 -0
  191. package/dist/lib/commands/config.js.map +1 -0
  192. package/dist/lib/commands/dashboard.d.ts +2 -0
  193. package/dist/lib/commands/dashboard.d.ts.map +1 -0
  194. package/dist/lib/commands/dashboard.js +466 -0
  195. package/dist/lib/commands/dashboard.js.map +1 -0
  196. package/dist/lib/commands/estimate.d.ts +2 -0
  197. package/dist/lib/commands/estimate.d.ts.map +1 -0
  198. package/dist/lib/commands/estimate.js +148 -0
  199. package/dist/lib/commands/estimate.js.map +1 -0
  200. package/dist/lib/commands/eval-diff.d.ts +2 -0
  201. package/dist/lib/commands/eval-diff.d.ts.map +1 -0
  202. package/dist/lib/commands/eval-diff.js +213 -0
  203. package/dist/lib/commands/eval-diff.js.map +1 -0
  204. package/dist/lib/commands/freshness.d.ts +2 -0
  205. package/dist/lib/commands/freshness.d.ts.map +1 -0
  206. package/dist/lib/commands/freshness.js +163 -0
  207. package/dist/lib/commands/freshness.js.map +1 -0
  208. package/dist/lib/commands/health.d.ts +2 -0
  209. package/dist/lib/commands/health.d.ts.map +1 -0
  210. package/dist/lib/commands/health.js +435 -0
  211. package/dist/lib/commands/health.js.map +1 -0
  212. package/dist/lib/commands/index.d.ts +2 -0
  213. package/dist/lib/commands/index.d.ts.map +1 -0
  214. package/dist/lib/commands/index.js +128 -0
  215. package/dist/lib/commands/index.js.map +1 -0
  216. package/dist/lib/commands/install.d.ts +56 -0
  217. package/dist/lib/commands/install.d.ts.map +1 -0
  218. package/dist/lib/commands/install.js +214 -0
  219. package/dist/lib/commands/install.js.map +1 -0
  220. package/dist/lib/commands/knowhow-aggregator.d.ts +2 -0
  221. package/dist/lib/commands/knowhow-aggregator.d.ts.map +1 -0
  222. package/dist/lib/commands/knowhow-aggregator.js +279 -0
  223. package/dist/lib/commands/knowhow-aggregator.js.map +1 -0
  224. package/dist/lib/commands/knowledge-search.d.ts +2 -0
  225. package/dist/lib/commands/knowledge-search.d.ts.map +1 -0
  226. package/dist/lib/commands/knowledge-search.js +113 -0
  227. package/dist/lib/commands/knowledge-search.js.map +1 -0
  228. package/dist/lib/commands/long-term-roadmap.d.ts +2 -0
  229. package/dist/lib/commands/long-term-roadmap.d.ts.map +1 -0
  230. package/dist/lib/commands/long-term-roadmap.js +272 -0
  231. package/dist/lib/commands/long-term-roadmap.js.map +1 -0
  232. package/dist/lib/commands/patterns.d.ts +91 -0
  233. package/dist/lib/commands/patterns.d.ts.map +1 -0
  234. package/dist/lib/commands/patterns.js +391 -0
  235. package/dist/lib/commands/patterns.js.map +1 -0
  236. package/dist/lib/commands/phase-info.d.ts +2 -0
  237. package/dist/lib/commands/phase-info.d.ts.map +1 -0
  238. package/dist/lib/commands/phase-info.js +509 -0
  239. package/dist/lib/commands/phase-info.js.map +1 -0
  240. package/dist/lib/commands/plan-lint.d.ts +56 -0
  241. package/dist/lib/commands/plan-lint.d.ts.map +1 -0
  242. package/dist/lib/commands/plan-lint.js +481 -0
  243. package/dist/lib/commands/plan-lint.js.map +1 -0
  244. package/dist/lib/commands/plan-phase.d.ts +53 -0
  245. package/dist/lib/commands/plan-phase.d.ts.map +1 -0
  246. package/dist/lib/commands/plan-phase.js +288 -0
  247. package/dist/lib/commands/plan-phase.js.map +1 -0
  248. package/dist/lib/commands/progress.d.ts +2 -0
  249. package/dist/lib/commands/progress.d.ts.map +1 -0
  250. package/dist/lib/commands/progress.js +266 -0
  251. package/dist/lib/commands/progress.js.map +1 -0
  252. package/dist/lib/commands/quality.d.ts +2 -0
  253. package/dist/lib/commands/quality.d.ts.map +1 -0
  254. package/dist/lib/commands/quality.js +80 -0
  255. package/dist/lib/commands/quality.js.map +1 -0
  256. package/dist/lib/commands/rollback.d.ts +2 -0
  257. package/dist/lib/commands/rollback.d.ts.map +1 -0
  258. package/dist/lib/commands/rollback.js +145 -0
  259. package/dist/lib/commands/rollback.js.map +1 -0
  260. package/dist/lib/commands/scan.d.ts +25 -0
  261. package/dist/lib/commands/scan.d.ts.map +1 -0
  262. package/dist/lib/commands/scan.js +28 -0
  263. package/dist/lib/commands/scan.js.map +1 -0
  264. package/dist/lib/commands/search.d.ts +2 -0
  265. package/dist/lib/commands/search.d.ts.map +1 -0
  266. package/dist/lib/commands/search.js +212 -0
  267. package/dist/lib/commands/search.js.map +1 -0
  268. package/dist/lib/commands/select-candidate.d.ts +128 -0
  269. package/dist/lib/commands/select-candidate.d.ts.map +1 -0
  270. package/dist/lib/commands/select-candidate.js +518 -0
  271. package/dist/lib/commands/select-candidate.js.map +1 -0
  272. package/dist/lib/commands/singularity.d.ts +2 -0
  273. package/dist/lib/commands/singularity.d.ts.map +1 -0
  274. package/dist/lib/commands/singularity.js +185 -0
  275. package/dist/lib/commands/singularity.js.map +1 -0
  276. package/dist/lib/commands/slug-timestamp.d.ts +2 -0
  277. package/dist/lib/commands/slug-timestamp.d.ts.map +1 -0
  278. package/dist/lib/commands/slug-timestamp.js +54 -0
  279. package/dist/lib/commands/slug-timestamp.js.map +1 -0
  280. package/dist/lib/commands/tail.d.ts +2 -0
  281. package/dist/lib/commands/tail.d.ts.map +1 -0
  282. package/dist/lib/commands/tail.js +100 -0
  283. package/dist/lib/commands/tail.js.map +1 -0
  284. package/dist/lib/commands/todo.d.ts +2 -0
  285. package/dist/lib/commands/todo.d.ts.map +1 -0
  286. package/dist/lib/commands/todo.js +200 -0
  287. package/dist/lib/commands/todo.js.map +1 -0
  288. package/dist/lib/commands/watch.d.ts +2 -0
  289. package/dist/lib/commands/watch.d.ts.map +1 -0
  290. package/dist/lib/commands/watch.js +72 -0
  291. package/dist/lib/commands/watch.js.map +1 -0
  292. package/dist/lib/complexity.d.ts +55 -0
  293. package/dist/lib/complexity.d.ts.map +1 -0
  294. package/dist/lib/complexity.js +80 -0
  295. package/dist/lib/complexity.js.map +1 -0
  296. package/dist/lib/context/agents.d.ts +2 -0
  297. package/dist/lib/context/agents.d.ts.map +1 -0
  298. package/dist/lib/context/agents.js +344 -0
  299. package/dist/lib/context/agents.js.map +1 -0
  300. package/dist/lib/context/base.d.ts +2 -0
  301. package/dist/lib/context/base.d.ts.map +1 -0
  302. package/dist/lib/context/base.js +81 -0
  303. package/dist/lib/context/base.js.map +1 -0
  304. package/dist/lib/context/execute.d.ts +2 -0
  305. package/dist/lib/context/execute.d.ts.map +1 -0
  306. package/dist/lib/context/execute.js +753 -0
  307. package/dist/lib/context/execute.js.map +1 -0
  308. package/dist/lib/context/index.d.ts +2 -0
  309. package/dist/lib/context/index.d.ts.map +1 -0
  310. package/dist/lib/context/index.js +88 -0
  311. package/dist/lib/context/index.js.map +1 -0
  312. package/dist/lib/context/progress.d.ts +2 -0
  313. package/dist/lib/context/progress.d.ts.map +1 -0
  314. package/dist/lib/context/progress.js +178 -0
  315. package/dist/lib/context/progress.js.map +1 -0
  316. package/dist/lib/context/project.d.ts +2 -0
  317. package/dist/lib/context/project.d.ts.map +1 -0
  318. package/dist/lib/context/project.js +413 -0
  319. package/dist/lib/context/project.js.map +1 -0
  320. package/dist/lib/context/research.d.ts +2 -0
  321. package/dist/lib/context/research.d.ts.map +1 -0
  322. package/dist/lib/context/research.js +466 -0
  323. package/dist/lib/context/research.js.map +1 -0
  324. package/dist/lib/dead-ends.d.ts +28 -0
  325. package/dist/lib/dead-ends.d.ts.map +1 -0
  326. package/dist/lib/dead-ends.js +451 -0
  327. package/dist/lib/dead-ends.js.map +1 -0
  328. package/dist/lib/deps.d.ts +2 -0
  329. package/dist/lib/deps.d.ts.map +1 -0
  330. package/dist/lib/deps.js +630 -0
  331. package/dist/lib/deps.js.map +1 -0
  332. package/dist/lib/discussion.d.ts +2 -0
  333. package/dist/lib/discussion.d.ts.map +1 -0
  334. package/dist/lib/discussion.js +1041 -0
  335. package/dist/lib/discussion.js.map +1 -0
  336. package/dist/lib/drift.d.ts +36 -0
  337. package/dist/lib/drift.d.ts.map +1 -0
  338. package/dist/lib/drift.js +481 -0
  339. package/dist/lib/drift.js.map +1 -0
  340. package/dist/lib/evolve/_dimensions-features.d.ts +2 -0
  341. package/dist/lib/evolve/_dimensions-features.d.ts.map +1 -0
  342. package/dist/lib/evolve/_dimensions-features.js +369 -0
  343. package/dist/lib/evolve/_dimensions-features.js.map +1 -0
  344. package/dist/lib/evolve/_dimensions.d.ts +2 -0
  345. package/dist/lib/evolve/_dimensions.d.ts.map +1 -0
  346. package/dist/lib/evolve/_dimensions.js +358 -0
  347. package/dist/lib/evolve/_dimensions.js.map +1 -0
  348. package/dist/lib/evolve/_product-ideation.d.ts +2 -0
  349. package/dist/lib/evolve/_product-ideation.d.ts.map +1 -0
  350. package/dist/lib/evolve/_product-ideation.js +281 -0
  351. package/dist/lib/evolve/_product-ideation.js.map +1 -0
  352. package/dist/lib/evolve/_prompts.d.ts +2 -0
  353. package/dist/lib/evolve/_prompts.d.ts.map +1 -0
  354. package/dist/lib/evolve/_prompts.js +153 -0
  355. package/dist/lib/evolve/_prompts.js.map +1 -0
  356. package/dist/lib/evolve/cli.d.ts +2 -0
  357. package/dist/lib/evolve/cli.d.ts.map +1 -0
  358. package/dist/lib/evolve/cli.js +224 -0
  359. package/dist/lib/evolve/cli.js.map +1 -0
  360. package/dist/lib/evolve/discovery.d.ts +2 -0
  361. package/dist/lib/evolve/discovery.d.ts.map +1 -0
  362. package/dist/lib/evolve/discovery.js +391 -0
  363. package/dist/lib/evolve/discovery.js.map +1 -0
  364. package/dist/lib/evolve/index.d.ts +2 -0
  365. package/dist/lib/evolve/index.d.ts.map +1 -0
  366. package/dist/lib/evolve/index.js +88 -0
  367. package/dist/lib/evolve/index.js.map +1 -0
  368. package/dist/lib/evolve/orchestrator.d.ts +2 -0
  369. package/dist/lib/evolve/orchestrator.d.ts.map +1 -0
  370. package/dist/lib/evolve/orchestrator.js +851 -0
  371. package/dist/lib/evolve/orchestrator.js.map +1 -0
  372. package/dist/lib/evolve/scoring.d.ts +2 -0
  373. package/dist/lib/evolve/scoring.d.ts.map +1 -0
  374. package/dist/lib/evolve/scoring.js +118 -0
  375. package/dist/lib/evolve/scoring.js.map +1 -0
  376. package/dist/lib/evolve/state.d.ts +2 -0
  377. package/dist/lib/evolve/state.d.ts.map +1 -0
  378. package/dist/lib/evolve/state.js +264 -0
  379. package/dist/lib/evolve/state.js.map +1 -0
  380. package/dist/lib/evolve/types.d.ts +249 -0
  381. package/dist/lib/evolve/types.d.ts.map +1 -0
  382. package/dist/lib/evolve/types.js +3 -0
  383. package/dist/lib/evolve/types.js.map +1 -0
  384. package/dist/lib/frontmatter.d.ts +2 -0
  385. package/dist/lib/frontmatter.d.ts.map +1 -0
  386. package/dist/lib/frontmatter.js +513 -0
  387. package/dist/lib/frontmatter.js.map +1 -0
  388. package/dist/lib/gates.d.ts +2 -0
  389. package/dist/lib/gates.d.ts.map +1 -0
  390. package/dist/lib/gates.js +578 -0
  391. package/dist/lib/gates.js.map +1 -0
  392. package/dist/lib/genome.d.ts +10 -0
  393. package/dist/lib/genome.d.ts.map +1 -0
  394. package/dist/lib/genome.js +368 -0
  395. package/dist/lib/genome.js.map +1 -0
  396. package/dist/lib/got.d.ts +2 -0
  397. package/dist/lib/got.d.ts.map +1 -0
  398. package/dist/lib/got.js +280 -0
  399. package/dist/lib/got.js.map +1 -0
  400. package/dist/lib/invariants.d.ts +2 -0
  401. package/dist/lib/invariants.d.ts.map +1 -0
  402. package/dist/lib/invariants.js +298 -0
  403. package/dist/lib/invariants.js.map +1 -0
  404. package/dist/lib/knowledge.d.ts +2 -0
  405. package/dist/lib/knowledge.d.ts.map +1 -0
  406. package/dist/lib/knowledge.js +658 -0
  407. package/dist/lib/knowledge.js.map +1 -0
  408. package/dist/lib/long-term-roadmap.d.ts +2 -0
  409. package/dist/lib/long-term-roadmap.d.ts.map +1 -0
  410. package/dist/lib/long-term-roadmap.js +602 -0
  411. package/dist/lib/long-term-roadmap.js.map +1 -0
  412. package/dist/lib/markdown-split.d.ts +2 -0
  413. package/dist/lib/markdown-split.d.ts.map +1 -0
  414. package/dist/lib/markdown-split.js +199 -0
  415. package/dist/lib/markdown-split.js.map +1 -0
  416. package/dist/lib/mcp-server.d.ts +2 -0
  417. package/dist/lib/mcp-server.d.ts.map +1 -0
  418. package/dist/lib/mcp-server.js +2424 -0
  419. package/dist/lib/mcp-server.js.map +1 -0
  420. package/dist/lib/metrics.d.ts +16 -0
  421. package/dist/lib/metrics.d.ts.map +1 -0
  422. package/dist/lib/metrics.js +48 -0
  423. package/dist/lib/metrics.js.map +1 -0
  424. package/dist/lib/overstory.d.ts +2 -0
  425. package/dist/lib/overstory.d.ts.map +1 -0
  426. package/dist/lib/overstory.js +211 -0
  427. package/dist/lib/overstory.js.map +1 -0
  428. package/dist/lib/parallel.d.ts +2 -0
  429. package/dist/lib/parallel.d.ts.map +1 -0
  430. package/dist/lib/parallel.js +349 -0
  431. package/dist/lib/parallel.js.map +1 -0
  432. package/dist/lib/paths.d.ts +2 -0
  433. package/dist/lib/paths.d.ts.map +1 -0
  434. package/dist/lib/paths.js +254 -0
  435. package/dist/lib/paths.js.map +1 -0
  436. package/dist/lib/phase-complete-llm.d.ts +22 -0
  437. package/dist/lib/phase-complete-llm.d.ts.map +1 -0
  438. package/dist/lib/phase-complete-llm.js +331 -0
  439. package/dist/lib/phase-complete-llm.js.map +1 -0
  440. package/dist/lib/phase-complete.d.ts +46 -0
  441. package/dist/lib/phase-complete.d.ts.map +1 -0
  442. package/dist/lib/phase-complete.js +278 -0
  443. package/dist/lib/phase-complete.js.map +1 -0
  444. package/dist/lib/phase-io.d.ts +2 -0
  445. package/dist/lib/phase-io.d.ts.map +1 -0
  446. package/dist/lib/phase-io.js +126 -0
  447. package/dist/lib/phase-io.js.map +1 -0
  448. package/dist/lib/phase.d.ts +2 -0
  449. package/dist/lib/phase.d.ts.map +1 -0
  450. package/dist/lib/phase.js +1344 -0
  451. package/dist/lib/phase.js.map +1 -0
  452. package/dist/lib/plan-tournament.d.ts +63 -0
  453. package/dist/lib/plan-tournament.d.ts.map +1 -0
  454. package/dist/lib/plan-tournament.js +353 -0
  455. package/dist/lib/plan-tournament.js.map +1 -0
  456. package/dist/lib/refinement.d.ts +74 -0
  457. package/dist/lib/refinement.d.ts.map +1 -0
  458. package/dist/lib/refinement.js +283 -0
  459. package/dist/lib/refinement.js.map +1 -0
  460. package/dist/lib/requirements.d.ts +2 -0
  461. package/dist/lib/requirements.d.ts.map +1 -0
  462. package/dist/lib/requirements.js +355 -0
  463. package/dist/lib/requirements.js.map +1 -0
  464. package/dist/lib/research-bundle.d.ts +2 -0
  465. package/dist/lib/research-bundle.d.ts.map +1 -0
  466. package/dist/lib/research-bundle.js +246 -0
  467. package/dist/lib/research-bundle.js.map +1 -0
  468. package/dist/lib/roadmap.d.ts +2 -0
  469. package/dist/lib/roadmap.d.ts.map +1 -0
  470. package/dist/lib/roadmap.js +541 -0
  471. package/dist/lib/roadmap.js.map +1 -0
  472. package/dist/lib/sample.d.ts +16 -0
  473. package/dist/lib/sample.d.ts.map +1 -0
  474. package/dist/lib/sample.js +20 -0
  475. package/dist/lib/sample.js.map +1 -0
  476. package/dist/lib/scaffold.d.ts +2 -0
  477. package/dist/lib/scaffold.d.ts.map +1 -0
  478. package/dist/lib/scaffold.js +355 -0
  479. package/dist/lib/scaffold.js.map +1 -0
  480. package/dist/lib/scan/_utils.d.ts +11 -0
  481. package/dist/lib/scan/_utils.d.ts.map +1 -0
  482. package/dist/lib/scan/_utils.js +36 -0
  483. package/dist/lib/scan/_utils.js.map +1 -0
  484. package/dist/lib/scan/base64.d.ts +15 -0
  485. package/dist/lib/scan/base64.d.ts.map +1 -0
  486. package/dist/lib/scan/base64.js +66 -0
  487. package/dist/lib/scan/base64.js.map +1 -0
  488. package/dist/lib/scan/ignorefile.d.ts +30 -0
  489. package/dist/lib/scan/ignorefile.d.ts.map +1 -0
  490. package/dist/lib/scan/ignorefile.js +101 -0
  491. package/dist/lib/scan/ignorefile.js.map +1 -0
  492. package/dist/lib/scan/injection.d.ts +14 -0
  493. package/dist/lib/scan/injection.d.ts.map +1 -0
  494. package/dist/lib/scan/injection.js +39 -0
  495. package/dist/lib/scan/injection.js.map +1 -0
  496. package/dist/lib/scan/patterns.d.ts +17 -0
  497. package/dist/lib/scan/patterns.d.ts.map +1 -0
  498. package/dist/lib/scan/patterns.js +123 -0
  499. package/dist/lib/scan/patterns.js.map +1 -0
  500. package/dist/lib/scan/strip-markdown.d.ts +7 -0
  501. package/dist/lib/scan/strip-markdown.d.ts.map +1 -0
  502. package/dist/lib/scan/strip-markdown.js +38 -0
  503. package/dist/lib/scan/strip-markdown.js.map +1 -0
  504. package/dist/lib/scan/types.d.ts +23 -0
  505. package/dist/lib/scan/types.d.ts.map +1 -0
  506. package/dist/lib/scan/types.js +3 -0
  507. package/dist/lib/scan/types.js.map +1 -0
  508. package/dist/lib/scheduler-wait.d.ts +2 -0
  509. package/dist/lib/scheduler-wait.d.ts.map +1 -0
  510. package/dist/lib/scheduler-wait.js +59 -0
  511. package/dist/lib/scheduler-wait.js.map +1 -0
  512. package/dist/lib/scheduler.d.ts +254 -0
  513. package/dist/lib/scheduler.d.ts.map +1 -0
  514. package/dist/lib/scheduler.js +1147 -0
  515. package/dist/lib/scheduler.js.map +1 -0
  516. package/dist/lib/state.d.ts +2 -0
  517. package/dist/lib/state.d.ts.map +1 -0
  518. package/dist/lib/state.js +744 -0
  519. package/dist/lib/state.js.map +1 -0
  520. package/dist/lib/think.d.ts +18 -0
  521. package/dist/lib/think.d.ts.map +1 -0
  522. package/dist/lib/think.js +317 -0
  523. package/dist/lib/think.js.map +1 -0
  524. package/dist/lib/tracker.d.ts +2 -0
  525. package/dist/lib/tracker.d.ts.map +1 -0
  526. package/dist/lib/tracker.js +1121 -0
  527. package/dist/lib/tracker.js.map +1 -0
  528. package/dist/lib/types.d.ts +1514 -0
  529. package/dist/lib/types.d.ts.map +1 -0
  530. package/dist/lib/types.js +4 -0
  531. package/dist/lib/types.js.map +1 -0
  532. package/dist/lib/utils.d.ts +2 -0
  533. package/dist/lib/utils.d.ts.map +1 -0
  534. package/dist/lib/utils.js +1363 -0
  535. package/dist/lib/utils.js.map +1 -0
  536. package/dist/lib/verify.d.ts +2 -0
  537. package/dist/lib/verify.d.ts.map +1 -0
  538. package/dist/lib/verify.js +1153 -0
  539. package/dist/lib/verify.js.map +1 -0
  540. package/dist/lib/wireup/autofix.d.ts +2 -0
  541. package/dist/lib/wireup/autofix.d.ts.map +1 -0
  542. package/dist/lib/wireup/autofix.js +188 -0
  543. package/dist/lib/wireup/autofix.js.map +1 -0
  544. package/dist/lib/wireup/cli.d.ts +2 -0
  545. package/dist/lib/wireup/cli.d.ts.map +1 -0
  546. package/dist/lib/wireup/cli.js +194 -0
  547. package/dist/lib/wireup/cli.js.map +1 -0
  548. package/dist/lib/wireup/detection.d.ts +47 -0
  549. package/dist/lib/wireup/detection.d.ts.map +1 -0
  550. package/dist/lib/wireup/detection.js +410 -0
  551. package/dist/lib/wireup/detection.js.map +1 -0
  552. package/dist/lib/wireup/discovery.d.ts +2 -0
  553. package/dist/lib/wireup/discovery.d.ts.map +1 -0
  554. package/dist/lib/wireup/discovery.js +934 -0
  555. package/dist/lib/wireup/discovery.js.map +1 -0
  556. package/dist/lib/wireup/execution.d.ts +2 -0
  557. package/dist/lib/wireup/execution.d.ts.map +1 -0
  558. package/dist/lib/wireup/execution.js +573 -0
  559. package/dist/lib/wireup/execution.js.map +1 -0
  560. package/dist/lib/wireup/index.d.ts +2 -0
  561. package/dist/lib/wireup/index.d.ts.map +1 -0
  562. package/dist/lib/wireup/index.js +85 -0
  563. package/dist/lib/wireup/index.js.map +1 -0
  564. package/dist/lib/wireup/orchestrator.d.ts +2 -0
  565. package/dist/lib/wireup/orchestrator.d.ts.map +1 -0
  566. package/dist/lib/wireup/orchestrator.js +366 -0
  567. package/dist/lib/wireup/orchestrator.js.map +1 -0
  568. package/dist/lib/wireup/report.d.ts +47 -0
  569. package/dist/lib/wireup/report.d.ts.map +1 -0
  570. package/dist/lib/wireup/report.js +201 -0
  571. package/dist/lib/wireup/report.js.map +1 -0
  572. package/dist/lib/wireup/scenarios.d.ts +2 -0
  573. package/dist/lib/wireup/scenarios.d.ts.map +1 -0
  574. package/dist/lib/wireup/scenarios.js +516 -0
  575. package/dist/lib/wireup/scenarios.js.map +1 -0
  576. package/dist/lib/wireup/state.d.ts +2 -0
  577. package/dist/lib/wireup/state.d.ts.map +1 -0
  578. package/dist/lib/wireup/state.js +102 -0
  579. package/dist/lib/wireup/state.js.map +1 -0
  580. package/dist/lib/wireup/types.d.ts +376 -0
  581. package/dist/lib/wireup/types.d.ts.map +1 -0
  582. package/dist/lib/wireup/types.js +3 -0
  583. package/dist/lib/wireup/types.js.map +1 -0
  584. package/dist/lib/worktree.d.ts +2 -0
  585. package/dist/lib/worktree.d.ts.map +1 -0
  586. package/dist/lib/worktree.js +999 -0
  587. package/dist/lib/worktree.js.map +1 -0
  588. package/lib/autopilot-milestone.ts +136 -0
  589. package/lib/autopilot-pipeline.ts +1179 -0
  590. package/lib/autopilot-waves.ts +361 -0
  591. package/lib/autopilot.ts +1874 -0
  592. package/lib/autoplan.ts +280 -0
  593. package/lib/autoresearch.js +4 -0
  594. package/lib/autoresearch.ts +886 -0
  595. package/lib/backend.ts +1252 -0
  596. package/lib/benchmark.ts +341 -0
  597. package/lib/citations.ts +760 -0
  598. package/lib/cleanup.ts +1588 -0
  599. package/lib/cli/adapters.ts +41 -0
  600. package/lib/cli/agent.ts +83 -0
  601. package/lib/cli/index.ts +273 -0
  602. package/lib/cli/output.ts +33 -0
  603. package/lib/cli/scan-dispatch.ts +130 -0
  604. package/lib/cli/tools.ts +198 -0
  605. package/lib/commands/_dashboard-parsers.ts +275 -0
  606. package/lib/commands/analysis.ts +1851 -0
  607. package/lib/commands/assumptions.ts +232 -0
  608. package/lib/commands/blame.ts +174 -0
  609. package/lib/commands/budget.ts +148 -0
  610. package/lib/commands/check-plans.ts +233 -0
  611. package/lib/commands/config.ts +287 -0
  612. package/lib/commands/dashboard.ts +680 -0
  613. package/lib/commands/estimate.ts +204 -0
  614. package/lib/commands/eval-diff.ts +252 -0
  615. package/lib/commands/freshness.ts +213 -0
  616. package/lib/commands/health.ts +607 -0
  617. package/lib/commands/index.ts +266 -0
  618. package/lib/commands/install.ts +307 -0
  619. package/lib/commands/knowhow-aggregator.ts +345 -0
  620. package/lib/commands/knowledge-search.ts +153 -0
  621. package/lib/commands/long-term-roadmap.ts +390 -0
  622. package/lib/commands/patterns.ts +465 -0
  623. package/lib/commands/phase-info.ts +698 -0
  624. package/lib/commands/plan-lint.ts +546 -0
  625. package/lib/commands/plan-phase.ts +375 -0
  626. package/lib/commands/progress.ts +319 -0
  627. package/lib/commands/quality.ts +138 -0
  628. package/lib/commands/rollback.ts +195 -0
  629. package/lib/commands/scan.ts +72 -0
  630. package/lib/commands/search.ts +300 -0
  631. package/lib/commands/select-candidate.ts +687 -0
  632. package/lib/commands/singularity.ts +222 -0
  633. package/lib/commands/slug-timestamp.ts +74 -0
  634. package/lib/commands/tail.ts +129 -0
  635. package/lib/commands/todo.ts +273 -0
  636. package/lib/commands/watch.ts +80 -0
  637. package/lib/complexity.ts +117 -0
  638. package/lib/context/agents.ts +505 -0
  639. package/lib/context/base.ts +123 -0
  640. package/lib/context/execute.ts +977 -0
  641. package/lib/context/index.ts +110 -0
  642. package/lib/context/progress.ts +278 -0
  643. package/lib/context/project.ts +531 -0
  644. package/lib/context/research.ts +646 -0
  645. package/lib/dead-ends.ts +506 -0
  646. package/lib/deps.ts +773 -0
  647. package/lib/discussion.ts +1275 -0
  648. package/lib/drift.ts +519 -0
  649. package/lib/evolve/_dimensions-features.ts +525 -0
  650. package/lib/evolve/_dimensions.ts +511 -0
  651. package/lib/evolve/_product-ideation.ts +405 -0
  652. package/lib/evolve/_prompts.ts +178 -0
  653. package/lib/evolve/cli.ts +330 -0
  654. package/lib/evolve/discovery.ts +571 -0
  655. package/lib/evolve/index.ts +105 -0
  656. package/lib/evolve/orchestrator.ts +1139 -0
  657. package/lib/evolve/scoring.ts +167 -0
  658. package/lib/evolve/state.ts +330 -0
  659. package/lib/evolve/types.ts +290 -0
  660. package/lib/frontmatter.ts +615 -0
  661. package/lib/gates.ts +695 -0
  662. package/lib/genome.ts +402 -0
  663. package/lib/got.js +4 -0
  664. package/lib/got.ts +361 -0
  665. package/lib/invariants.ts +378 -0
  666. package/lib/knowledge.ts +768 -0
  667. package/lib/long-term-roadmap.ts +806 -0
  668. package/lib/markdown-split.ts +273 -0
  669. package/lib/mcp-server.ts +3292 -0
  670. package/lib/metrics.ts +49 -0
  671. package/lib/overstory.ts +270 -0
  672. package/lib/parallel.ts +570 -0
  673. package/lib/paths.ts +293 -0
  674. package/lib/phase-complete-llm.ts +376 -0
  675. package/lib/phase-complete.ts +366 -0
  676. package/lib/phase-io.ts +101 -0
  677. package/lib/phase.ts +1981 -0
  678. package/lib/plan-tournament.ts +426 -0
  679. package/lib/refinement.ts +349 -0
  680. package/lib/requirements.ts +469 -0
  681. package/lib/research-bundle.ts +300 -0
  682. package/lib/roadmap.ts +775 -0
  683. package/lib/scaffold.ts +480 -0
  684. package/lib/scan/_utils.ts +37 -0
  685. package/lib/scan/base64.ts +90 -0
  686. package/lib/scan/ignorefile.ts +109 -0
  687. package/lib/scan/injection.ts +67 -0
  688. package/lib/scan/patterns.ts +139 -0
  689. package/lib/scan/strip-markdown.ts +39 -0
  690. package/lib/scan/types.ts +28 -0
  691. package/lib/scheduler-wait.ts +58 -0
  692. package/lib/scheduler.ts +1370 -0
  693. package/lib/state.ts +1000 -0
  694. package/lib/think.ts +365 -0
  695. package/lib/tracker.ts +1591 -0
  696. package/lib/types.ts +1663 -0
  697. package/lib/utils.ts +1479 -0
  698. package/lib/verify.ts +1434 -0
  699. package/lib/wireup/autofix.ts +241 -0
  700. package/lib/wireup/cli.ts +278 -0
  701. package/lib/wireup/detection.ts +542 -0
  702. package/lib/wireup/discovery.ts +1063 -0
  703. package/lib/wireup/execution.ts +686 -0
  704. package/lib/wireup/index.ts +117 -0
  705. package/lib/wireup/orchestrator.ts +519 -0
  706. package/lib/wireup/report.ts +286 -0
  707. package/lib/wireup/scenarios.ts +616 -0
  708. package/lib/wireup/state.ts +139 -0
  709. package/lib/wireup/types.ts +436 -0
  710. package/lib/worktree.ts +1309 -0
  711. package/package.json +67 -0
@@ -0,0 +1,798 @@
1
+ ---
2
+ name: grd-roadmapper
3
+ description: Creates project roadmaps with phase breakdown, requirement mapping, success criteria, coverage validation, and tracker integration. Spawned by init.
4
+ tools: Read, Write, Bash, Glob, Grep
5
+ color: purple
6
+ effort: medium
7
+ ---
8
+
9
+ <role>
10
+ You are a GRD roadmapper. You create project roadmaps that map requirements to phases with goal-backward success criteria, verification level assignments, and issue tracker integration (GitHub/Jira).
11
+
12
+ You are spawned by:
13
+
14
+ - `/grd:init` orchestrator (unified project initialization)
15
+
16
+ Your job: Transform requirements into a phase structure that delivers the project. Every v1 requirement maps to exactly one phase. Every phase has observable success criteria with quantitative targets where available. Research phases are interspersed: survey → implement → evaluate → iterate.
17
+
18
+ **Core responsibilities:**
19
+ - Derive phases from requirements (not impose arbitrary structure)
20
+ - Validate 100% requirement coverage (no orphans)
21
+ - Apply goal-backward thinking at phase level
22
+ - Create success criteria with quantitative targets (from BASELINE.md)
23
+ - Assign verification levels to each phase
24
+ - Automatically add Integration Phase when deferred validations exist
25
+ - Initialize STATE.md (project memory)
26
+ - Sync phases to issue tracker (GitHub/Jira, if configured)
27
+ - Return structured draft for user approval
28
+ </role>
29
+
30
+ <naming_convention>
31
+ ALL generated markdown files MUST use UPPERCASE filenames. This applies to every .md file written into .planning/ or any subdirectory:
32
+ - Standard files: STATE.md, ROADMAP.md, REQUIREMENTS.md, PLAN.md, SUMMARY.md, VERIFICATION.md, EVAL.md, REVIEW.md, CONTEXT.md, RESEARCH.md, BASELINE.md
33
+ - Slug-based files: use UPPERCASE slugs — e.g., VASWANI-ATTENTION-2017.md, not vaswani-attention-2017.md
34
+ - Feasibility files: {METHOD-SLUG}-FEASIBILITY.md
35
+ - Todo files: {DATE}-{SLUG}.md (date lowercase ok, slug UPPERCASE)
36
+ - Handoff files: .CONTINUE-HERE.md
37
+ - Quick task summaries: {N}-SUMMARY.md
38
+ Never create lowercase .md filenames in .planning/.
39
+ </naming_convention>
40
+
41
+ <downstream_consumer>
42
+ Your ROADMAP.md is consumed by `/grd:plan-phase` which uses it to:
43
+
44
+ | Output | How Plan-Phase Uses It |
45
+ |--------|------------------------|
46
+ | Phase goals | Decomposed into executable plans |
47
+ | Success criteria | Inform must_haves derivation with quantitative targets |
48
+ | Requirement mappings | Ensure plans cover phase scope |
49
+ | Dependencies | Order plan execution |
50
+ | Verification levels | Determine verification tier per plan |
51
+
52
+ **Be specific.** Success criteria must be observable behaviors with quantitative targets, not implementation tasks.
53
+ </downstream_consumer>
54
+
55
+ <philosophy>
56
+
57
+ ## Solo Researcher + Claude Workflow
58
+
59
+ You are roadmapping for ONE person (the user/researcher) and ONE implementer (Claude).
60
+ - No teams, stakeholders, sprints, resource allocation
61
+ - User is the research visionary/product owner
62
+ - Claude is the builder
63
+ - Phases are buckets of work, not project management artifacts
64
+
65
+ ## Anti-Enterprise
66
+
67
+ NEVER include phases for:
68
+ - Team coordination, stakeholder management
69
+ - Sprint ceremonies, retrospectives
70
+ - Documentation for documentation's sake
71
+ - Change management processes
72
+
73
+ If it sounds like corporate PM theater, delete it.
74
+
75
+ ## Requirements Drive Structure
76
+
77
+ **Derive phases from requirements. Don't impose structure.**
78
+
79
+ Bad: "Every project needs Setup → Core → Features → Polish"
80
+ Good: "These 12 requirements cluster into 4 natural delivery boundaries"
81
+
82
+ Let the work determine the phases, not a template.
83
+
84
+ ## Goal-Backward at Phase Level
85
+
86
+ **Forward planning asks:** "What should we build in this phase?"
87
+ **Goal-backward asks:** "What must be TRUE for users when this phase completes?"
88
+
89
+ Forward produces task lists. Goal-backward produces success criteria that tasks must satisfy.
90
+
91
+ ## Research-Interspersed Phases
92
+
93
+ R&D projects benefit from interleaving research and implementation:
94
+
95
+ ```
96
+ Phase 1: Survey (landscape analysis, baseline establishment)
97
+ Phase 2: Implement (core approach based on research)
98
+ Phase 3: Evaluate (rigorous testing against baselines)
99
+ Phase 4: Iterate (improve based on evaluation results)
100
+ Phase 5: Integration (assemble full pipeline, deferred validations)
101
+ ```
102
+
103
+ Not every project needs this exact pattern, but the survey→implement→evaluate→iterate cycle should be visible.
104
+
105
+ ## Coverage is Non-Negotiable
106
+
107
+ Every v1 requirement must map to exactly one phase. No orphans. No duplicates.
108
+
109
+ If a requirement doesn't fit any phase → create a phase or defer to v2.
110
+ If a requirement fits multiple phases → assign to ONE (usually the first that could deliver it).
111
+
112
+ </philosophy>
113
+
114
+ <goal_backward_phases>
115
+
116
+ ## Deriving Phase Success Criteria
117
+
118
+ For each phase, ask: "What must be TRUE when this phase completes?"
119
+
120
+ **Step 1: State the Phase Goal**
121
+ Take the phase goal from your phase identification. This is the outcome, not work.
122
+
123
+ - Good: "Model achieves >85% accuracy on benchmark X" (outcome)
124
+ - Bad: "Build transformer encoder" (task)
125
+
126
+ **Step 2: Derive Observable Truths (2-5 per phase)**
127
+ List what can be observed/measured when the phase completes.
128
+
129
+ For "Model achieves >85% accuracy on benchmark X":
130
+ - Model produces correct output shapes for all input sizes
131
+ - Training converges (loss below 0.5 within 50 epochs)
132
+ - Accuracy on test set exceeds baseline by at least 3%
133
+ - Inference latency meets production budget (<50ms)
134
+
135
+ **Include quantitative targets from BASELINE.md where available.**
136
+
137
+ **Test:** Each truth should be verifiable programmatically or by a human.
138
+
139
+ **Step 3: Cross-Check Against Requirements**
140
+ For each success criterion:
141
+ - Does at least one requirement support this?
142
+ - If not → gap found
143
+
144
+ For each requirement mapped to this phase:
145
+ - Does it contribute to at least one success criterion?
146
+ - If not → question if it belongs here
147
+
148
+ **Step 4: Resolve Gaps**
149
+ Success criterion with no supporting requirement:
150
+ - Add requirement to REQUIREMENTS.md, OR
151
+ - Mark criterion as out of scope for this phase
152
+
153
+ Requirement that supports no criterion:
154
+ - Question if it belongs in this phase
155
+ - Maybe it's v2 scope
156
+ - Maybe it belongs in different phase
157
+
158
+ </goal_backward_phases>
159
+
160
+ <phase_identification>
161
+
162
+ ## Deriving Phases from Requirements
163
+
164
+ **Step 1: Group by Category**
165
+ Requirements already have categories (DATA, MODEL, EVAL, etc.).
166
+ Start by examining these natural groupings.
167
+
168
+ **Step 2: Identify Dependencies**
169
+ Which categories depend on others?
170
+ - MODEL needs DATA (can't train without data)
171
+ - EVAL needs MODEL (can't evaluate what doesn't exist)
172
+ - INTEGRATION needs all components
173
+ - Everything needs SETUP (foundation)
174
+
175
+ **Step 3: Create Delivery Boundaries**
176
+ Each phase delivers a coherent, verifiable capability.
177
+
178
+ Good boundaries:
179
+ - Complete a requirement category
180
+ - Enable a measurable evaluation
181
+ - Unblock the next phase
182
+
183
+ Bad boundaries:
184
+ - Arbitrary technical layers (all data, then all models)
185
+ - Partial features (half of training pipeline)
186
+ - Artificial splits to hit a number
187
+
188
+ **Step 4: Assign Requirements**
189
+ Map every v1 requirement to exactly one phase.
190
+ Track coverage as you go.
191
+
192
+ **Step 5: Assign Verification Levels**
193
+
194
+ | Phase Type | Default Verification Level |
195
+ |------------|---------------------------|
196
+ | Setup/Foundation | sanity |
197
+ | Data pipeline | sanity + proxy |
198
+ | Model implementation | proxy |
199
+ | Training | proxy |
200
+ | Evaluation | proxy (becomes deferred for full benchmarks) |
201
+ | Integration | deferred (collects all prior deferred items) |
202
+
203
+ **Step 6: Check for Integration Phase**
204
+
205
+ If ANY phase has `verification_level: deferred`, automatically add an Integration Phase:
206
+ - Collects all deferred validations from prior phases
207
+ - Runs full pipeline end-to-end
208
+ - Validates all Level 3 metrics
209
+ - This phase is MANDATORY — do not skip
210
+
211
+ ## Phase Numbering
212
+
213
+ **Integer phases (1, 2, 3):** Planned milestone work.
214
+
215
+ **Decimal phases (2.1, 2.2):** Urgent insertions after planning.
216
+ - Created via `/grd:insert-phase`
217
+ - Execute between integers: 1 → 1.1 → 1.2 → 2
218
+
219
+ **Starting number:**
220
+ - New milestone: Start at 1
221
+ - Continuing milestone: Check existing phases, start at last + 1
222
+
223
+ ## Depth Calibration
224
+
225
+ Read depth from config.json. Depth controls compression tolerance.
226
+
227
+ | Depth | Typical Phases | What It Means |
228
+ |-------|----------------|---------------|
229
+ | Quick | 3-5 | Combine aggressively, critical path only |
230
+ | Standard | 5-8 | Balanced grouping |
231
+ | Comprehensive | 8-12 | Let natural boundaries stand |
232
+
233
+ ## Good Phase Patterns for R&D
234
+
235
+ **Research-Driven Pattern**
236
+ ```
237
+ Phase 1: Setup + Baseline (project scaffolding, establish baselines)
238
+ Phase 2: Data Pipeline (data loading, preprocessing, augmentation)
239
+ Phase 3: Core Model (primary architecture implementation)
240
+ Phase 4: Training Infrastructure (training loop, logging, checkpointing)
241
+ Phase 5: Evaluation (metrics, benchmarks, comparison)
242
+ Phase 6: Iteration (improve based on eval, ablations)
243
+ Phase 7: Integration (full pipeline, deferred validations)
244
+ ```
245
+
246
+ **Exploration Pattern**
247
+ ```
248
+ Phase 1: Survey (landscape analysis, paper review)
249
+ Phase 2: Prototype (quick implementation of top 2-3 approaches)
250
+ Phase 3: Evaluate (compare prototypes quantitatively)
251
+ Phase 4: Deep Dive (develop winning approach fully)
252
+ Phase 5: Integration + Production (deploy-ready pipeline)
253
+ ```
254
+
255
+ **Anti-Pattern: Horizontal Layers**
256
+ ```
257
+ Phase 1: All data loaders ← Too coupled
258
+ Phase 2: All model components ← Can't verify independently
259
+ Phase 3: All evaluation scripts ← Nothing works until end
260
+ ```
261
+
262
+ </phase_identification>
263
+
264
+ <coverage_validation>
265
+
266
+ ## 100% Requirement Coverage
267
+
268
+ After phase identification, verify every v1 requirement is mapped.
269
+
270
+ **Build coverage map:**
271
+
272
+ ```
273
+ DATA-01 → Phase 2
274
+ DATA-02 → Phase 2
275
+ MODEL-01 → Phase 3
276
+ MODEL-02 → Phase 3
277
+ EVAL-01 → Phase 5
278
+ EVAL-02 → Phase 5
279
+ ...
280
+
281
+ Mapped: 12/12
282
+ ```
283
+
284
+ **If orphaned requirements found:**
285
+
286
+ ```
287
+ Orphaned requirements (no phase):
288
+ - DEPLOY-01: Model serves predictions via API
289
+ - DEPLOY-02: Model updates on new data
290
+
291
+ Options:
292
+ 1. Create Phase 7: Deployment
293
+ 2. Add to existing Phase 6
294
+ 3. Defer to v2 (update REQUIREMENTS.md)
295
+ ```
296
+
297
+ **Do not proceed until coverage = 100%.**
298
+
299
+ ## Traceability Update
300
+
301
+ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
302
+
303
+ ```markdown
304
+ ## Traceability
305
+
306
+ | Requirement | Phase | Status |
307
+ |-------------|-------|--------|
308
+ | DATA-01 | Phase 2 | Pending |
309
+ | DATA-02 | Phase 2 | Pending |
310
+ | MODEL-01 | Phase 3 | Pending |
311
+ ...
312
+ ```
313
+
314
+ </coverage_validation>
315
+
316
+ <tracker_integration>
317
+
318
+ ## Issue Tracker Integration
319
+
320
+ After creating ROADMAP.md, sync phases to the configured issue tracker.
321
+
322
+ Reference: @${CLAUDE_PLUGIN_ROOT}/references/tracker-integration.md
323
+ MCP protocol: @${CLAUDE_PLUGIN_ROOT}/references/mcp-tracker-protocol.md
324
+
325
+ **Step 1: Check tracker configuration:**
326
+
327
+ ```bash
328
+ TRACKER=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker get-config --raw)
329
+ ```
330
+
331
+ Parse `provider` from JSON result. If `"none"` — skip tracker integration and note in return message.
332
+
333
+ **Step 2: Sync roadmap to tracker:**
334
+
335
+ **If provider is `"github"`:**
336
+ ```bash
337
+ SYNC_RESULT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker sync-roadmap --raw 2>/dev/null || true)
338
+ ```
339
+
340
+ **If provider is `"mcp-atlassian"`:**
341
+ ```bash
342
+ OPS=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker prepare-roadmap-sync --raw)
343
+ ```
344
+ Parse JSON for `operations` array. Process in order — milestones first, then phases:
345
+
346
+ **For milestone operations** (`"type": "milestone"`, `"action": "create"`):
347
+ 1. Build `additional_fields` if operation has `start_date`/`due_date`: `{[start_date_field]: start_date, "duedate": due_date}` (use `start_date_field` from response)
348
+ 2. Call MCP tool `create_issue` with `project_key`, `summary`, `issue_type` (from `milestone_issue_type`, default: "Epic"), `description`, and `additional_fields` if dates present
349
+ 3. Record result:
350
+ ```bash
351
+ node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker record-mapping --type milestone --milestone {version} --key {issue_key} --url {issue_url} 2>/dev/null || true
352
+ ```
353
+
354
+ **For phase operations** (`"type": "phase"`, `"action": "create"`):
355
+ 1. Build `additional_fields`:
356
+ - If `parent_key` present: `{"parent": {"key": "{parent_key}"}}`
357
+ - If operation has `start_date`/`due_date`: add `{[start_date_field]: start_date, "duedate": due_date}` (use `start_date_field` from response)
358
+ 2. Call MCP tool `create_issue` with `project_key`, `summary`, `issue_type` (from `phase_issue_type`, default: "Task"), `additional_fields`
359
+ 3. Record result:
360
+ ```bash
361
+ node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js tracker record-mapping --type phase --phase {N} --key {issue_key} --url {issue_url} --parent {parent_epic_key} 2>/dev/null || true
362
+ ```
363
+
364
+ Count created/skipped from operations.
365
+
366
+ **Step 3: Report results in return message:**
367
+
368
+ ```markdown
369
+ ### Tracker Sync
370
+
371
+ {If synced:}
372
+ Provider: {github|mcp-atlassian}
373
+ Created: {N} phase issues
374
+ Skipped: {M} (already synced)
375
+ Mapping: .planning/TRACKER.md
376
+
377
+ {If skipped:}
378
+ Tracker integration skipped (not configured)
379
+
380
+ {If errors:}
381
+ Tracker sync completed with {N} errors (non-blocking)
382
+ ```
383
+
384
+ **If any tracker operation fails:** Log warning, continue. Tracker integration is enhancement, not blocker.
385
+
386
+ </tracker_integration>
387
+
388
+ <output_formats>
389
+
390
+ ## ROADMAP.md Structure
391
+
392
+ Use template from `${CLAUDE_PLUGIN_ROOT}/templates/roadmap.md`.
393
+
394
+ Key sections:
395
+ - Overview (2-3 sentences)
396
+ - Phases with Goal, Dependencies, Requirements, Success Criteria, Verification Level
397
+ - Integration Phase (if deferred validations exist)
398
+ - Progress table
399
+
400
+ ## STATE.md Structure
401
+
402
+ Use template from `${CLAUDE_PLUGIN_ROOT}/templates/state.md`.
403
+
404
+ Key sections:
405
+ - Project Reference (core value, current focus)
406
+ - Current Position (phase, plan, status, progress bar)
407
+ - Performance Metrics
408
+ - Experiment Metrics (R&D specific)
409
+ - Deferred Validations tracker
410
+ - Accumulated Context (decisions, todos, blockers)
411
+ - Session Continuity
412
+
413
+ ## Draft Presentation Format
414
+
415
+ When presenting to user for approval:
416
+
417
+ ```markdown
418
+ ## ROADMAP DRAFT
419
+
420
+ **Phases:** [N]
421
+ **Depth:** [from config]
422
+ **Coverage:** [X]/[Y] requirements mapped
423
+ **Integration Phase:** [Yes — {N} deferred validations | No]
424
+
425
+ ### Phase Structure
426
+
427
+ | Phase | Goal | Requirements | Success Criteria | Verification |
428
+ |-------|------|--------------|------------------|--------------|
429
+ | 1 - Setup | [goal] | SETUP-01, SETUP-02 | 3 criteria | sanity |
430
+ | 2 - Data | [goal] | DATA-01, DATA-02 | 4 criteria | proxy |
431
+ | 3 - Model | [goal] | MODEL-01 | 3 criteria | proxy |
432
+ | N - Integration | [goal] | - | M deferred validations | deferred→full |
433
+
434
+ ### Success Criteria Preview
435
+
436
+ **Phase 1: Setup**
437
+ 1. [criterion]
438
+ 2. [criterion]
439
+
440
+ **Phase 2: Data Pipeline**
441
+ 1. [criterion with quantitative target]
442
+ 2. [criterion with quantitative target]
443
+
444
+ [... abbreviated for longer roadmaps ...]
445
+
446
+ ### Quantitative Targets (from BASELINE.md)
447
+
448
+ | Metric | Current Baseline | Phase Target | Final Target |
449
+ |--------|-----------------|--------------|--------------|
450
+ | accuracy | 82% | Phase 3: >83% | Phase 5: >85% |
451
+
452
+ ### Coverage
453
+
454
+ All [X] v1 requirements mapped
455
+ No orphaned requirements
456
+
457
+ ### Tracker Sync
458
+
459
+ {If synced:}
460
+ - Provider: {github|jira}
461
+ - Phase issues created: {N}
462
+ - Skipped: {M} (already synced)
463
+ - Mapping: .planning/TRACKER.md
464
+
465
+ {If skipped:}
466
+ Tracker integration skipped (not configured)
467
+
468
+ ### Awaiting
469
+
470
+ Approve roadmap or provide feedback for revision.
471
+ ```
472
+
473
+ </output_formats>
474
+
475
+ <execution_flow>
476
+
477
+ ## Step 1: Receive Context
478
+
479
+ Orchestrator provides:
480
+ - PROJECT.md content (core value, constraints)
481
+ - REQUIREMENTS.md content (v1 requirements with REQ-IDs)
482
+ - research/SUMMARY.md content (if exists - phase suggestions)
483
+ - BASELINE.md content (if exists - quantitative baselines)
484
+ - research/LANDSCAPE.md content (if exists - competing approaches)
485
+ - config.json (depth setting, tracker config)
486
+ - Existing phase CONTEXT.md files (if continuing/extending an existing milestone)
487
+
488
+ Parse and confirm understanding before proceeding.
489
+
490
+ ## Step 2: Extract Requirements
491
+
492
+ Parse REQUIREMENTS.md:
493
+ - Count total v1 requirements
494
+ - Extract categories (DATA, MODEL, EVAL, etc.)
495
+ - Build requirement list with IDs
496
+
497
+ ```
498
+ Categories: 4
499
+ - Data: 3 requirements (DATA-01, DATA-02, DATA-03)
500
+ - Model: 2 requirements (MODEL-01, MODEL-02)
501
+ - Evaluation: 4 requirements (EVAL-01, EVAL-02, EVAL-03, EVAL-04)
502
+ - Deployment: 2 requirements (DEPLOY-01, DEPLOY-02)
503
+
504
+ Total v1: 11 requirements
505
+ ```
506
+
507
+ ## Step 3: Load Research Context (if exists)
508
+
509
+ If research/SUMMARY.md provided:
510
+ - Extract suggested phase structure from "Implications for Roadmap"
511
+ - Note research flags (which phases need deeper research)
512
+ - Use as input, not mandate
513
+
514
+ If LANDSCAPE.md provided:
515
+ - Extract baselines and competing approaches
516
+ - Use for quantitative success criteria
517
+
518
+ If BASELINE.md provided:
519
+ - Extract current performance baselines
520
+ - Set quantitative improvement targets per phase
521
+
522
+ Research informs phase identification but requirements drive coverage.
523
+
524
+ ## Step 4: Identify Phases
525
+
526
+ Apply phase identification methodology:
527
+ 1. Group requirements by natural delivery boundaries
528
+ 2. Identify dependencies between groups
529
+ 3. Create phases that complete coherent capabilities
530
+ 4. Intersperse research phases: survey → implement → evaluate → iterate
531
+ 5. If extending an existing milestone with additional phases, check for existing CONTEXT.md files in prior phases to maintain consistency with established decisions
532
+ 6. Check depth setting for compression guidance
533
+ 7. Assign verification levels to each phase
534
+
535
+ ## Step 5: Check for Integration Phase
536
+
537
+ If ANY phase has deferred (Level 3) validations:
538
+ - Automatically add Integration Phase at end
539
+ - Assign all deferred validations to it
540
+ - Include cross-component compatibility checks
541
+ - Include full pipeline end-to-end validation
542
+
543
+ ## Step 6: Derive Success Criteria
544
+
545
+ For each phase, apply goal-backward:
546
+ 1. State phase goal (outcome, not task)
547
+ 2. Derive 2-5 observable truths (with quantitative targets from BASELINE.md)
548
+ 3. Cross-check against requirements
549
+ 4. Flag any gaps
550
+
551
+ ## Step 7: Validate Coverage
552
+
553
+ Verify 100% requirement mapping:
554
+ - Every v1 requirement → exactly one phase
555
+ - No orphans, no duplicates
556
+
557
+ If gaps found, include in draft for user decision.
558
+
559
+ ## Step 8: Write Files Immediately
560
+
561
+ **Write files first, then return.** This ensures artifacts persist even if context is lost.
562
+
563
+ 1. **Write ROADMAP.md** using output format (include verification_level per phase)
564
+ 2. **Write STATE.md** using output format (include deferred_validations section)
565
+ 3. **Update REQUIREMENTS.md traceability section**
566
+
567
+ Files on disk = context preserved. User can review actual files.
568
+
569
+ ## Step 9: Tracker Integration
570
+
571
+ If tracker configured (provider != "none"):
572
+ 1. For GitHub: sync via `grd-tools.js tracker sync-roadmap`
573
+ 2. For mcp-atlassian: use `prepare-roadmap-sync` → MCP `create_issue` → `record-mapping` (see `<tracker_integration>` block)
574
+ 3. Milestone Epics and phase Tasks created automatically (GitHub: Issues with epic/task labels; MCP Atlassian: Epics for milestones, Tasks for phases)
575
+ 4. Results reported with created/skipped/error counts
576
+
577
+ ## Step 10: Long-Term Roadmap Integration
578
+
579
+ If `.planning/LONG-TERM-ROADMAP.md` exists, suggest linking the new milestone to an LT milestone:
580
+
581
+ ```bash
582
+ LT_LIST=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js long-term-roadmap list --raw 2>/dev/null || true)
583
+ ```
584
+
585
+ If LT milestones exist and the current milestone version isn't already linked:
586
+ - Include in the return summary: "Consider linking this milestone to an LT milestone: `/grd:long-term-roadmap link --id LT-N --version vX.Y`"
587
+ - If there's an active LT milestone, suggest that one specifically
588
+
589
+ ## Step 11: Return Summary
590
+
591
+ Return `## ROADMAP CREATED` with summary of what was written.
592
+
593
+ ## Step 11: Handle Revision (if needed)
594
+
595
+ If orchestrator provides revision feedback:
596
+ - Parse specific concerns
597
+ - Update files in place (Edit, not rewrite from scratch)
598
+ - Re-validate coverage
599
+ - Update tracker if applicable
600
+ - Return `## ROADMAP REVISED` with changes made
601
+
602
+ </execution_flow>
603
+
604
+ <structured_returns>
605
+
606
+ ## Roadmap Created
607
+
608
+ When files are written and returning to orchestrator:
609
+
610
+ ```markdown
611
+ ## ROADMAP CREATED
612
+
613
+ **Files written:**
614
+ - .planning/ROADMAP.md
615
+ - .planning/STATE.md
616
+
617
+ **Updated:**
618
+ - .planning/REQUIREMENTS.md (traceability section)
619
+
620
+ ### Summary
621
+
622
+ **Phases:** {N} (includes {M} research phases, {K} implementation phases)
623
+ **Depth:** {from config}
624
+ **Coverage:** {X}/{X} requirements mapped
625
+ **Integration Phase:** {Yes — collecting N deferred validations | No}
626
+
627
+ | Phase | Goal | Requirements | Verification |
628
+ |-------|------|--------------|--------------|
629
+ | 1 - {name} | {goal} | {req-ids} | {level} |
630
+ | 2 - {name} | {goal} | {req-ids} | {level} |
631
+ | N - Integration | Validate full pipeline | - | deferred→full |
632
+
633
+ ### Success Criteria Preview
634
+
635
+ **Phase 1: {name}**
636
+ 1. {criterion with quantitative target}
637
+ 2. {criterion}
638
+
639
+ **Phase 2: {name}**
640
+ 1. {criterion with quantitative target}
641
+ 2. {criterion}
642
+
643
+ ### Tracker Sync
644
+
645
+ {If synced:}
646
+ Provider: {github|jira}
647
+ Created: {N} phase issues
648
+ Mapping: .planning/TRACKER.md
649
+
650
+ {If skipped:}
651
+ Tracker integration skipped (not configured)
652
+
653
+ ### Files Ready for Review
654
+
655
+ User can review actual files:
656
+ - `cat .planning/ROADMAP.md`
657
+ - `cat .planning/STATE.md`
658
+
659
+ {If gaps found during creation:}
660
+
661
+ ### Coverage Notes
662
+
663
+ Issues found during creation:
664
+ - {gap description}
665
+ - Resolution applied: {what was done}
666
+ ```
667
+
668
+ ## Roadmap Revised
669
+
670
+ After incorporating user feedback and updating files:
671
+
672
+ ```markdown
673
+ ## ROADMAP REVISED
674
+
675
+ **Changes made:**
676
+ - {change 1}
677
+ - {change 2}
678
+
679
+ **Files updated:**
680
+ - .planning/ROADMAP.md
681
+ - .planning/STATE.md (if needed)
682
+ - .planning/REQUIREMENTS.md (if traceability changed)
683
+
684
+ ### Updated Summary
685
+
686
+ | Phase | Goal | Requirements | Verification |
687
+ |-------|------|--------------|--------------|
688
+ | 1 - {name} | {goal} | {count} | {level} |
689
+ | 2 - {name} | {goal} | {count} | {level} |
690
+
691
+ **Coverage:** {X}/{X} requirements mapped
692
+
693
+ ### Ready for Planning
694
+
695
+ Next: `/grd:plan-phase 1`
696
+ ```
697
+
698
+ ## Roadmap Blocked
699
+
700
+ When unable to proceed:
701
+
702
+ ```markdown
703
+ ## ROADMAP BLOCKED
704
+
705
+ **Blocked by:** {issue}
706
+
707
+ ### Details
708
+
709
+ {What's preventing progress}
710
+
711
+ ### Options
712
+
713
+ 1. {Resolution option 1}
714
+ 2. {Resolution option 2}
715
+
716
+ ### Awaiting
717
+
718
+ {What input is needed to continue}
719
+ ```
720
+
721
+ </structured_returns>
722
+
723
+ <anti_patterns>
724
+
725
+ ## What Not to Do
726
+
727
+ **Don't impose arbitrary structure:**
728
+ - Bad: "All projects need 5-7 phases"
729
+ - Good: Derive phases from requirements
730
+
731
+ **Don't use horizontal layers:**
732
+ - Bad: Phase 1: All data, Phase 2: All models, Phase 3: All eval
733
+ - Good: Phase 1: Complete data pipeline, Phase 2: Complete model with proxy eval
734
+
735
+ **Don't skip coverage validation:**
736
+ - Bad: "Looks like we covered everything"
737
+ - Good: Explicit mapping of every requirement to exactly one phase
738
+
739
+ **Don't write vague success criteria:**
740
+ - Bad: "Model works"
741
+ - Good: "Model achieves >85% accuracy on test_set_v2 (baseline: 82% from Paper X)"
742
+
743
+ **Don't skip Integration Phase when deferred validations exist:**
744
+ - Bad: "We'll check those later"
745
+ - Good: Explicit Integration Phase that collects all Level 3 deferred validations
746
+
747
+ **Don't add project management artifacts:**
748
+ - Bad: Time estimates, Gantt charts, resource allocation, risk matrices
749
+ - Good: Phases, goals, requirements, success criteria, verification levels
750
+
751
+ **Don't duplicate requirements across phases:**
752
+ - Bad: MODEL-01 in Phase 2 AND Phase 3
753
+ - Good: MODEL-01 in Phase 2 only
754
+
755
+ **Don't forget research phases:**
756
+ - Bad: Jump straight to implementation without survey
757
+ - Good: Survey → implement → evaluate → iterate cycle
758
+
759
+ </anti_patterns>
760
+
761
+ <success_criteria>
762
+
763
+ Roadmap is complete when:
764
+
765
+ - [ ] PROJECT.md core value understood
766
+ - [ ] All v1 requirements extracted with IDs
767
+ - [ ] Research context loaded (if exists) — LANDSCAPE.md, BASELINE.md
768
+ - [ ] Phases derived from requirements (not imposed)
769
+ - [ ] Research phases interspersed (survey → implement → evaluate → iterate)
770
+ - [ ] Depth calibration applied
771
+ - [ ] Dependencies between phases identified
772
+ - [ ] Verification levels assigned to each phase
773
+ - [ ] Integration Phase added (if deferred validations exist)
774
+ - [ ] Success criteria derived for each phase (2-5 observable behaviors)
775
+ - [ ] Quantitative targets included from BASELINE.md where available
776
+ - [ ] Success criteria cross-checked against requirements (gaps resolved)
777
+ - [ ] 100% requirement coverage validated (no orphans)
778
+ - [ ] ROADMAP.md structure complete (with verification_level per phase)
779
+ - [ ] STATE.md structure complete (with deferred_validations section)
780
+ - [ ] REQUIREMENTS.md traceability update prepared
781
+ - [ ] Tracker synced (if configured)
782
+ - [ ] Draft presented for user approval
783
+ - [ ] User feedback incorporated (if any)
784
+ - [ ] Files written (after approval)
785
+ - [ ] Structured return provided to orchestrator
786
+
787
+ Quality indicators:
788
+
789
+ - **Coherent phases:** Each delivers one complete, verifiable capability
790
+ - **Clear success criteria:** Observable with quantitative targets, not implementation details
791
+ - **Full coverage:** Every requirement mapped, no orphans
792
+ - **Natural structure:** Phases feel inevitable, not arbitrary
793
+ - **Research-aware:** Survey → implement → evaluate → iterate cycle visible
794
+ - **Verification-conscious:** Every phase has clear verification level
795
+ - **Integration-complete:** Deferred validations have a home
796
+ - **Honest gaps:** Coverage issues surfaced, not hidden
797
+
798
+ </success_criteria>