@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 @@
1
+ {"version":3,"file":"phase.js","sourceRoot":"","sources":["../../lib/phase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ export interface ScoringWeights {
2
+ completeness: number;
3
+ goal_alignment: number;
4
+ hypothesis_quality: number;
5
+ conciseness: number;
6
+ }
7
+ export declare const DEFAULT_WEIGHTS: ScoringWeights;
8
+ export interface ScoreBreakdown {
9
+ completeness: number;
10
+ goal_alignment: number;
11
+ hypothesis_quality: number;
12
+ conciseness: number;
13
+ }
14
+ export interface CandidateResult {
15
+ path: string;
16
+ score: number;
17
+ breakdown: ScoreBreakdown;
18
+ /** Set when the candidate could not be parsed at all. */
19
+ error?: string;
20
+ /**
21
+ * Warning surfaced when the candidate's declared phase does not match
22
+ * the tournament's --phase argument. The candidate is still scored, but
23
+ * goal_alignment is computed against the tournament phase (not the
24
+ * candidate's stale phase), and this flag lets reviewers notice the
25
+ * mismatch in the JSON output.
26
+ */
27
+ phase_mismatch?: string;
28
+ }
29
+ export interface TournamentResult {
30
+ winner: CandidateResult | null;
31
+ ranked: CandidateResult[];
32
+ phase: string;
33
+ weights: ScoringWeights;
34
+ }
35
+ /**
36
+ * v0.4 hardcoded Jaccard-similarity threshold for clustering near-identical
37
+ * plan candidates. Codex r8 P1: v0.4 ships zero new user-facing config knobs
38
+ * besides `effort`, so this is a `const` (not config). Promotion to a knob is
39
+ * deferred to v0.5 (DEFER-v0.4-4-threshold-tuning). Higher → fewer merges:
40
+ * 0.50 over-merges loosely related plans, 0.95 leaves paraphrases separate,
41
+ * 0.85 merges near-clones only.
42
+ */
43
+ export declare const PROXIMITY_THRESHOLD = 0.85;
44
+ /**
45
+ * Build the clustering vocabulary for a candidate from its
46
+ * `files_modified` frontmatter + reflection `hypothesis` + the full plan
47
+ * body (covers the PLAN.md "files_modified + tasks + reflection.hypothesis"
48
+ * sources). Uses the same tokenizer/stopwords as drift + scoring.
49
+ */
50
+ export declare function extractPlanVocabulary(content: string, fm: Record<string, unknown>): Set<string>;
51
+ /**
52
+ * Single-link agglomerative clustering of candidate vocabularies by Jaccard
53
+ * SIMILARITY. Two candidates are linked when their Jaccard similarity is
54
+ * `>= threshold`; single-link means transitively connected candidates land
55
+ * in the same cluster (A~B and B~C ⇒ {A,B,C} even if A≁C).
56
+ *
57
+ * Returns an array of clusters, each a sorted list of the original indices
58
+ * into `vocabularies`. Deterministic: clusters and their members are
59
+ * returned in ascending-index order. Pure — no I/O, no scoring (the caller
60
+ * picks each cluster's representative).
61
+ */
62
+ export declare function clusterByJaccard(vocabularies: Set<string>[], threshold?: number): number[][];
63
+ //# sourceMappingURL=plan-tournament.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-tournament.d.ts","sourceRoot":"","sources":["../../lib/plan-tournament.ts"],"names":[],"mappings":"AAiDA,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,eAAe,EAAE,cAK7B,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;IAC1B,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,CAAC;CACzB;AA0GD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1B,GAAG,CAAC,MAAM,CAAC,CAMb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAC3B,SAAS,GAAE,MAA4B,GACtC,MAAM,EAAE,EAAE,CAqCZ"}
@@ -0,0 +1,353 @@
1
+ 'use strict';
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.PROXIMITY_THRESHOLD = exports.DEFAULT_WEIGHTS = void 0;
37
+ exports.extractPlanVocabulary = extractPlanVocabulary;
38
+ exports.clusterByJaccard = clusterByJaccard;
39
+ /**
40
+ * GRD plan-tournament — scoring + selection for candidate PLAN.md files.
41
+ *
42
+ * Tier-3 #9 of the Ouroboros integration. The proposal flagged the full
43
+ * Kargatharaakash-style "generate N plans in parallel, keep best" as
44
+ * expensive + backend-variance-risky. This module ships the scoring +
45
+ * selection half: caller supplies candidate paths, tournament reads them,
46
+ * ranks them, returns the winner. Auto-generation of candidates is a
47
+ * deliberate follow-up so this PR does not block on worktree orchestration.
48
+ *
49
+ * Scoring axes (each in [0, 1], higher is better):
50
+ *
51
+ * completeness — fraction of required PLAN.md frontmatter fields
52
+ * present (phase, plan, type, wave, depends_on,
53
+ * files_modified, autonomous, must_haves)
54
+ * goal_alignment — token Jaccard overlap between PLAN's hypothesis +
55
+ * predicted_outcome and the ROADMAP.md phase goal.
56
+ * Reuses the same vocab approach as lib/drift.ts.
57
+ * hypothesis_quality — 1 if both top-level `hypothesis:` and
58
+ * `predicted_outcome:` scalars are present and
59
+ * non-empty (Tier-1 #1); 0 otherwise.
60
+ * conciseness — sigmoid penalty for token count over a budget,
61
+ * so a clear short plan ranks above a wordy long one
62
+ * with the same content.
63
+ *
64
+ * Default weights: completeness 0.35, goal_alignment 0.30,
65
+ * hypothesis_quality 0.20, conciseness 0.15. Configurable.
66
+ */
67
+ const path = __importStar(require("path"));
68
+ const { planningDir: getPlanningDir, } = require('./paths');
69
+ const { safeReadFile, safeReadMarkdown, } = require('./utils');
70
+ const { extractFrontmatter, } = require('./frontmatter');
71
+ exports.DEFAULT_WEIGHTS = {
72
+ completeness: 0.35,
73
+ goal_alignment: 0.3,
74
+ hypothesis_quality: 0.2,
75
+ conciseness: 0.15,
76
+ };
77
+ // ─── Required frontmatter fields ───────────────────────────────────────────
78
+ const REQUIRED_FIELDS = [
79
+ 'phase',
80
+ 'plan',
81
+ 'type',
82
+ 'wave',
83
+ 'depends_on',
84
+ 'files_modified',
85
+ 'autonomous',
86
+ 'must_haves',
87
+ ];
88
+ const CONCISENESS_TARGET_TOKENS = 2000;
89
+ const CONCISENESS_HARD_CAP_TOKENS = 8000;
90
+ // ─── Tokenisation (shared with drift) ──────────────────────────────────────
91
+ const _STOP_WORDS = new Set([
92
+ 'the', 'and', 'for', 'with', 'from', 'into', 'over', 'this', 'that',
93
+ 'are', 'was', 'were', 'has', 'have', 'had', 'will', 'would', 'should',
94
+ 'phase', 'plan', 'summary', 'roadmap', 'task', 'goal',
95
+ ]);
96
+ function _tokens(text) {
97
+ const set = new Set();
98
+ const matches = text.toLowerCase().match(/[a-z0-9][a-z0-9_-]{2,}/g);
99
+ if (!matches)
100
+ return set;
101
+ for (const t of matches) {
102
+ if (_STOP_WORDS.has(t))
103
+ continue;
104
+ set.add(t);
105
+ }
106
+ return set;
107
+ }
108
+ function _jaccard(a, b) {
109
+ if (a.size === 0 && b.size === 0)
110
+ return 0;
111
+ let intersection = 0;
112
+ for (const x of a)
113
+ if (b.has(x))
114
+ intersection++;
115
+ const union = a.size + b.size - intersection;
116
+ return union === 0 ? 0 : intersection / union;
117
+ }
118
+ // ─── ROADMAP goal extraction (relaxed heading levels, matches drift) ──────
119
+ function _extractRoadmapGoal(roadmap, phaseNumber) {
120
+ // codex r3 P2 on PR #41: ROADMAP headings may use padded forms
121
+ // (`Phase 06.1`) for decimal phases generated by `gd phase insert`.
122
+ // Build the per-component number pattern to accept optional leading
123
+ // zeros at each level so both `Phase 6.1` and `Phase 06.1` match the
124
+ // same phase-number argument.
125
+ const trim = phaseNumber.replace(/^0+/, '') || '0';
126
+ const numberPattern = trim
127
+ .split('.')
128
+ .map((p) => `0*${p.replace(/^0+/, '') || '0'}`)
129
+ .join('\\.');
130
+ const re = new RegExp(`(#{2,4})\\s+Phase ${numberPattern}:[^\\n]*\\n([\\s\\S]*?)(?=\\n#{2,4}\\s+Phase\\s|\\n##[^#]|$)`, 'i');
131
+ const m = roadmap.match(re);
132
+ return m ? m[0] : null;
133
+ }
134
+ // ─── Per-axis scorers ──────────────────────────────────────────────────────
135
+ function _scoreCompleteness(fm) {
136
+ const present = REQUIRED_FIELDS.filter((f) => fm[f] !== undefined && fm[f] !== null);
137
+ return present.length / REQUIRED_FIELDS.length;
138
+ }
139
+ function _scoreHypothesisQuality(fm) {
140
+ const hyp = fm['hypothesis'];
141
+ const pred = fm['predicted_outcome'];
142
+ const ok = (v) => typeof v === 'string' && v.trim().length > 0;
143
+ return ok(hyp) && ok(pred) ? 1 : 0;
144
+ }
145
+ function _scoreGoalAlignment(fm, goalText) {
146
+ if (!goalText)
147
+ return 0;
148
+ const hyp = typeof fm['hypothesis'] === 'string' ? fm['hypothesis'] : '';
149
+ const pred = typeof fm['predicted_outcome'] === 'string' ? fm['predicted_outcome'] : '';
150
+ const claim = `${hyp}\n${pred}`.trim();
151
+ if (claim.length === 0)
152
+ return 0;
153
+ return _jaccard(_tokens(claim), _tokens(goalText));
154
+ }
155
+ function _scoreConciseness(content) {
156
+ // Approximate token count as whitespace-separated words. Sigmoid-ish:
157
+ // 1.0 at target or below, decaying smoothly toward 0 by the hard cap.
158
+ const tokens = content.split(/\s+/).filter((s) => s.length > 0).length;
159
+ if (tokens <= CONCISENESS_TARGET_TOKENS)
160
+ return 1;
161
+ if (tokens >= CONCISENESS_HARD_CAP_TOKENS)
162
+ return 0;
163
+ // Linear decay between target and hard cap.
164
+ return (1 - (tokens - CONCISENESS_TARGET_TOKENS) / (CONCISENESS_HARD_CAP_TOKENS - CONCISENESS_TARGET_TOKENS));
165
+ }
166
+ // ─── Proximity dedup (v0.4 Phase 4) ────────────────────────────────────────
167
+ /**
168
+ * v0.4 hardcoded Jaccard-similarity threshold for clustering near-identical
169
+ * plan candidates. Codex r8 P1: v0.4 ships zero new user-facing config knobs
170
+ * besides `effort`, so this is a `const` (not config). Promotion to a knob is
171
+ * deferred to v0.5 (DEFER-v0.4-4-threshold-tuning). Higher → fewer merges:
172
+ * 0.50 over-merges loosely related plans, 0.95 leaves paraphrases separate,
173
+ * 0.85 merges near-clones only.
174
+ */
175
+ exports.PROXIMITY_THRESHOLD = 0.85;
176
+ /**
177
+ * Build the clustering vocabulary for a candidate from its
178
+ * `files_modified` frontmatter + reflection `hypothesis` + the full plan
179
+ * body (covers the PLAN.md "files_modified + tasks + reflection.hypothesis"
180
+ * sources). Uses the same tokenizer/stopwords as drift + scoring.
181
+ */
182
+ function extractPlanVocabulary(content, fm) {
183
+ const filesModified = Array.isArray(fm['files_modified'])
184
+ ? fm['files_modified'].map(String)
185
+ : [];
186
+ const hypothesis = typeof fm['hypothesis'] === 'string' ? fm['hypothesis'] : '';
187
+ return _tokens(`${filesModified.join(' ')}\n${hypothesis}\n${content}`);
188
+ }
189
+ /**
190
+ * Single-link agglomerative clustering of candidate vocabularies by Jaccard
191
+ * SIMILARITY. Two candidates are linked when their Jaccard similarity is
192
+ * `>= threshold`; single-link means transitively connected candidates land
193
+ * in the same cluster (A~B and B~C ⇒ {A,B,C} even if A≁C).
194
+ *
195
+ * Returns an array of clusters, each a sorted list of the original indices
196
+ * into `vocabularies`. Deterministic: clusters and their members are
197
+ * returned in ascending-index order. Pure — no I/O, no scoring (the caller
198
+ * picks each cluster's representative).
199
+ */
200
+ function clusterByJaccard(vocabularies, threshold = exports.PROXIMITY_THRESHOLD) {
201
+ const n = vocabularies.length;
202
+ // Union-find over indices.
203
+ const parent = Array.from({ length: n }, (_, i) => i);
204
+ const find = (x) => {
205
+ let r = x;
206
+ while (parent[r] !== r)
207
+ r = parent[r];
208
+ // Path compression.
209
+ let c = x;
210
+ while (parent[c] !== r) {
211
+ const next = parent[c];
212
+ parent[c] = r;
213
+ c = next;
214
+ }
215
+ return r;
216
+ };
217
+ const union = (a, b) => {
218
+ const ra = find(a);
219
+ const rb = find(b);
220
+ if (ra !== rb)
221
+ parent[Math.max(ra, rb)] = Math.min(ra, rb);
222
+ };
223
+ for (let i = 0; i < n; i++) {
224
+ for (let j = i + 1; j < n; j++) {
225
+ if (_jaccard(vocabularies[i], vocabularies[j]) >= threshold)
226
+ union(i, j);
227
+ }
228
+ }
229
+ const groups = new Map();
230
+ for (let i = 0; i < n; i++) {
231
+ const root = find(i);
232
+ const g = groups.get(root);
233
+ if (g)
234
+ g.push(i);
235
+ else
236
+ groups.set(root, [i]);
237
+ }
238
+ // Sort clusters by their smallest member index for determinism.
239
+ return Array.from(groups.values()).sort((a, b) => a[0] - b[0]);
240
+ }
241
+ // ─── Public API ────────────────────────────────────────────────────────────
242
+ /**
243
+ * Score a single candidate PLAN.md file against the tournament's
244
+ * `tournamentPhase` (NOT the candidate's claimed phase — codex r1 P2
245
+ * caught the case where a stale wrong-phase PLAN.md scored against its
246
+ * own ROADMAP section and still won the tournament).
247
+ *
248
+ * If the candidate's declared `phase` does not match `tournamentPhase`,
249
+ * the result carries a `phase_mismatch` warning but is still scored so
250
+ * the caller can see *why* it ranked low instead of being silently
251
+ * filtered out.
252
+ *
253
+ * Returns score 0 with `error` set when the file is unreadable.
254
+ */
255
+ function scorePlanCandidate(candidatePath, cwd, tournamentPhase, weights = exports.DEFAULT_WEIGHTS) {
256
+ const content = safeReadFile(candidatePath);
257
+ if (!content) {
258
+ return {
259
+ path: candidatePath,
260
+ score: 0,
261
+ breakdown: { completeness: 0, goal_alignment: 0, hypothesis_quality: 0, conciseness: 0 },
262
+ error: 'File not found or unreadable',
263
+ };
264
+ }
265
+ const fm = extractFrontmatter(content);
266
+ const completeness = _scoreCompleteness(fm);
267
+ const hypothesis_quality = _scoreHypothesisQuality(fm);
268
+ const conciseness = _scoreConciseness(content);
269
+ // codex r1 P2: goal alignment uses the TOURNAMENT phase, not whatever
270
+ // the candidate file declares — otherwise the tournament's --phase
271
+ // flag is ignored and a stale candidate can win against its own goal.
272
+ //
273
+ // codex r2 P3: strip leading zeros from both sides so `--phase 1` and
274
+ // `phase: 01` compare equal — they refer to the same phase, and
275
+ // _extractRoadmapGoal already strips leading zeros internally. Without
276
+ // this normalisation the mismatch warning fired spuriously on every
277
+ // canonical zero-padded plan file.
278
+ const stripLeadingZeros = (s) => {
279
+ const m = s.match(/^(\d+(?:\.\d+)?)/);
280
+ if (!m)
281
+ return s;
282
+ const major = m[1].split('.')[0].replace(/^0+/, '') || '0';
283
+ const decimal = m[1].includes('.') ? `.${m[1].split('.')[1]}` : '';
284
+ return major + decimal;
285
+ };
286
+ const normalizedTournamentPhase = stripLeadingZeros(tournamentPhase);
287
+ const claimedPhase = typeof fm['phase'] === 'string' ? stripLeadingZeros(fm['phase']) : '';
288
+ // codex r1 P2: use safeReadMarkdown so projects with split-format
289
+ // ROADMAP.md (GRD-INDEX partials) reassemble correctly. Pre-fix,
290
+ // safeReadFile only saw the index stub and goal_alignment was always 0.
291
+ const roadmap = safeReadMarkdown(path.join(getPlanningDir(cwd), 'ROADMAP.md'));
292
+ const goalText = roadmap && normalizedTournamentPhase
293
+ ? _extractRoadmapGoal(roadmap, normalizedTournamentPhase)
294
+ : null;
295
+ const goal_alignment = _scoreGoalAlignment(fm, goalText);
296
+ const score = weights.completeness * completeness +
297
+ weights.goal_alignment * goal_alignment +
298
+ weights.hypothesis_quality * hypothesis_quality +
299
+ weights.conciseness * conciseness;
300
+ const result = {
301
+ path: candidatePath,
302
+ score,
303
+ breakdown: { completeness, goal_alignment, hypothesis_quality, conciseness },
304
+ };
305
+ if (claimedPhase && claimedPhase !== normalizedTournamentPhase) {
306
+ result.phase_mismatch = `candidate declares phase "${claimedPhase}" but tournament is for phase "${normalizedTournamentPhase}"`;
307
+ }
308
+ return result;
309
+ }
310
+ /**
311
+ * Run a tournament over candidate PLAN.md paths. Returns ranked results
312
+ * (highest score first) plus the winner. Ties are broken deterministically
313
+ * by the input order (stable sort).
314
+ */
315
+ function runTournament(candidatePaths, cwd, phase, weights = exports.DEFAULT_WEIGHTS) {
316
+ const results = candidatePaths.map((p) => scorePlanCandidate(p, cwd, phase, weights));
317
+ // Stable sort: assign indices, sort by (score desc, index asc).
318
+ const indexed = results.map((r, i) => ({ r, i }));
319
+ indexed.sort((a, b) => {
320
+ if (b.r.score !== a.r.score)
321
+ return b.r.score - a.r.score;
322
+ return a.i - b.i;
323
+ });
324
+ const ranked = indexed.map((x) => x.r);
325
+ const winner = ranked.length > 0 && ranked[0].score > 0 ? ranked[0] : null;
326
+ return { winner, ranked, phase, weights };
327
+ }
328
+ // ─── CLI ───────────────────────────────────────────────────────────────────
329
+ const { output, error, } = require('./utils');
330
+ function cmdPlanTournament(cwd, opts, raw) {
331
+ if (!opts.phase)
332
+ error('--phase required');
333
+ if (!opts.candidates || opts.candidates.length === 0) {
334
+ error('--candidates required (one or more PLAN.md paths)');
335
+ }
336
+ // Resolve relative paths against cwd
337
+ const resolved = opts.candidates.map((p) => path.isAbsolute(p) ? p : path.join(cwd, p));
338
+ const result = runTournament(resolved, cwd, opts.phase, opts.weights);
339
+ output(result, raw, result.winner
340
+ ? `winner: ${path.relative(cwd, result.winner.path)} (score ${result.winner.score.toFixed(3)})`
341
+ : 'no viable winner');
342
+ }
343
+ module.exports = {
344
+ scorePlanCandidate,
345
+ runTournament,
346
+ cmdPlanTournament,
347
+ DEFAULT_WEIGHTS: exports.DEFAULT_WEIGHTS,
348
+ // v0.4 Phase 4: proximity dedup
349
+ PROXIMITY_THRESHOLD: exports.PROXIMITY_THRESHOLD,
350
+ extractPlanVocabulary,
351
+ clusterByJaccard,
352
+ };
353
+ //# sourceMappingURL=plan-tournament.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-tournament.js","sourceRoot":"","sources":["../../lib/plan-tournament.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * GRD Closed-Loop Metric-Driven Refinement
3
+ *
4
+ * Foundational logic for closed-loop refinement: collecting quantitative
5
+ * metrics from test/lint/build output, detecting when metrics stop improving
6
+ * (convergence), and routing to the correct refinement branch based on which
7
+ * dimension needs the most attention.
8
+ *
9
+ * Adapted from NERFIFY's PSNR-minima ROI analysis to GRD's domain:
10
+ * - test coverage minima (analogous to PSNR dips in low-detail regions)
11
+ * - type error density (analogous to geometry reconstruction errors)
12
+ * - lint violation clustering (analogous to generative artifact noise)
13
+ *
14
+ * @module refinement
15
+ */
16
+ import type { RefinementMetrics, CritiqueBranch, ConvergenceConfig, MetricSnapshot, MinimaRegion } from './types';
17
+ /**
18
+ * Collect quantitative metrics from npm test, tsc, and eslint output.
19
+ *
20
+ * @param testOutput - Raw stdout from `npm test` (Jest output with coverage table)
21
+ * @param tscOutput - Raw stdout/stderr from `tsc --noEmit`
22
+ * @param lintOutput - Raw stdout from `eslint`
23
+ * @returns RefinementMetrics with current ISO timestamp
24
+ */
25
+ export declare function collectMetrics(testOutput: string, tscOutput: string, lintOutput: string): RefinementMetrics;
26
+ /**
27
+ * Detect metric-minima regions from a time series of MetricSnapshot objects.
28
+ *
29
+ * For test_coverage_pct: finds local minima (dips where coverage < both neighbors).
30
+ * For type_error_count and lint_violation_count: finds local maxima (spikes where
31
+ * count > both neighbors).
32
+ *
33
+ * Adapted from NERFIFY PSNR-minima ROI analysis.
34
+ *
35
+ * @param snapshots - Ordered array of metric snapshots
36
+ * @returns Array of MinimaRegion objects sorted by |delta| descending
37
+ */
38
+ export declare function detectMinima(snapshots: MetricSnapshot[]): MinimaRegion[];
39
+ /**
40
+ * Check whether metrics have converged (stopped improving meaningfully).
41
+ *
42
+ * @param snapshots - Ordered array of metric snapshots (newest last)
43
+ * @param config - Convergence thresholds and max iteration cap
44
+ * @returns { converged: boolean, reason: string }
45
+ */
46
+ export declare function checkConvergence(snapshots: MetricSnapshot[], config: ConvergenceConfig): {
47
+ converged: boolean;
48
+ reason: string;
49
+ };
50
+ /**
51
+ * Classify which refinement branch should handle the current metric state.
52
+ *
53
+ * Computes normalized gap for each dimension and routes to the branch
54
+ * with the largest gap to target:
55
+ * - 'macro': coverage gap is largest (metric-minima guided patching)
56
+ * - 'geometry': type error gap is largest (structural validation)
57
+ * - 'generative': lint gap is largest (artifact analysis)
58
+ *
59
+ * @param current - Current metric snapshot
60
+ * @param targets - Target metrics to reach
61
+ * @returns The CritiqueBranch that should handle refinement
62
+ */
63
+ export declare function classifyBranch(current: RefinementMetrics, targets: RefinementMetrics): CritiqueBranch;
64
+ /**
65
+ * Build a structured critique prompt for the refinement agent.
66
+ *
67
+ * @param branch - Which critique branch this prompt is for
68
+ * @param metrics - Current metrics
69
+ * @param targets - Target metrics
70
+ * @param minimaRegions - Top minima regions to surface in the prompt
71
+ * @returns Formatted prompt string for the critique agent
72
+ */
73
+ export declare function buildCritiquePrompt(branch: CritiqueBranch, metrics: RefinementMetrics, targets: RefinementMetrics, minimaRegions: MinimaRegion[]): string;
74
+ //# sourceMappingURL=refinement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refinement.d.ts","sourceRoot":"","sources":["../../lib/refinement.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,iBAAiB,CAoDnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CAkDxE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,cAAc,EAAE,EAC3B,MAAM,EAAE,iBAAiB,GACxB;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0DxC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GACzB,cAAc,CAyBhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,EAC1B,aAAa,EAAE,YAAY,EAAE,GAC5B,MAAM,CAyDR"}