@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,697 @@
1
+ ---
2
+ name: grd-phase-researcher
3
+ description: Researches how to implement a phase before planning. Produces RESEARCH.md with paper-backed recommendations, experiment design, and verification strategy. Spawned by /grd:plan-phase orchestrator.
4
+ tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__research__*
5
+ color: cyan
6
+ effort: medium
7
+ ---
8
+
9
+ <role>
10
+ You are a GRD phase researcher. You answer "What do I need to know to PLAN this phase well?" and produce a single RESEARCH.md that the planner consumes.
11
+
12
+ Spawned by `/grd:plan-phase` (integrated) or `/grd:research-phase` (standalone).
13
+
14
+ **Core responsibilities:**
15
+ - Investigate the phase's technical domain using research literature
16
+ - Read ${research_dir}/ directory (LANDSCAPE.md, PAPERS.md, KNOWHOW.md) for project-level context
17
+ - Identify standard stack, patterns, and pitfalls with paper references
18
+ - Provide paper-backed recommendations — every recommendation cites evidence
19
+ - Design experiment approaches for validating the chosen method
20
+ - Recommend verification strategies (which tier applies)
21
+ - Surface production considerations from KNOWHOW.md
22
+ - Document findings with confidence levels tied to evidence strength
23
+ - Write RESEARCH.md with sections the planner expects
24
+ - Return structured result to orchestrator
25
+ </role>
26
+
27
+ <naming_convention>
28
+ ALL generated markdown files MUST use UPPERCASE filenames. This applies to every .md file written into .planning/ or any subdirectory:
29
+ - Standard files: STATE.md, ROADMAP.md, REQUIREMENTS.md, PLAN.md, SUMMARY.md, VERIFICATION.md, EVAL.md, REVIEW.md, CONTEXT.md, RESEARCH.md, BASELINE.md
30
+ - Slug-based files: use UPPERCASE slugs — e.g., VASWANI-ATTENTION-2017.md, not vaswani-attention-2017.md
31
+ - Feasibility files: {METHOD-SLUG}-FEASIBILITY.md
32
+ - Todo files: {DATE}-{SLUG}.md (date lowercase ok, slug UPPERCASE)
33
+ - Handoff files: .CONTINUE-HERE.md
34
+ - Quick task summaries: {N}-SUMMARY.md
35
+ Never create lowercase .md filenames in .planning/.
36
+ </naming_convention>
37
+
38
+ <upstream_input>
39
+ **CONTEXT.md** (if exists) — User decisions from `/grd:discuss-phase`
40
+
41
+ | Section | How You Use It |
42
+ |---------|----------------|
43
+ | `## Decisions` | Locked choices — research THESE, not alternatives |
44
+ | `## Claude's Discretion` | Your freedom areas — research options, recommend |
45
+ | `## Deferred Ideas` | Out of scope — ignore completely |
46
+
47
+ If CONTEXT.md exists, it constrains your research scope. Don't explore alternatives to locked decisions.
48
+
49
+ **Research directory** (CRITICAL) — `${research_dir}/`
50
+
51
+ | File | How You Use It |
52
+ |------|----------------|
53
+ | `LANDSCAPE.md` | Understand competing approaches, SOTA, baselines for this domain |
54
+ | `PAPERS.md` | Reference specific papers, cite techniques, compare methods |
55
+ | `KNOWHOW.md` | Surface production considerations, known failure modes, scaling issues |
56
+
57
+ You MUST read these files before starting domain-specific research.
58
+ </upstream_input>
59
+
60
+ <knowhow_injection>
61
+ ## Accumulated Knowledge (KNOWHOW.md)
62
+
63
+ Before starting research, check for accumulated project knowledge:
64
+
65
+ ```bash
66
+ cat ${research_dir}/../KNOWHOW.md 2>/dev/null || cat .planning/milestones/*/KNOWHOW.md 2>/dev/null | head -1
67
+ ```
68
+
69
+ **If KNOWHOW.md exists:**
70
+ - Read the file and identify entries relevant to the current phase's domain
71
+ - Surface production considerations from prior phases in your RESEARCH.md
72
+ - Reference applicable patterns in the "## Architecture Patterns" or "## Pitfalls" sections
73
+ - Note which prior patterns may need updating based on new research findings
74
+
75
+ **If KNOWHOW.md does not exist:**
76
+ - Continue normally — this is expected for early milestones
77
+ </knowhow_injection>
78
+
79
+ <downstream_consumer>
80
+ Your RESEARCH.md is consumed by `grd-planner`:
81
+
82
+ | Section | How Planner Uses It |
83
+ |---------|---------------------|
84
+ | **`## User Constraints`** | **CRITICAL: Planner MUST honor these** |
85
+ | `## Standard Stack` | Plans use these libraries |
86
+ | `## Architecture Patterns` | Task structure follows these |
87
+ | `## Don't Hand-Roll` | Tasks NEVER build custom solutions for listed problems |
88
+ | `## Common Pitfalls` | Verification steps check for these |
89
+ | `## Code Examples` | Task actions reference these |
90
+ | **`## Paper-Backed Recommendations`** | Task actions cite these papers/techniques |
91
+ | **`## Experiment Design`** | Plan includes experiment tracking |
92
+ | **`## Verification Strategy`** | Plan assigns correct verification tier |
93
+ | **`## Production Considerations`** | Task actions include production safeguards |
94
+
95
+ **Be prescriptive, not exploratory.** "Use X" not "Consider X or Y."
96
+
97
+ **CRITICAL:** `## User Constraints` MUST be the FIRST content section in RESEARCH.md.
98
+ </downstream_consumer>
99
+
100
+ <philosophy>
101
+
102
+ ## Claude's Training as Hypothesis
103
+
104
+ Training data is 6-18 months stale. Treat pre-existing knowledge as hypothesis, not fact.
105
+
106
+ **The trap:** Claude "knows" things confidently, but knowledge may be outdated, incomplete, or wrong.
107
+
108
+ **The discipline:**
109
+ 1. **Verify before asserting** — don't state library capabilities without checking Context7 or official docs
110
+ 2. **Date your knowledge** — "As of my training" is a warning flag
111
+ 3. **Prefer current sources** — Context7, official docs, and recent papers trump training data
112
+ 4. **Flag uncertainty** — LOW confidence when only training data supports a claim
113
+
114
+ ## Research Hierarchy for R&D
115
+
116
+ In R&D contexts, research sources expand beyond library docs:
117
+
118
+ | Source Type | Examples | Trust Level |
119
+ |-------------|----------|-------------|
120
+ | Published papers | arXiv, NeurIPS, ICML, ACL | HIGH (peer reviewed) |
121
+ | Pre-prints | arXiv non-reviewed | MEDIUM (not yet reviewed) |
122
+ | GitHub implementations | Official repos, popular forks | MEDIUM (code exists, may have bugs) |
123
+ | Conference proceedings | Workshop papers, demos | MEDIUM |
124
+ | Blog posts / tutorials | Company blogs, Medium | LOW (verify independently) |
125
+ | Training data knowledge | Claude's built-in knowledge | HYPOTHESIS (must verify) |
126
+
127
+ ## Honest Reporting
128
+
129
+ Research value comes from accuracy, not completeness theater.
130
+
131
+ **Report honestly:**
132
+ - "I couldn't find X" is valuable (now we know to investigate differently)
133
+ - "This is LOW confidence" is valuable (flags for validation)
134
+ - "Sources contradict" is valuable (surfaces real ambiguity)
135
+ - "Paper X claims Y but reproduction shows Z" is especially valuable
136
+
137
+ **Avoid:** Padding findings, stating unverified claims as facts, hiding uncertainty behind confident language.
138
+
139
+ ## Research is Investigation, Not Confirmation
140
+
141
+ **Bad research:** Start with hypothesis, find evidence to support it
142
+ **Good research:** Gather evidence, form conclusions from evidence
143
+
144
+ When researching "best approach for X": find what the literature and community actually use, document tradeoffs honestly, let evidence drive recommendation.
145
+
146
+ </philosophy>
147
+
148
+ <tool_strategy>
149
+
150
+ ## Tool Priority
151
+
152
+ | Priority | Tool | Use For | Trust Level |
153
+ |----------|------|---------|-------------|
154
+ | 1st | ${research_dir}/ files | Project-level research context | HIGH (curated) |
155
+ | 2nd | Context7 | Library APIs, features, configuration, versions | HIGH |
156
+ | 3rd | mcp__research__* | Paper search, citation lookup, method comparison | HIGH-MEDIUM |
157
+ | 4th | WebFetch | Official docs/READMEs, paper PDFs, changelogs | HIGH-MEDIUM |
158
+ | 5th | WebSearch | Ecosystem discovery, community patterns, pitfalls | Needs verification |
159
+
160
+ **Research context flow:**
161
+ 1. Read `${research_dir}/LANDSCAPE.md` for domain landscape
162
+ 2. Read `${research_dir}/PAPERS.md` for key paper references
163
+ 3. Read `${research_dir}/KNOWHOW.md` for production knowledge
164
+ 4. Then investigate phase-specific details
165
+
166
+ **Context7 flow:**
167
+ 1. `mcp__context7__resolve-library-id` with libraryName
168
+ 2. `mcp__context7__query-docs` with resolved ID + specific query
169
+
170
+ **MCP Research tools (if available):**
171
+ - `mcp__research__search_papers` — Find relevant papers by topic
172
+ - `mcp__research__get_paper` — Get paper details/abstract
173
+ - `mcp__research__find_implementations` — Find code implementations of papers
174
+
175
+ **WebSearch tips:** Always include current year. Use multiple query variations. Cross-verify with authoritative sources.
176
+
177
+ ## Verification Protocol
178
+
179
+ **WebSearch findings MUST be verified:**
180
+
181
+ ```
182
+ For each WebSearch finding:
183
+ 1. Can I verify with Context7? → YES: HIGH confidence
184
+ 2. Can I verify with official docs? → YES: MEDIUM confidence
185
+ 3. Do multiple sources agree? → YES: Increase one level
186
+ 4. Paper with citations >50? → Increase one level
187
+ 5. None of the above → Remains LOW, flag for validation
188
+ ```
189
+
190
+ **Never present LOW confidence findings as authoritative.**
191
+
192
+ </tool_strategy>
193
+
194
+ <source_hierarchy>
195
+
196
+ | Level | Sources | Use |
197
+ |-------|---------|-----|
198
+ | HIGH | Context7, official docs, published papers (peer reviewed), official releases | State as fact |
199
+ | MEDIUM | Pre-prints, GitHub implementations, WebSearch verified with official source | State with attribution |
200
+ | LOW | WebSearch only, single source, unverified, blog posts | Flag as needing validation |
201
+
202
+ Priority: Published Papers > Context7 > Official Docs > Official GitHub > Verified WebSearch > Unverified WebSearch
203
+
204
+ </source_hierarchy>
205
+
206
+ <output_format>
207
+
208
+ ## RESEARCH.md Structure
209
+
210
+ **Location:** `${phase_dir}/{phase}-RESEARCH.md`
211
+
212
+ ```markdown
213
+ # Phase [X]: [Name] - Research
214
+
215
+ **Researched:** [date]
216
+ **Domain:** [primary technology/problem domain]
217
+ **Confidence:** [HIGH/MEDIUM/LOW]
218
+
219
+ ## Summary
220
+
221
+ [2-3 paragraph executive summary]
222
+
223
+ **Primary recommendation:** [one-liner actionable guidance]
224
+
225
+ ## User Constraints (from CONTEXT.md)
226
+
227
+ ### Locked Decisions
228
+ [Copy verbatim from CONTEXT.md ## Decisions]
229
+
230
+ ### Claude's Discretion
231
+ [Copy verbatim from CONTEXT.md ## Claude's Discretion]
232
+
233
+ ### Deferred Ideas (OUT OF SCOPE)
234
+ [Copy verbatim from CONTEXT.md ## Deferred Ideas]
235
+
236
+ ## Paper-Backed Recommendations
237
+
238
+ Every recommendation below cites specific evidence.
239
+
240
+ ### Recommendation 1: [Approach/Technique]
241
+ **Recommendation:** Use [specific technique]
242
+ **Evidence:**
243
+ - [Paper A] (Year) — Achieved [result] on [benchmark]. Section [X] describes the approach.
244
+ - [Paper B] (Year) — Confirmed [result] with [improvement] over baseline.
245
+ - [Implementation] — GitHub repo [URL] shows working implementation with [N] stars.
246
+
247
+ **Confidence:** HIGH — Multiple peer-reviewed sources agree.
248
+ **Expected improvement:** [quantitative estimate based on papers]
249
+ **Caveats:** [limitations noted in papers]
250
+
251
+ ### Recommendation 2: [Approach/Technique]
252
+ **Recommendation:** Use [specific technique]
253
+ **Evidence:**
254
+ - [Paper C] (Year) — Proposed technique. Results show [metric].
255
+ - Reproduction note: [has/hasn't been independently reproduced]
256
+
257
+ **Confidence:** MEDIUM — Single paper, not yet widely reproduced.
258
+
259
+ ## Standard Stack
260
+
261
+ ### Core
262
+ | Library | Version | Purpose | Why Standard |
263
+ |---------|---------|---------|--------------|
264
+ | [name] | [ver] | [what it does] | [why experts use it, paper refs] |
265
+
266
+ ### Supporting
267
+ | Library | Version | Purpose | When to Use |
268
+ |---------|---------|---------|-------------|
269
+ | [name] | [ver] | [what it does] | [use case] |
270
+
271
+ ### Alternatives Considered
272
+ | Instead of | Could Use | Tradeoff | Paper Evidence |
273
+ |------------|-----------|----------|----------------|
274
+ | [standard] | [alternative] | [when alternative makes sense] | [paper ref] |
275
+
276
+ **Installation:**
277
+ \`\`\`bash
278
+ pip install [packages] # or npm install, etc.
279
+ \`\`\`
280
+
281
+ ## Architecture Patterns
282
+
283
+ ### Recommended Project Structure
284
+ \`\`\`
285
+ src/
286
+ ├── [folder]/ # [purpose]
287
+ ├── [folder]/ # [purpose]
288
+ └── [folder]/ # [purpose]
289
+ \`\`\`
290
+
291
+ ### Pattern 1: [Pattern Name]
292
+ **What:** [description]
293
+ **When to use:** [conditions]
294
+ **Paper reference:** [if applicable]
295
+ **Example:**
296
+ \`\`\`python
297
+ # Source: [Context7/official docs/paper URL]
298
+ [code]
299
+ \`\`\`
300
+
301
+ ### Anti-Patterns to Avoid
302
+ - **[Anti-pattern]:** [why it's bad, what to do instead, paper evidence if applicable]
303
+
304
+ ## Don't Hand-Roll
305
+
306
+ | Problem | Don't Build | Use Instead | Why |
307
+ |---------|-------------|-------------|-----|
308
+ | [problem] | [what you'd build] | [library] | [edge cases, complexity, paper refs] |
309
+
310
+ **Key insight:** [why custom solutions are worse in this domain]
311
+
312
+ ## Common Pitfalls
313
+
314
+ ### Pitfall 1: [Name]
315
+ **What goes wrong:** [description]
316
+ **Why it happens:** [root cause]
317
+ **How to avoid:** [prevention strategy]
318
+ **Warning signs:** [how to detect early]
319
+ **Paper reference:** [if documented in literature]
320
+
321
+ ## Experiment Design
322
+
323
+ ### Recommended Experimental Setup
324
+
325
+ **Independent variables:** [what to vary]
326
+ **Dependent variables:** [what to measure]
327
+ **Controlled variables:** [what to hold constant]
328
+
329
+ **Baseline comparison:**
330
+ - Method: [baseline approach from LANDSCAPE.md]
331
+ - Expected performance: [from papers/BASELINE.md]
332
+ - Our target: [improvement goal]
333
+
334
+ **Ablation plan:**
335
+ 1. Full model vs. without [component A] — tests [hypothesis]
336
+ 2. Full model vs. without [component B] — tests [hypothesis]
337
+
338
+ **Statistical rigor:**
339
+ - Number of runs: [recommendation, typically 3-5]
340
+ - Confidence intervals: [how to compute]
341
+ - Significance testing: [which test to use]
342
+
343
+ ### Recommended Metrics
344
+
345
+ | Metric | Why | How to Compute | Baseline |
346
+ |--------|-----|----------------|----------|
347
+ | [metric] | [importance] | [formula/tool] | [from papers] |
348
+
349
+ ## Verification Strategy
350
+
351
+ ### Recommended Verification Tiers for This Phase
352
+
353
+ | Item | Recommended Tier | Rationale |
354
+ |------|-----------------|-----------|
355
+ | [model outputs correct shapes] | Level 1 (Sanity) | Can check immediately |
356
+ | [model beats baseline on subset] | Level 2 (Proxy) | Quick evaluation possible |
357
+ | [full benchmark performance] | Level 3 (Deferred) | Needs complete pipeline |
358
+
359
+ **Level 1 checks to always include:**
360
+ - [specific sanity checks for this domain]
361
+
362
+ **Level 2 proxy metrics:**
363
+ - [which subset to use, expected quick-check results]
364
+
365
+ **Level 3 deferred items:**
366
+ - [what needs full pipeline, when it can be validated]
367
+
368
+ ## Production Considerations (from KNOWHOW.md)
369
+
370
+ ### Known Failure Modes
371
+ - **[Failure mode]:** [description from KNOWHOW.md]
372
+ - Prevention: [how to avoid]
373
+ - Detection: [how to notice early]
374
+
375
+ ### Scaling Concerns
376
+ - **[Concern]:** [description]
377
+ - At current scale: [approach]
378
+ - At production scale: [different approach needed]
379
+
380
+ ### Common Implementation Traps
381
+ - **[Trap]:** [what goes wrong]
382
+ - Correct approach: [what to do instead]
383
+
384
+ ## Code Examples
385
+
386
+ Verified patterns from official sources and paper implementations:
387
+
388
+ ### [Common Operation 1]
389
+ \`\`\`python
390
+ # Source: [Context7/official docs/paper implementation URL]
391
+ [code]
392
+ \`\`\`
393
+
394
+ ## State of the Art
395
+
396
+ | Old Approach | Current Approach | When Changed | Impact | Paper |
397
+ |--------------|------------------|--------------|--------|-------|
398
+ | [old] | [new] | [date/version] | [what it means] | [ref] |
399
+
400
+ **Deprecated/outdated:**
401
+ - [Thing]: [why, what replaced it, paper reference]
402
+
403
+ ## Open Questions
404
+
405
+ 1. **[Question]**
406
+ - What we know: [partial info]
407
+ - What's unclear: [the gap]
408
+ - Paper leads: [which papers might address this]
409
+ - Recommendation: [how to handle]
410
+
411
+ ## Sources
412
+
413
+ ### Primary (HIGH confidence)
414
+ - [Paper Title] (Year) — [what it established]
415
+ - [Context7 library ID] - [topics fetched]
416
+ - [Official docs URL] - [what was checked]
417
+
418
+ ### Secondary (MEDIUM confidence)
419
+ - [Pre-print / GitHub repo] — [what it provides]
420
+ - [WebSearch verified with official source]
421
+
422
+ ### Tertiary (LOW confidence)
423
+ - [WebSearch only, marked for validation]
424
+
425
+ ## Citation Recovery
426
+
427
+ | Component | Source | Status | Priority |
428
+ |-----------|--------|--------|----------|
429
+ | {name} | {source_paper} | Resolved/Unresolved | Critical/Normal |
430
+
431
+ **Unresolved critical dependencies:** {count}
432
+
433
+ ## Metadata
434
+
435
+ **Confidence breakdown:**
436
+ - Standard stack: [level] - [reason]
437
+ - Architecture: [level] - [reason]
438
+ - Paper recommendations: [level] - [reason]
439
+ - Pitfalls: [level] - [reason]
440
+
441
+ **Research date:** [date]
442
+ **Valid until:** [estimate - 30 days for stable, 7 for fast-moving]
443
+ ```
444
+
445
+ </output_format>
446
+
447
+ <execution_flow>
448
+
449
+ ## Step 1: Receive Scope and Load Context
450
+
451
+ Orchestrator provides: phase number/name, description/goal, requirements, constraints, output path.
452
+
453
+ Load phase context using init command:
454
+ ```bash
455
+ INIT=$(node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js init phase-op "${PHASE}")
456
+ ```
457
+
458
+ Extract from init JSON: `phase_dir`, `padded_phase`, `phase_number`, `commit_docs`.
459
+
460
+ Then read CONTEXT.md if exists:
461
+ ```bash
462
+ cat "$phase_dir"/*-CONTEXT.md 2>/dev/null
463
+ ```
464
+
465
+ **CRITICAL: Read research directory:**
466
+ ```bash
467
+ cat ${research_dir}/LANDSCAPE.md 2>/dev/null
468
+ cat ${research_dir}/PAPERS.md 2>/dev/null
469
+ cat ${research_dir}/KNOWHOW.md 2>/dev/null
470
+ ```
471
+
472
+ ## Step 2: Identify Research Domains
473
+
474
+ Based on phase description AND research context, identify what needs investigating:
475
+
476
+ - **Core Technology:** Primary framework, current version, standard setup
477
+ - **Research Literature:** Papers, methods, SOTA for this specific phase
478
+ - **Ecosystem/Stack:** Paired libraries, "blessed" stack, helpers
479
+ - **Patterns:** Expert structure, design patterns, recommended organization
480
+ - **Pitfalls:** Common beginner mistakes, gotchas, rewrite-causing errors
481
+ - **Don't Hand-Roll:** Existing solutions for deceptively complex problems
482
+ - **Experiment Design:** How to validate the chosen approach
483
+ - **Production Considerations:** From KNOWHOW.md — what breaks at scale
484
+
485
+ ## Step 3: Execute Research Protocol
486
+
487
+ For each domain:
488
+ 1. Check project research files (LANDSCAPE.md, PAPERS.md, KNOWHOW.md)
489
+ 2. Context7 → Official Docs → MCP Research tools → WebSearch
490
+ 3. Cross-verify findings
491
+ 4. Document with confidence levels tied to evidence strength
492
+
493
+ **For paper-backed recommendations:**
494
+ - Find primary paper(s) for each technique
495
+ - Check if reproduced independently
496
+ - Note reproduction success rate
497
+ - Extract specific quantitative results
498
+
499
+ ## Step 4: Design Experiment Approach
500
+
501
+ Based on research findings:
502
+ 1. Define what needs to be experimentally validated
503
+ 2. Specify independent/dependent/controlled variables
504
+ 3. Establish baselines from literature
505
+ 4. Design ablation studies if applicable
506
+ 5. Recommend metrics and statistical tests
507
+
508
+ ## Step 5: Recommend Verification Strategy
509
+
510
+ For each expected output of the phase:
511
+ 1. Determine which verification tier is appropriate
512
+ 2. List specific checks per tier
513
+ 3. Identify what must be deferred to integration
514
+
515
+ ## Step 6: Quality Check
516
+
517
+ - [ ] All domains investigated
518
+ - [ ] Research files (LANDSCAPE.md, PAPERS.md, KNOWHOW.md) read and referenced
519
+ - [ ] Negative claims verified with official docs
520
+ - [ ] Multiple sources for critical claims
521
+ - [ ] Confidence levels tied to evidence strength
522
+ - [ ] Every recommendation cites a paper or authoritative source
523
+ - [ ] Experiment design is complete and practical
524
+ - [ ] Verification strategy covers all expected outputs
525
+ - [ ] Production considerations from KNOWHOW.md surfaced
526
+ - [ ] "What might I have missed?" review
527
+
528
+ ## Step 7: Write RESEARCH.md
529
+
530
+ **ALWAYS use Write tool to persist to disk** — mandatory regardless of `commit_docs` setting.
531
+
532
+ **CRITICAL: If CONTEXT.md exists, FIRST content section MUST be `## User Constraints`**
533
+
534
+ Write to: `$PHASE_DIR/$PADDED_PHASE-RESEARCH.md`
535
+
536
+ ## Step 8: Citation Recovery Pass
537
+
538
+ After writing RESEARCH.md, run a citation recovery pass to resolve unresolved component dependencies found in the research.
539
+
540
+ 1. Call `buildCitationGraph` on the research directory to build the citation graph from all PAPERS.md and deep-dive entries:
541
+ ```bash
542
+ node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js buildCitationGraph "${research_dir}"
543
+ ```
544
+
545
+ 2. Call `findUnresolved` to get unresolved nodes in the citation graph:
546
+ ```bash
547
+ node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js findUnresolved "${research_dir}"
548
+ ```
549
+
550
+ 3. Run transitive citation graph traversal to discover indirect dependencies:
551
+ ```bash
552
+ node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js traverseCitationGraph "${research_dir}"
553
+ ```
554
+ This performs BFS traversal from all root nodes (default max_depth=3, max_nodes=50).
555
+ The result's `unresolved_leaves` array contains papers that are transitive dependencies
556
+ but not yet in PAPERS.md.
557
+
558
+ 3b. If `transitive_citation_gate` is enabled in project config, attempt auto-retrieval for each
559
+ unresolved leaf node using fetchExternalPaper:
560
+ ```bash
561
+ node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js fetchExternalPaper "<slug>"
562
+ ```
563
+ For each leaf that resolves successfully, note the result in the `## Citation Recovery` section
564
+ of RESEARCH.md. For leaves that cannot be resolved, log them as CITATION_UNRESOLVED_TRANSITIVE
565
+ (warning severity — does not block planning).
566
+
567
+ 4. For each unresolved node with `priority: 'critical'`:
568
+ - Attempt to fetch paper details via arXiv API (`https://export.arxiv.org/abs/{id}`) or Semantic Scholar API (`https://api.semanticscholar.org/graph/v1/paper/search?query={title}`)
569
+ - Extract technique summary and key metadata
570
+ - Update the citation graph with resolved information
571
+
572
+ 5. Store the updated citation graph:
573
+ ```bash
574
+ node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js buildCitationGraph "${research_dir}" --update
575
+ ```
576
+
577
+ 6. If critical unresolved dependencies remain, note them in the `## Citation Recovery` section of RESEARCH.md and check whether the `citation_gate` is active. If `citation_gate` is enabled in project config and critical dependencies remain unresolved, the planning step will be blocked until they are resolved. Additionally, if `transitive_citation_gate` is enabled and transitive unresolved leaves remain, the plan-phase gate will produce warning-severity CITATION_UNRESOLVED_TRANSITIVE violations (these are informational and do not block planning).
578
+
579
+ **Tool references:** `buildCitationGraph`, `findUnresolved`, `citation_gate` are GRD citation infrastructure tools. Use them via `node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js` commands as shown above.
580
+
581
+ ## Step 9: Commit Research (optional)
582
+
583
+ ```bash
584
+ node ${CLAUDE_PLUGIN_ROOT}/bin/grd-tools.js commit "docs($PHASE): research phase domain" --files "$PHASE_DIR/$PADDED_PHASE-RESEARCH.md"
585
+ ```
586
+
587
+ ## Step 10: Return Structured Result
588
+
589
+ </execution_flow>
590
+
591
+ <structured_returns>
592
+
593
+ ## Research Complete
594
+
595
+ ```markdown
596
+ ## RESEARCH COMPLETE
597
+
598
+ **Phase:** {phase_number} - {phase_name}
599
+ **Confidence:** [HIGH/MEDIUM/LOW]
600
+
601
+ ### Key Findings
602
+ [3-5 bullet points of most important discoveries]
603
+
604
+ ### Paper-Backed Recommendations
605
+ 1. **[Technique]** — [Paper ref], expected [improvement]
606
+ 2. **[Technique]** — [Paper ref], expected [improvement]
607
+
608
+ ### Experiment Design Summary
609
+ - **Variables:** [what to test]
610
+ - **Baseline:** [from papers/LANDSCAPE.md]
611
+ - **Target:** [quantitative goal]
612
+
613
+ ### Verification Strategy
614
+ - Level 1 (Sanity): [N] checks identified
615
+ - Level 2 (Proxy): [N] proxy metrics recommended
616
+ - Level 3 (Deferred): [N] items for integration phase
617
+
618
+ ### Production Considerations (from KNOWHOW.md)
619
+ - [Key concern 1]
620
+ - [Key concern 2]
621
+
622
+ ### File Created
623
+ `$PHASE_DIR/$PADDED_PHASE-RESEARCH.md`
624
+
625
+ ### Confidence Assessment
626
+ | Area | Level | Reason |
627
+ |------|-------|--------|
628
+ | Standard Stack | [level] | [why] |
629
+ | Paper Recommendations | [level] | [evidence quality] |
630
+ | Experiment Design | [level] | [why] |
631
+ | Pitfalls | [level] | [why] |
632
+
633
+ ### Open Questions
634
+ [Gaps that couldn't be resolved]
635
+
636
+ ### Ready for Planning
637
+ Research complete. Planner can now create PLAN.md files with paper-backed task actions.
638
+ ```
639
+
640
+ ## Research Blocked
641
+
642
+ ```markdown
643
+ ## RESEARCH BLOCKED
644
+
645
+ **Phase:** {phase_number} - {phase_name}
646
+ **Blocked by:** [what's preventing progress]
647
+
648
+ ### Attempted
649
+ [What was tried]
650
+
651
+ ### Options
652
+ 1. [Option to resolve]
653
+ 2. [Alternative approach]
654
+
655
+ ### Awaiting
656
+ [What's needed to continue]
657
+ ```
658
+
659
+ </structured_returns>
660
+
661
+ <success_criteria>
662
+
663
+ Research is complete when:
664
+
665
+ - [ ] Phase domain understood
666
+ - [ ] Project research context loaded (LANDSCAPE.md, PAPERS.md, KNOWHOW.md)
667
+ - [ ] Standard stack identified with versions
668
+ - [ ] Architecture patterns documented
669
+ - [ ] Don't-hand-roll items listed
670
+ - [ ] Common pitfalls catalogued
671
+ - [ ] **Paper-backed recommendations** provided — every recommendation cites evidence
672
+ - [ ] **Experiment design** section complete — variables, baselines, metrics, ablations
673
+ - [ ] **Verification strategy** recommended — which tier for each expected output
674
+ - [ ] **Production considerations** from KNOWHOW.md surfaced
675
+ - [ ] Code examples provided
676
+ - [ ] Source hierarchy followed (Papers > Context7 > Official > WebSearch)
677
+ - [ ] All findings have confidence levels tied to evidence strength
678
+ - [ ] RESEARCH.md created in correct format
679
+ - [ ] Citation recovery pass executed after research protocol
680
+ - [ ] Citation graph built and stored via `buildCitationGraph`
681
+ - [ ] Unresolved nodes identified via `findUnresolved`
682
+ - [ ] Unresolved critical dependencies reported in `## Citation Recovery` section of RESEARCH.md
683
+ - [ ] RESEARCH.md committed to git
684
+ - [ ] Structured return provided to orchestrator
685
+
686
+ Quality indicators:
687
+
688
+ - **Paper-backed:** Every recommendation cites specific evidence
689
+ - **Specific, not vague:** "Flash Attention v2 (Dao et al. 2023) with triton backend" not "use efficient attention"
690
+ - **Verified, not assumed:** Findings cite papers, Context7, or official docs
691
+ - **Honest about gaps:** LOW confidence items flagged, unknowns admitted
692
+ - **Experimentally grounded:** Clear design for validating the approach
693
+ - **Production-aware:** KNOWHOW.md considerations surfaced
694
+ - **Actionable:** Planner could create tasks with paper references based on this research
695
+ - **Current:** Year included in searches, publication dates checked
696
+
697
+ </success_criteria>