edsger 0.50.0 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/.claude/settings.local.json +23 -3
  2. package/.env.local +12 -0
  3. package/README.md +25 -25
  4. package/dist/api/chat.d.ts +7 -7
  5. package/dist/api/chat.js +13 -13
  6. package/dist/api/cross-product.d.ts +10 -10
  7. package/dist/api/cross-product.js +30 -30
  8. package/dist/api/github.d.ts +5 -5
  9. package/dist/api/github.js +10 -10
  10. package/dist/api/intelligence.d.ts +3 -3
  11. package/dist/api/issues/approval-checker.d.ts +20 -0
  12. package/dist/api/{features → issues}/approval-checker.js +16 -16
  13. package/dist/api/issues/get-issue.d.ts +5 -0
  14. package/dist/api/issues/get-issue.js +21 -0
  15. package/dist/api/issues/index.d.ts +8 -0
  16. package/dist/api/issues/index.js +10 -0
  17. package/dist/api/issues/issue-utils.d.ts +23 -0
  18. package/dist/api/issues/issue-utils.js +80 -0
  19. package/dist/api/issues/status-updater.d.ts +41 -0
  20. package/dist/api/{features → issues}/status-updater.js +23 -23
  21. package/dist/api/{features → issues}/test-cases.d.ts +7 -7
  22. package/dist/api/{features → issues}/test-cases.js +12 -12
  23. package/dist/api/issues/update-issue.d.ts +20 -0
  24. package/dist/api/{features/update-feature.js → issues/update-issue.js} +22 -22
  25. package/dist/api/{features → issues}/user-stories.d.ts +5 -5
  26. package/dist/api/{features → issues}/user-stories.js +8 -8
  27. package/dist/api/products.d.ts +1 -1
  28. package/dist/api/tasks.d.ts +1 -1
  29. package/dist/api/test-reports.d.ts +2 -2
  30. package/dist/api/test-reports.js +4 -4
  31. package/dist/auth/login.js +1 -1
  32. package/dist/commands/agent-workflow/chat-worker.d.ts +7 -7
  33. package/dist/commands/agent-workflow/chat-worker.js +50 -50
  34. package/dist/commands/agent-workflow/index.d.ts +2 -2
  35. package/dist/commands/agent-workflow/index.js +3 -3
  36. package/dist/commands/agent-workflow/{feature-worker.d.ts → issue-worker.d.ts} +4 -4
  37. package/dist/commands/agent-workflow/{feature-worker.js → issue-worker.js} +12 -12
  38. package/dist/commands/agent-workflow/processor.d.ts +9 -9
  39. package/dist/commands/agent-workflow/processor.js +90 -90
  40. package/dist/commands/build/index.js +2 -2
  41. package/dist/commands/find-bugs/index.d.ts +11 -0
  42. package/dist/commands/find-bugs/index.js +39 -0
  43. package/dist/commands/find-features/index.d.ts +14 -0
  44. package/dist/commands/find-features/index.js +42 -0
  45. package/dist/commands/find-smells/index.d.ts +21 -0
  46. package/dist/commands/find-smells/index.js +65 -0
  47. package/dist/commands/init/prompts.js +1 -1
  48. package/dist/commands/init/templates.d.ts +1 -1
  49. package/dist/commands/init/templates.js +4 -4
  50. package/dist/commands/workflow/config/phase-configs.js +17 -17
  51. package/dist/commands/workflow/core/index.d.ts +1 -1
  52. package/dist/commands/workflow/core/index.js +2 -2
  53. package/dist/commands/workflow/core/issue-filter.d.ts +16 -0
  54. package/dist/commands/workflow/core/issue-filter.js +47 -0
  55. package/dist/commands/workflow/core/state-manager.d.ts +10 -10
  56. package/dist/commands/workflow/core/state-manager.js +10 -10
  57. package/dist/commands/workflow/core/workflow-logger.d.ts +9 -9
  58. package/dist/commands/workflow/core/workflow-logger.js +21 -21
  59. package/dist/commands/workflow/executors/phase-executor.d.ts +2 -2
  60. package/dist/commands/workflow/executors/phase-executor.js +32 -32
  61. package/dist/commands/workflow/issue-coordinator.d.ts +18 -0
  62. package/dist/commands/workflow/{feature-coordinator.js → issue-coordinator.js} +29 -29
  63. package/dist/commands/workflow/phase-orchestrator.d.ts +2 -2
  64. package/dist/commands/workflow/phase-orchestrator.js +82 -82
  65. package/dist/commands/workflow/processor.d.ts +7 -7
  66. package/dist/commands/workflow/processor.js +44 -44
  67. package/dist/config/{feature-status.d.ts → issue-status.d.ts} +14 -14
  68. package/dist/config/{feature-status.js → issue-status.js} +14 -14
  69. package/dist/errors/index.d.ts +6 -6
  70. package/dist/errors/index.js +11 -11
  71. package/dist/index.js +90 -1
  72. package/dist/phases/app-store-generation/context.js +6 -6
  73. package/dist/phases/app-store-generation/index.js +2 -2
  74. package/dist/phases/app-store-generation/prompts.js +2 -2
  75. package/dist/phases/autonomous/index.d.ts +3 -3
  76. package/dist/phases/autonomous/index.js +37 -37
  77. package/dist/phases/autonomous/prompts.d.ts +2 -2
  78. package/dist/phases/autonomous/prompts.js +4 -4
  79. package/dist/phases/branch-planning/context.d.ts +3 -3
  80. package/dist/phases/branch-planning/context.js +12 -12
  81. package/dist/phases/branch-planning/index.d.ts +3 -3
  82. package/dist/phases/branch-planning/index.js +32 -32
  83. package/dist/phases/branch-planning/outcome.d.ts +5 -5
  84. package/dist/phases/branch-planning/outcome.js +12 -12
  85. package/dist/phases/branch-planning/prompts.d.ts +3 -3
  86. package/dist/phases/branch-planning/prompts.js +13 -13
  87. package/dist/phases/bug-fixing/analyzer.d.ts +2 -2
  88. package/dist/phases/bug-fixing/analyzer.js +13 -13
  89. package/dist/phases/bug-fixing/context-fetcher.d.ts +3 -3
  90. package/dist/phases/bug-fixing/context-fetcher.js +18 -18
  91. package/dist/phases/bug-fixing/mcp-server.js +17 -18
  92. package/dist/phases/chat-processor/context.d.ts +5 -5
  93. package/dist/phases/chat-processor/context.js +17 -17
  94. package/dist/phases/chat-processor/index.d.ts +4 -4
  95. package/dist/phases/chat-processor/index.js +17 -17
  96. package/dist/phases/chat-processor/product-context.d.ts +3 -3
  97. package/dist/phases/chat-processor/product-context.js +16 -16
  98. package/dist/phases/chat-processor/product-prompts.d.ts +1 -1
  99. package/dist/phases/chat-processor/product-prompts.js +10 -10
  100. package/dist/phases/chat-processor/product-tools.d.ts +2 -2
  101. package/dist/phases/chat-processor/product-tools.js +33 -33
  102. package/dist/phases/chat-processor/prompts.d.ts +3 -3
  103. package/dist/phases/chat-processor/prompts.js +22 -22
  104. package/dist/phases/chat-processor/tools.js +46 -46
  105. package/dist/phases/code-implementation/branch-pr-creator.d.ts +3 -3
  106. package/dist/phases/code-implementation/branch-pr-creator.js +5 -5
  107. package/dist/phases/code-implementation/context.d.ts +3 -3
  108. package/dist/phases/code-implementation/context.js +18 -18
  109. package/dist/phases/code-implementation/index.d.ts +4 -4
  110. package/dist/phases/code-implementation/index.js +88 -88
  111. package/dist/phases/code-implementation/outcome.d.ts +3 -3
  112. package/dist/phases/code-implementation/outcome.js +6 -6
  113. package/dist/phases/code-implementation/prompts.d.ts +1 -1
  114. package/dist/phases/code-implementation/prompts.js +6 -6
  115. package/dist/phases/code-implementation-verification/agent.d.ts +3 -3
  116. package/dist/phases/code-implementation-verification/agent.js +5 -5
  117. package/dist/phases/code-implementation-verification/index.d.ts +3 -3
  118. package/dist/phases/code-implementation-verification/index.js +11 -11
  119. package/dist/phases/code-implementation-verification/prompts.d.ts +3 -3
  120. package/dist/phases/code-implementation-verification/prompts.js +7 -7
  121. package/dist/phases/code-refine/context.d.ts +8 -8
  122. package/dist/phases/code-refine/context.js +29 -29
  123. package/dist/phases/code-refine/index.d.ts +2 -2
  124. package/dist/phases/code-refine/index.js +20 -20
  125. package/dist/phases/code-refine/prompts.d.ts +1 -1
  126. package/dist/phases/code-refine/prompts.js +3 -3
  127. package/dist/phases/code-refine/refine-iteration.d.ts +1 -1
  128. package/dist/phases/code-refine/refine-iteration.js +4 -4
  129. package/dist/phases/code-refine/retry-handler.js +2 -2
  130. package/dist/phases/code-refine-verification/index.js +10 -10
  131. package/dist/phases/code-refine-verification/types.d.ts +2 -2
  132. package/dist/phases/code-review/context.d.ts +8 -8
  133. package/dist/phases/code-review/context.js +25 -25
  134. package/dist/phases/code-review/diff-utils.d.ts +1 -1
  135. package/dist/phases/code-review/diff-utils.js +1 -1
  136. package/dist/phases/code-review/index.d.ts +2 -2
  137. package/dist/phases/code-review/index.js +26 -26
  138. package/dist/phases/code-testing/analyzer.d.ts +2 -2
  139. package/dist/phases/code-testing/analyzer.js +18 -18
  140. package/dist/phases/code-testing/context-fetcher.d.ts +3 -3
  141. package/dist/phases/code-testing/context-fetcher.js +16 -16
  142. package/dist/phases/code-testing/prompts.d.ts +1 -1
  143. package/dist/phases/code-testing/prompts.js +5 -5
  144. package/dist/phases/find-bugs/index.d.ts +30 -0
  145. package/dist/phases/find-bugs/index.js +216 -0
  146. package/dist/phases/find-bugs/prompts.d.ts +22 -0
  147. package/dist/phases/find-bugs/prompts.js +101 -0
  148. package/dist/phases/find-bugs/state.d.ts +19 -0
  149. package/dist/phases/find-bugs/state.js +13 -0
  150. package/dist/phases/find-bugs/types.d.ts +21 -0
  151. package/dist/phases/find-bugs/types.js +16 -0
  152. package/dist/phases/find-features/index.d.ts +40 -0
  153. package/dist/phases/find-features/index.js +279 -0
  154. package/dist/phases/find-features/prompts.d.ts +43 -0
  155. package/dist/phases/find-features/prompts.js +138 -0
  156. package/dist/phases/find-features/state.d.ts +25 -0
  157. package/dist/phases/find-features/state.js +22 -0
  158. package/dist/phases/find-features/types.d.ts +27 -0
  159. package/dist/phases/find-features/types.js +16 -0
  160. package/dist/phases/find-shared/git.d.ts +24 -0
  161. package/dist/phases/find-shared/git.js +60 -0
  162. package/dist/phases/find-shared/mcp.d.ts +33 -0
  163. package/dist/phases/find-shared/mcp.js +69 -0
  164. package/dist/phases/find-shared/scan-state.d.ts +33 -0
  165. package/dist/phases/find-shared/scan-state.js +112 -0
  166. package/dist/phases/find-smells/index.d.ts +47 -0
  167. package/dist/phases/find-smells/index.js +278 -0
  168. package/dist/phases/find-smells/prompts.d.ts +30 -0
  169. package/dist/phases/find-smells/prompts.js +129 -0
  170. package/dist/phases/find-smells/state.d.ts +21 -0
  171. package/dist/phases/find-smells/state.js +17 -0
  172. package/dist/phases/find-smells/types.d.ts +51 -0
  173. package/dist/phases/find-smells/types.js +64 -0
  174. package/dist/phases/functional-testing/analyzer.d.ts +2 -2
  175. package/dist/phases/functional-testing/analyzer.js +40 -40
  176. package/dist/phases/functional-testing/context-fetcher.d.ts +3 -3
  177. package/dist/phases/functional-testing/context-fetcher.js +16 -16
  178. package/dist/phases/functional-testing/http-fallback.d.ts +2 -2
  179. package/dist/phases/functional-testing/http-fallback.js +9 -9
  180. package/dist/phases/functional-testing/mcp-server.js +23 -24
  181. package/dist/phases/functional-testing/prompts.d.ts +1 -1
  182. package/dist/phases/functional-testing/prompts.js +4 -4
  183. package/dist/phases/functional-testing/test-report-creator.d.ts +2 -2
  184. package/dist/phases/functional-testing/test-report-creator.js +10 -10
  185. package/dist/phases/functional-testing/test-retry-handler.js +3 -3
  186. package/dist/phases/growth-analysis/context.js +6 -6
  187. package/dist/phases/growth-analysis/index.js +2 -2
  188. package/dist/phases/growth-analysis/prompts.js +2 -2
  189. package/dist/phases/intelligence-analysis/context.js +7 -7
  190. package/dist/phases/intelligence-analysis/index.js +3 -3
  191. package/dist/phases/{feature-analysis → issue-analysis}/agent.js +1 -1
  192. package/dist/phases/issue-analysis/context.d.ts +24 -0
  193. package/dist/phases/{feature-analysis → issue-analysis}/context.js +30 -30
  194. package/dist/phases/issue-analysis/index.d.ts +8 -0
  195. package/dist/phases/{feature-analysis → issue-analysis}/index.js +29 -29
  196. package/dist/phases/issue-analysis/outcome.d.ts +40 -0
  197. package/dist/phases/{feature-analysis → issue-analysis}/outcome.js +17 -17
  198. package/dist/phases/{feature-analysis → issue-analysis}/prompts.d.ts +3 -3
  199. package/dist/phases/{feature-analysis → issue-analysis}/prompts.js +12 -12
  200. package/dist/phases/{feature-analysis-verification → issue-analysis-verification}/agent.d.ts +2 -2
  201. package/dist/phases/{feature-analysis-verification → issue-analysis-verification}/agent.js +1 -1
  202. package/dist/phases/{feature-analysis-verification → issue-analysis-verification}/index.d.ts +5 -5
  203. package/dist/phases/{feature-analysis-verification → issue-analysis-verification}/index.js +9 -9
  204. package/dist/phases/{feature-analysis-verification → issue-analysis-verification}/prompts.d.ts +2 -2
  205. package/dist/phases/{feature-analysis-verification → issue-analysis-verification}/prompts.js +7 -7
  206. package/dist/phases/output-contracts.js +37 -37
  207. package/dist/phases/pr-execution/context.d.ts +3 -3
  208. package/dist/phases/pr-execution/context.js +14 -14
  209. package/dist/phases/pr-execution/index.d.ts +2 -2
  210. package/dist/phases/pr-execution/index.js +22 -22
  211. package/dist/phases/pr-execution/outcome.d.ts +4 -4
  212. package/dist/phases/pr-execution/outcome.js +6 -6
  213. package/dist/phases/pr-execution/prompts.d.ts +4 -4
  214. package/dist/phases/pr-execution/prompts.js +6 -6
  215. package/dist/phases/pr-resolve/checklist-learner.js +2 -2
  216. package/dist/phases/pr-review/index.d.ts +1 -1
  217. package/dist/phases/pr-review/index.js +1 -1
  218. package/dist/phases/pr-review/prompts.d.ts +1 -1
  219. package/dist/phases/pr-review/prompts.js +1 -1
  220. package/dist/phases/pr-shared/context.d.ts +3 -3
  221. package/dist/phases/pr-shared/context.js +3 -3
  222. package/dist/phases/pr-splitting/context.d.ts +3 -3
  223. package/dist/phases/pr-splitting/context.js +16 -16
  224. package/dist/phases/pr-splitting/index.d.ts +4 -4
  225. package/dist/phases/pr-splitting/index.js +29 -29
  226. package/dist/phases/pr-splitting/outcome.d.ts +3 -3
  227. package/dist/phases/pr-splitting/outcome.js +7 -7
  228. package/dist/phases/pr-splitting/prompts.d.ts +3 -3
  229. package/dist/phases/pr-splitting/prompts.js +11 -11
  230. package/dist/phases/pull-request/creator.d.ts +4 -4
  231. package/dist/phases/pull-request/creator.js +25 -25
  232. package/dist/phases/pull-request/handler.d.ts +3 -3
  233. package/dist/phases/pull-request/handler.js +16 -16
  234. package/dist/phases/release-sync/index.js +2 -2
  235. package/dist/phases/run-sheet/agent.js +1 -2
  236. package/dist/phases/run-sheet/index.js +3 -3
  237. package/dist/phases/smoke-test/index.js +2 -2
  238. package/dist/phases/technical-design/context.d.ts +3 -3
  239. package/dist/phases/technical-design/context.js +11 -11
  240. package/dist/phases/technical-design/index.d.ts +2 -2
  241. package/dist/phases/technical-design/index.js +27 -27
  242. package/dist/phases/technical-design/outcome.d.ts +4 -4
  243. package/dist/phases/technical-design/outcome.js +6 -6
  244. package/dist/phases/technical-design/prompts.d.ts +2 -2
  245. package/dist/phases/technical-design/prompts.js +10 -10
  246. package/dist/phases/technical-design-verification/agent.d.ts +3 -3
  247. package/dist/phases/technical-design-verification/agent.js +4 -4
  248. package/dist/phases/technical-design-verification/index.d.ts +4 -4
  249. package/dist/phases/technical-design-verification/index.js +12 -12
  250. package/dist/phases/technical-design-verification/prompts.d.ts +3 -3
  251. package/dist/phases/technical-design-verification/prompts.js +6 -6
  252. package/dist/phases/test-cases-analysis/context.d.ts +5 -5
  253. package/dist/phases/test-cases-analysis/context.js +18 -18
  254. package/dist/phases/test-cases-analysis/formatters.js +7 -7
  255. package/dist/phases/test-cases-analysis/index.d.ts +1 -1
  256. package/dist/phases/test-cases-analysis/index.js +21 -21
  257. package/dist/phases/test-cases-analysis/outcome.d.ts +7 -7
  258. package/dist/phases/test-cases-analysis/outcome.js +13 -13
  259. package/dist/phases/test-cases-analysis/prompts.d.ts +3 -3
  260. package/dist/phases/test-cases-analysis/prompts.js +6 -6
  261. package/dist/phases/user-stories-analysis/context.d.ts +5 -5
  262. package/dist/phases/user-stories-analysis/context.js +18 -18
  263. package/dist/phases/user-stories-analysis/formatters.js +7 -7
  264. package/dist/phases/user-stories-analysis/index.d.ts +1 -1
  265. package/dist/phases/user-stories-analysis/index.js +21 -21
  266. package/dist/phases/user-stories-analysis/outcome.d.ts +7 -7
  267. package/dist/phases/user-stories-analysis/outcome.js +13 -13
  268. package/dist/phases/user-stories-analysis/prompts.d.ts +3 -3
  269. package/dist/phases/user-stories-analysis/prompts.js +10 -10
  270. package/dist/services/audit-logs.d.ts +10 -10
  271. package/dist/services/audit-logs.js +12 -12
  272. package/dist/services/branches.d.ts +6 -6
  273. package/dist/services/branches.js +16 -16
  274. package/dist/services/checklist.d.ts +3 -3
  275. package/dist/services/checklist.js +11 -11
  276. package/dist/services/coaching/coaching-agent.js +2 -2
  277. package/dist/services/coaching/coaching-loop.d.ts +1 -1
  278. package/dist/services/coaching/coaching-loop.js +2 -2
  279. package/dist/services/coaching/phase-coaching.d.ts +2 -2
  280. package/dist/services/coaching/phase-coaching.js +3 -3
  281. package/dist/services/coaching/self-rating.js +1 -1
  282. package/dist/services/feedbacks.d.ts +4 -4
  283. package/dist/services/feedbacks.js +8 -8
  284. package/dist/services/phase-hooks/bindings-fetcher.d.ts +4 -4
  285. package/dist/services/phase-hooks/bindings-fetcher.js +8 -8
  286. package/dist/services/phase-hooks/hook-executor.js +1 -1
  287. package/dist/services/phase-hooks/hook-logging.d.ts +2 -2
  288. package/dist/services/phase-hooks/hook-logging.js +4 -4
  289. package/dist/services/phase-hooks/hook-runner.d.ts +1 -1
  290. package/dist/services/phase-hooks/hook-runner.js +4 -4
  291. package/dist/services/phase-hooks/types.d.ts +3 -3
  292. package/dist/services/phase-ratings.d.ts +7 -7
  293. package/dist/services/phase-ratings.js +8 -8
  294. package/dist/services/pull-requests.d.ts +4 -4
  295. package/dist/services/pull-requests.js +11 -11
  296. package/dist/services/skill-resolver.d.ts +1 -1
  297. package/dist/services/skill-resolver.js +1 -1
  298. package/dist/skills/phase/app-store-generation/SKILL.md +9 -9
  299. package/dist/skills/phase/autonomous/SKILL.md +2 -2
  300. package/dist/skills/phase/branch-planning/SKILL.md +12 -12
  301. package/dist/skills/phase/bug-fixing/SKILL.md +1 -1
  302. package/dist/skills/phase/code-implementation/SKILL.md +6 -6
  303. package/dist/skills/phase/code-implementation-verification/SKILL.md +3 -3
  304. package/dist/skills/phase/code-testing/SKILL.md +5 -5
  305. package/dist/skills/phase/functional-testing/SKILL.md +3 -3
  306. package/dist/skills/phase/growth-analysis/SKILL.md +8 -8
  307. package/dist/skills/phase/incremental-sync/SKILL.md +6 -6
  308. package/dist/skills/phase/intelligence-analysis/SKILL.md +7 -7
  309. package/dist/skills/phase/{feature-analysis → issue-analysis}/SKILL.md +8 -8
  310. package/dist/skills/phase/pr-execution/SKILL.md +7 -7
  311. package/dist/skills/phase/pr-splitting/SKILL.md +14 -14
  312. package/dist/skills/phase/smoke-test/SKILL.md +1 -1
  313. package/dist/skills/phase/technical-design/SKILL.md +5 -5
  314. package/dist/skills/phase/test-cases-analysis/SKILL.md +4 -4
  315. package/dist/skills/phase/user-stories-analysis/SKILL.md +13 -13
  316. package/dist/system/session-manager.d.ts +3 -3
  317. package/dist/system/session-manager.js +3 -3
  318. package/dist/system/sleep-notification.js +2 -2
  319. package/dist/system/sleep-prevention.js +1 -1
  320. package/dist/types/index.d.ts +21 -21
  321. package/dist/types/{features.d.ts → issues.d.ts} +3 -3
  322. package/dist/types/pipeline.d.ts +4 -4
  323. package/dist/updater/auto-updater.d.ts +2 -2
  324. package/dist/updater/auto-updater.js +3 -3
  325. package/dist/utils/conflict-resolver.d.ts +1 -1
  326. package/dist/utils/conflict-resolver.js +5 -5
  327. package/dist/utils/formatters.d.ts +4 -4
  328. package/dist/utils/formatters.js +29 -29
  329. package/dist/utils/git-branch-manager-async.d.ts +6 -6
  330. package/dist/utils/git-branch-manager-async.js +41 -41
  331. package/dist/utils/git-branch-manager.d.ts +11 -11
  332. package/dist/utils/git-branch-manager.js +42 -42
  333. package/dist/utils/image-downloader.d.ts +4 -4
  334. package/dist/utils/image-downloader.js +17 -17
  335. package/dist/utils/pipeline-logger.d.ts +1 -1
  336. package/dist/utils/pipeline-logger.js +5 -5
  337. package/dist/workspace/workspace-manager.d.ts +17 -17
  338. package/dist/workspace/workspace-manager.js +21 -21
  339. package/package.json +1 -1
  340. package/vitest.config.ts +4 -0
  341. package/dist/api/__tests__/app-store.test.d.ts +0 -7
  342. package/dist/api/__tests__/app-store.test.js +0 -60
  343. package/dist/api/__tests__/intelligence.test.d.ts +0 -11
  344. package/dist/api/__tests__/intelligence.test.js +0 -315
  345. package/dist/api/features/__tests__/feature-utils.test.d.ts +0 -4
  346. package/dist/api/features/__tests__/feature-utils.test.js +0 -370
  347. package/dist/api/features/__tests__/status-updater.test.d.ts +0 -4
  348. package/dist/api/features/__tests__/status-updater.test.js +0 -88
  349. package/dist/api/features/approval-checker.d.ts +0 -20
  350. package/dist/api/features/feature-utils.d.ts +0 -23
  351. package/dist/api/features/feature-utils.js +0 -80
  352. package/dist/api/features/get-feature.d.ts +0 -5
  353. package/dist/api/features/get-feature.js +0 -21
  354. package/dist/api/features/index.d.ts +0 -8
  355. package/dist/api/features/index.js +0 -10
  356. package/dist/api/features/status-updater.d.ts +0 -41
  357. package/dist/api/features/update-feature.d.ts +0 -20
  358. package/dist/commands/build/__tests__/build.test.d.ts +0 -5
  359. package/dist/commands/build/__tests__/build.test.js +0 -206
  360. package/dist/commands/build/__tests__/detect-project.test.d.ts +0 -6
  361. package/dist/commands/build/__tests__/detect-project.test.js +0 -160
  362. package/dist/commands/build/__tests__/run-build.test.d.ts +0 -6
  363. package/dist/commands/build/__tests__/run-build.test.js +0 -433
  364. package/dist/commands/intelligence/__tests__/command.test.d.ts +0 -4
  365. package/dist/commands/intelligence/__tests__/command.test.js +0 -48
  366. package/dist/commands/workflow/core/__tests__/feature-filter.test.d.ts +0 -5
  367. package/dist/commands/workflow/core/__tests__/feature-filter.test.js +0 -316
  368. package/dist/commands/workflow/core/__tests__/pipeline-evaluator.test.d.ts +0 -4
  369. package/dist/commands/workflow/core/__tests__/pipeline-evaluator.test.js +0 -397
  370. package/dist/commands/workflow/core/__tests__/state-manager.test.d.ts +0 -4
  371. package/dist/commands/workflow/core/__tests__/state-manager.test.js +0 -384
  372. package/dist/commands/workflow/core/feature-filter.d.ts +0 -16
  373. package/dist/commands/workflow/core/feature-filter.js +0 -47
  374. package/dist/commands/workflow/feature-coordinator.d.ts +0 -18
  375. package/dist/config/__tests__/config.test.d.ts +0 -4
  376. package/dist/config/__tests__/config.test.js +0 -286
  377. package/dist/config/__tests__/feature-status.test.d.ts +0 -4
  378. package/dist/config/__tests__/feature-status.test.js +0 -111
  379. package/dist/errors/__tests__/index.test.d.ts +0 -4
  380. package/dist/errors/__tests__/index.test.js +0 -349
  381. package/dist/phases/app-store-generation/__tests__/agent.test.d.ts +0 -5
  382. package/dist/phases/app-store-generation/__tests__/agent.test.js +0 -142
  383. package/dist/phases/app-store-generation/__tests__/context.test.d.ts +0 -4
  384. package/dist/phases/app-store-generation/__tests__/context.test.js +0 -284
  385. package/dist/phases/app-store-generation/__tests__/prompts.test.d.ts +0 -4
  386. package/dist/phases/app-store-generation/__tests__/prompts.test.js +0 -122
  387. package/dist/phases/app-store-generation/__tests__/screenshot-composer.test.d.ts +0 -5
  388. package/dist/phases/app-store-generation/__tests__/screenshot-composer.test.js +0 -826
  389. package/dist/phases/code-review/__tests__/diff-utils.test.js +0 -101
  390. package/dist/phases/feature-analysis/context.d.ts +0 -24
  391. package/dist/phases/feature-analysis/index.d.ts +0 -8
  392. package/dist/phases/feature-analysis/outcome.d.ts +0 -40
  393. package/dist/phases/intelligence-analysis/__tests__/context.test.d.ts +0 -4
  394. package/dist/phases/intelligence-analysis/__tests__/context.test.js +0 -192
  395. package/dist/phases/intelligence-analysis/__tests__/matching.test.d.ts +0 -13
  396. package/dist/phases/intelligence-analysis/__tests__/matching.test.js +0 -154
  397. package/dist/phases/intelligence-analysis/__tests__/orchestration.test.d.ts +0 -5
  398. package/dist/phases/intelligence-analysis/__tests__/orchestration.test.js +0 -378
  399. package/dist/phases/intelligence-analysis/__tests__/prompts.test.d.ts +0 -4
  400. package/dist/phases/intelligence-analysis/__tests__/prompts.test.js +0 -33
  401. package/dist/phases/pr-execution/__tests__/file-assigner.test.d.ts +0 -1
  402. package/dist/phases/pr-execution/__tests__/file-assigner.test.js +0 -303
  403. package/dist/phases/pr-resolve/__tests__/checklist-learner.test.d.ts +0 -1
  404. package/dist/phases/pr-resolve/__tests__/checklist-learner.test.js +0 -157
  405. package/dist/phases/pr-resolve/__tests__/prompts.test.d.ts +0 -1
  406. package/dist/phases/pr-resolve/__tests__/prompts.test.js +0 -116
  407. package/dist/phases/pr-resolve/__tests__/resolve-mapping.test.d.ts +0 -1
  408. package/dist/phases/pr-resolve/__tests__/resolve-mapping.test.js +0 -138
  409. package/dist/phases/pr-resolve/__tests__/types.test.d.ts +0 -1
  410. package/dist/phases/pr-resolve/__tests__/types.test.js +0 -43
  411. package/dist/phases/pr-resolve/__tests__/workspace.test.d.ts +0 -1
  412. package/dist/phases/pr-resolve/__tests__/workspace.test.js +0 -111
  413. package/dist/phases/pr-review/__tests__/prompts.test.d.ts +0 -1
  414. package/dist/phases/pr-review/__tests__/prompts.test.js +0 -49
  415. package/dist/phases/pr-review/__tests__/review-comments.test.d.ts +0 -1
  416. package/dist/phases/pr-review/__tests__/review-comments.test.js +0 -110
  417. package/dist/phases/pr-shared/__tests__/agent-utils.test.d.ts +0 -1
  418. package/dist/phases/pr-shared/__tests__/agent-utils.test.js +0 -91
  419. package/dist/phases/pr-shared/__tests__/context.test.d.ts +0 -1
  420. package/dist/phases/pr-shared/__tests__/context.test.js +0 -94
  421. package/dist/phases/pr-splitting/__tests__/import-dep-validator.test.d.ts +0 -1
  422. package/dist/phases/pr-splitting/__tests__/import-dep-validator.test.js +0 -331
  423. package/dist/phases/run-sheet/render.d.ts +0 -60
  424. package/dist/phases/run-sheet/render.js +0 -297
  425. package/dist/phases/smoke-test/__tests__/agent.test.d.ts +0 -4
  426. package/dist/phases/smoke-test/__tests__/agent.test.js +0 -84
  427. package/dist/phases/smoke-test/__tests__/github.test.d.ts +0 -9
  428. package/dist/phases/smoke-test/__tests__/github.test.js +0 -120
  429. package/dist/phases/smoke-test/__tests__/snapshot.test.d.ts +0 -8
  430. package/dist/phases/smoke-test/__tests__/snapshot.test.js +0 -93
  431. package/dist/phases/smoke-test/github.d.ts +0 -54
  432. package/dist/phases/smoke-test/github.js +0 -101
  433. package/dist/phases/smoke-test/snapshot.d.ts +0 -27
  434. package/dist/phases/smoke-test/snapshot.js +0 -157
  435. package/dist/services/coaching/__tests__/coaching-agent.test.d.ts +0 -1
  436. package/dist/services/coaching/__tests__/coaching-agent.test.js +0 -74
  437. package/dist/services/coaching/__tests__/coaching-loop.test.d.ts +0 -1
  438. package/dist/services/coaching/__tests__/coaching-loop.test.js +0 -59
  439. package/dist/services/coaching/__tests__/self-rating.test.d.ts +0 -1
  440. package/dist/services/coaching/__tests__/self-rating.test.js +0 -188
  441. package/dist/services/lifecycle-agent/__tests__/phase-criteria.test.d.ts +0 -4
  442. package/dist/services/lifecycle-agent/__tests__/phase-criteria.test.js +0 -133
  443. package/dist/services/lifecycle-agent/__tests__/transition-rules.test.d.ts +0 -4
  444. package/dist/services/lifecycle-agent/__tests__/transition-rules.test.js +0 -336
  445. package/dist/services/lifecycle-agent/index.d.ts +0 -24
  446. package/dist/services/lifecycle-agent/index.js +0 -25
  447. package/dist/services/lifecycle-agent/phase-criteria.d.ts +0 -57
  448. package/dist/services/lifecycle-agent/phase-criteria.js +0 -335
  449. package/dist/services/lifecycle-agent/transition-rules.d.ts +0 -60
  450. package/dist/services/lifecycle-agent/transition-rules.js +0 -184
  451. package/dist/services/lifecycle-agent/types.d.ts +0 -190
  452. package/dist/services/lifecycle-agent/types.js +0 -12
  453. package/dist/services/phase-hooks/__tests__/bindings-fetcher.test.d.ts +0 -1
  454. package/dist/services/phase-hooks/__tests__/bindings-fetcher.test.js +0 -122
  455. package/dist/services/phase-hooks/__tests__/hook-executor.test.d.ts +0 -1
  456. package/dist/services/phase-hooks/__tests__/hook-executor.test.js +0 -321
  457. package/dist/services/phase-hooks/__tests__/hook-runner.test.d.ts +0 -1
  458. package/dist/services/phase-hooks/__tests__/hook-runner.test.js +0 -261
  459. package/dist/services/phase-hooks/__tests__/plugin-loader.test.d.ts +0 -1
  460. package/dist/services/phase-hooks/__tests__/plugin-loader.test.js +0 -158
  461. package/dist/services/video/__tests__/video-pipeline.test.d.ts +0 -6
  462. package/dist/services/video/__tests__/video-pipeline.test.js +0 -249
  463. package/dist/types/features.js +0 -1
  464. package/dist/workspace/__tests__/workspace-manager.test.d.ts +0 -7
  465. package/dist/workspace/__tests__/workspace-manager.test.js +0 -52
  466. /package/dist/api/{features → issues}/batch-operations.d.ts +0 -0
  467. /package/dist/api/{features → issues}/batch-operations.js +0 -0
  468. /package/dist/phases/{feature-analysis → issue-analysis}/agent.d.ts +0 -0
  469. /package/dist/skills/phase/{feature-analysis-verification → issue-analysis-verification}/SKILL.md +0 -0
  470. /package/dist/{phases/code-review/__tests__/diff-utils.test.d.ts → types/issues.js} +0 -0
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * Chat Worker — Child process entry point for processing chat messages.
3
3
  *
4
- * Spawned by AgentWorkflowProcessor as a parallel subprocess alongside feature workers.
5
- * Runs continuously, polling for unprocessed human messages across all active feature channels.
4
+ * Spawned by AgentWorkflowProcessor as a parallel subprocess alongside issue workers.
5
+ * Runs continuously, polling for unprocessed human messages across all active issue channels.
6
6
  *
7
7
  * Communication with parent via IPC:
8
8
  * - Parent sends: { type: 'init', config }
9
- * - Parent sends: { type: 'event:phase_completed', featureId, phase, summary, phaseOutput }
10
- * - Parent sends: { type: 'event:phase_failed', featureId, phase, error }
11
- * - Parent sends: { type: 'event:feature_done', featureId }
9
+ * - Parent sends: { type: 'event:phase_completed', issueId, phase, summary, phaseOutput }
10
+ * - Parent sends: { type: 'event:phase_failed', issueId, phase, error }
11
+ * - Parent sends: { type: 'event:issue_done', issueId }
12
12
  * - Worker sends: { type: 'log', level, message }
13
- * - Worker sends: { type: 'command:pause_feature', featureId }
14
- * - Worker sends: { type: 'command:resume_feature', featureId }
13
+ * - Worker sends: { type: 'command:pause_issue', issueId }
14
+ * - Worker sends: { type: 'command:resume_issue', issueId }
15
15
  */
16
16
  import { randomUUID } from 'node:crypto';
17
- import { claimPendingMessages, getFeatureChannel, listChannels, sendSystemMessage, } from '../../api/chat.js';
17
+ import { claimPendingMessages, getIssueChannel, listChannels, sendSystemMessage, } from '../../api/chat.js';
18
18
  import { processHumanMessages, processPhaseCompletion, processProductHumanMessages, } from '../../phases/chat-processor/index.js';
19
19
  function sendMessage(msg) {
20
20
  if (process.send) {
@@ -33,12 +33,12 @@ let isRunning = false;
33
33
  let pollTimer = null;
34
34
  // Unique worker ID for this process instance — used for atomic message claiming
35
35
  const WORKER_ID = `chat-worker-${process.pid}-${randomUUID().slice(0, 8)}`;
36
- // Track active feature channels (featureId -> channelId)
36
+ // Track active issue channels (issueId -> channelId)
37
37
  const activeChannels = new Map();
38
38
  // Track active product channels (productId -> channelId)
39
39
  const activeProductChannels = new Map();
40
- // Track feature repo paths (featureId -> repoPath) for setting cwd on AI agent
41
- const featureRepoPaths = new Map();
40
+ // Track issue repo paths (issueId -> repoPath) for setting cwd on AI agent
41
+ const issueRepoPaths = new Map();
42
42
  // Poll interval in ms
43
43
  const POLL_INTERVAL = 5000;
44
44
  // Refresh channel list every N polls (~30s at 5s intervals)
@@ -56,19 +56,19 @@ async function pollForMessages() {
56
56
  if (pollCount % CHANNEL_REFRESH_INTERVAL === 0) {
57
57
  await refreshChannels();
58
58
  }
59
- // Poll feature channels
60
- for (const [featureId, channelId] of activeChannels) {
59
+ // Poll issue channels
60
+ for (const [issueId, channelId] of activeChannels) {
61
61
  try {
62
62
  const claimed = await claimPendingMessages(channelId, WORKER_ID);
63
63
  if (claimed.length > 0) {
64
- log('info', `Claimed ${claimed.length} message(s) for feature ${featureId} (worker: ${WORKER_ID})`);
65
- const repoPath = featureRepoPaths.get(featureId);
66
- await processHumanMessages(claimed, featureId, config, verbose, repoPath);
64
+ log('info', `Claimed ${claimed.length} message(s) for issue ${issueId} (worker: ${WORKER_ID})`);
65
+ const repoPath = issueRepoPaths.get(issueId);
66
+ await processHumanMessages(claimed, issueId, config, verbose, repoPath);
67
67
  }
68
68
  }
69
69
  catch (error) {
70
70
  const msg = error instanceof Error ? error.message : String(error);
71
- log('error', `Error polling feature channel ${channelId}: ${msg}`);
71
+ log('error', `Error polling issue channel ${channelId}: ${msg}`);
72
72
  }
73
73
  }
74
74
  // Poll product channels
@@ -127,15 +127,15 @@ async function handlePhaseCompleted(msg) {
127
127
  if (!config) {
128
128
  return;
129
129
  }
130
- const { featureId, phase, summary, phaseOutput } = msg;
131
- log('info', `Phase completed: ${phase} for feature ${featureId}`);
130
+ const { issueId, phase, summary, phaseOutput } = msg;
131
+ log('info', `Phase completed: ${phase} for issue ${issueId}`);
132
132
  try {
133
133
  // Ensure we have the channel registered
134
- await ensureFeatureChannel(featureId);
134
+ await ensureIssueChannel(issueId);
135
135
  // Process with AI for next-step suggestions
136
- const repoPath = featureRepoPaths.get(featureId);
136
+ const repoPath = issueRepoPaths.get(issueId);
137
137
  await processPhaseCompletion({
138
- featureId,
138
+ issueId,
139
139
  phase,
140
140
  summary,
141
141
  phaseOutput,
@@ -150,11 +150,11 @@ async function handlePhaseCompleted(msg) {
150
150
  }
151
151
  }
152
152
  async function handlePhaseFailed(msg) {
153
- const { featureId, phase, error: errorStr } = msg;
154
- log('warning', `Phase failed: ${phase} for feature ${featureId}`);
153
+ const { issueId, phase, error: errorStr } = msg;
154
+ log('warning', `Phase failed: ${phase} for issue ${issueId}`);
155
155
  try {
156
- await ensureFeatureChannel(featureId);
157
- const channelId = activeChannels.get(featureId);
156
+ await ensureIssueChannel(issueId);
157
+ const channelId = activeChannels.get(issueId);
158
158
  if (channelId) {
159
159
  await sendSystemMessage(channelId, `Phase "${phase}" failed: ${errorStr}`, { phase, status: 'failed', error: errorStr });
160
160
  }
@@ -164,14 +164,14 @@ async function handlePhaseFailed(msg) {
164
164
  log('error', `Failed to send phase failure message: ${errorMsg}`);
165
165
  }
166
166
  }
167
- async function handleFeatureDone(msg) {
168
- const { featureId } = msg;
169
- log('info', `Feature done: ${featureId}`);
167
+ async function handleIssueDone(msg) {
168
+ const { issueId } = msg;
169
+ log('info', `Issue done: ${issueId}`);
170
170
  try {
171
- const channelId = activeChannels.get(featureId);
171
+ const channelId = activeChannels.get(issueId);
172
172
  if (channelId) {
173
173
  await sendSystemMessage(channelId, 'All workflow phases completed.', {
174
- status: 'feature_done',
174
+ status: 'issue_done',
175
175
  });
176
176
  }
177
177
  }
@@ -186,17 +186,17 @@ async function handleFeatureDone(msg) {
186
186
  /**
187
187
  * Refresh the active channels list from the server.
188
188
  * Called on init and periodically during polling to discover
189
- * newly created channels (e.g., when a user opens a feature chat on the web).
189
+ * newly created channels (e.g., when a user opens an issue chat on the web).
190
190
  */
191
191
  async function refreshChannels() {
192
192
  try {
193
- // Fetch feature and product channels in parallel
194
- const [featureChannels, productChannels] = await Promise.all([
195
- listChannels('feature'),
193
+ // Fetch issue and product channels in parallel
194
+ const [issueChannels, productChannels] = await Promise.all([
195
+ listChannels('issue'),
196
196
  listChannels('product'),
197
197
  ]);
198
198
  let added = 0;
199
- for (const channel of featureChannels) {
199
+ for (const channel of issueChannels) {
200
200
  if (channel.channel_ref_id &&
201
201
  !activeChannels.has(channel.channel_ref_id)) {
202
202
  activeChannels.set(channel.channel_ref_id, channel.id);
@@ -211,7 +211,7 @@ async function refreshChannels() {
211
211
  }
212
212
  }
213
213
  if (added > 0) {
214
- log('info', `Discovered ${added} new channel(s) (features: ${activeChannels.size}, products: ${activeProductChannels.size})`);
214
+ log('info', `Discovered ${added} new channel(s) (issues: ${activeChannels.size}, products: ${activeProductChannels.size})`);
215
215
  }
216
216
  }
217
217
  catch (error) {
@@ -219,20 +219,20 @@ async function refreshChannels() {
219
219
  log('error', `Failed to refresh channels: ${msg}`);
220
220
  }
221
221
  }
222
- async function ensureFeatureChannel(featureId) {
223
- const cachedChannel = activeChannels.get(featureId);
222
+ async function ensureIssueChannel(issueId) {
223
+ const cachedChannel = activeChannels.get(issueId);
224
224
  if (cachedChannel) {
225
225
  return cachedChannel;
226
226
  }
227
227
  try {
228
- const channel = await getFeatureChannel(featureId);
229
- activeChannels.set(featureId, channel.id);
230
- log('info', `Registered channel ${channel.id} for feature ${featureId}`);
228
+ const channel = await getIssueChannel(issueId);
229
+ activeChannels.set(issueId, channel.id);
230
+ log('info', `Registered channel ${channel.id} for issue ${issueId}`);
231
231
  return channel.id;
232
232
  }
233
233
  catch (error) {
234
234
  const msg = error instanceof Error ? error.message : String(error);
235
- log('error', `Failed to get channel for feature ${featureId}: ${msg}`);
235
+ log('error', `Failed to get channel for issue ${issueId}: ${msg}`);
236
236
  throw error;
237
237
  }
238
238
  }
@@ -256,18 +256,18 @@ process.on('message', (msg) => {
256
256
  log('error', `Phase fail event error: ${error instanceof Error ? error.message : String(error)}`);
257
257
  });
258
258
  break;
259
- case 'event:feature_done':
260
- handleFeatureDone(msg).catch((error) => {
261
- log('error', `Feature done event error: ${error instanceof Error ? error.message : String(error)}`);
259
+ case 'event:issue_done':
260
+ handleIssueDone(msg).catch((error) => {
261
+ log('error', `Issue done event error: ${error instanceof Error ? error.message : String(error)}`);
262
262
  });
263
263
  break;
264
- // Register a feature channel for polling when a worker starts
265
- case 'event:feature_started': {
264
+ // Register an issue channel for polling when a worker starts
265
+ case 'event:issue_started': {
266
266
  const startMsg = msg;
267
267
  if (startMsg.repoPath) {
268
- featureRepoPaths.set(startMsg.featureId, startMsg.repoPath);
268
+ issueRepoPaths.set(startMsg.issueId, startMsg.repoPath);
269
269
  }
270
- ensureFeatureChannel(startMsg.featureId).catch((error) => {
270
+ ensureIssueChannel(startMsg.issueId).catch((error) => {
271
271
  log('error', `Channel registration error: ${error instanceof Error ? error.message : String(error)}`);
272
272
  });
273
273
  break;
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * This is the new cross-product workflow that:
5
5
  * 1. Uses stored auth from `edsger login` (no per-repo env config needed)
6
- * 2. Fetches ready_for_ai features across ALL products
6
+ * 2. Fetches ready_for_ai issues across ALL products
7
7
  * 3. Clones repos using GitHub App installation tokens
8
- * 4. Manages workspace directories with feature ID naming
8
+ * 4. Manages workspace directories with issue ID naming
9
9
  * 5. Runs continuously with auto-update, sleep prevention, and session management
10
10
  * 6. Responds to web dashboard commands (pause/resume/stop)
11
11
  */
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * This is the new cross-product workflow that:
5
5
  * 1. Uses stored auth from `edsger login` (no per-repo env config needed)
6
- * 2. Fetches ready_for_ai features across ALL products
6
+ * 2. Fetches ready_for_ai issues across ALL products
7
7
  * 3. Clones repos using GitHub App installation tokens
8
- * 4. Manages workspace directories with feature ID naming
8
+ * 4. Manages workspace directories with issue ID naming
9
9
  * 5. Runs continuously with auto-update, sleep prevention, and session management
10
10
  * 6. Responds to web dashboard commands (pause/resume/stop)
11
11
  */
@@ -45,7 +45,7 @@ export async function runAgentWorkflow(options) {
45
45
  // Start heartbeat
46
46
  startHeartbeat();
47
47
  logRaw('');
48
- logSuccess('Agent started. Watching for features...');
48
+ logSuccess('Agent started. Watching for issues...');
49
49
  logRaw('');
50
50
  // Create and start the processor
51
51
  let maxConcurrent = 3;
@@ -1,14 +1,14 @@
1
1
  /**
2
- * Feature Worker - Child process entry point for processing a single feature
2
+ * Issue Worker - Child process entry point for processing a single issue
3
3
  *
4
4
  * This file is spawned by the parent AgentWorkflowProcessor via child_process.fork().
5
5
  * Each worker runs in its own process with its own cwd, which:
6
- * 1. Allows concurrent feature processing (no shared process.chdir())
6
+ * 1. Allows concurrent issue processing (no shared process.chdir())
7
7
  * 2. After auto-update, new workers load the latest code from disk
8
8
  *
9
9
  * Communication with parent via IPC messages:
10
- * - Parent sends: { type: 'start', featureId, verbose, config }
11
- * - Worker sends: { type: 'result', success: boolean, featureId }
10
+ * - Parent sends: { type: 'start', issueId, verbose, config }
11
+ * - Worker sends: { type: 'result', success: boolean, issueId }
12
12
  * - Worker sends: { type: 'log', level, message } for logging
13
13
  */
14
14
  export {};
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Feature Worker - Child process entry point for processing a single feature
2
+ * Issue Worker - Child process entry point for processing a single issue
3
3
  *
4
4
  * This file is spawned by the parent AgentWorkflowProcessor via child_process.fork().
5
5
  * Each worker runs in its own process with its own cwd, which:
6
- * 1. Allows concurrent feature processing (no shared process.chdir())
6
+ * 1. Allows concurrent issue processing (no shared process.chdir())
7
7
  * 2. After auto-update, new workers load the latest code from disk
8
8
  *
9
9
  * Communication with parent via IPC messages:
10
- * - Parent sends: { type: 'start', featureId, verbose, config }
11
- * - Worker sends: { type: 'result', success: boolean, featureId }
10
+ * - Parent sends: { type: 'start', issueId, verbose, config }
11
+ * - Worker sends: { type: 'result', success: boolean, issueId }
12
12
  * - Worker sends: { type: 'log', level, message } for logging
13
13
  */
14
14
  import { evaluatePipelineResults } from '../workflow/core/pipeline-evaluator.js';
15
- import { runFeatureWorkflow } from '../workflow/feature-coordinator.js';
15
+ import { runIssueWorkflow } from '../workflow/issue-coordinator.js';
16
16
  function sendMessage(msg) {
17
17
  if (process.send) {
18
18
  process.send(msg);
@@ -22,23 +22,23 @@ function log(level, message) {
22
22
  sendMessage({ type: 'log', level, message });
23
23
  }
24
24
  async function handleStart(msg) {
25
- const { featureId, verbose, config } = msg;
25
+ const { issueId, verbose, config } = msg;
26
26
  try {
27
- log('info', `Worker started for feature: ${featureId}`);
28
- const results = await runFeatureWorkflow({ featureId, verbose }, config);
27
+ log('info', `Worker started for issue: ${issueId}`);
28
+ const results = await runIssueWorkflow({ issueId, verbose }, config);
29
29
  const allSuccessful = evaluatePipelineResults(results);
30
30
  sendMessage({
31
31
  type: 'result',
32
- featureId,
32
+ issueId,
33
33
  success: allSuccessful,
34
34
  });
35
35
  }
36
36
  catch (error) {
37
37
  const errorMessage = error instanceof Error ? error.message : String(error);
38
- log('error', `Worker error for feature ${featureId}: ${errorMessage}`);
38
+ log('error', `Worker error for issue ${issueId}: ${errorMessage}`);
39
39
  sendMessage({
40
40
  type: 'result',
41
- featureId,
41
+ issueId,
42
42
  success: false,
43
43
  error: errorMessage,
44
44
  });
@@ -57,7 +57,7 @@ process.on('message', (msg) => {
57
57
  process.on('uncaughtException', (error) => {
58
58
  sendMessage({
59
59
  type: 'result',
60
- featureId: 'unknown',
60
+ issueId: 'unknown',
61
61
  success: false,
62
62
  error: `Uncaught exception: ${error.message}`,
63
63
  });
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Agent Workflow Processor - Cross-product feature processing
2
+ * Agent Workflow Processor - Cross-product issue processing
3
3
  *
4
- * Uses child_process.fork() to run each feature in an isolated worker process.
4
+ * Uses child_process.fork() to run each issue in an isolated worker process.
5
5
  * This enables:
6
- * - Concurrent processing of multiple features (each worker has its own cwd)
7
- * - Auto-update takes effect on next feature (new workers load latest code)
6
+ * - Concurrent processing of multiple issues (each worker has its own cwd)
7
+ * - Auto-update takes effect on next issue (new workers load latest code)
8
8
  * - Crash isolation (one worker failing doesn't affect others)
9
9
  */
10
10
  import { type EdsgerConfig } from '../../types/index.js';
@@ -29,9 +29,9 @@ export declare class AgentWorkflowProcessor {
29
29
  private readonly options;
30
30
  private readonly config;
31
31
  private isRunning;
32
- private processedFeatures;
32
+ private processedIssues;
33
33
  private pollTimer?;
34
- /** Currently active worker processes, keyed by featureId */
34
+ /** Currently active worker processes, keyed by issueId */
35
35
  private activeWorkers;
36
36
  /** Chat worker subprocess — runs in parallel, handles chat messages and phase events */
37
37
  private chatWorker?;
@@ -41,12 +41,12 @@ export declare class AgentWorkflowProcessor {
41
41
  /** Send a message to the chat worker via IPC */
42
42
  private notifyChatWorker;
43
43
  stop(): void;
44
- private processNextFeatures;
44
+ private processNextIssues;
45
45
  /**
46
- * Start a child process worker for a single feature.
46
+ * Start a child process worker for a single issue.
47
47
  * Handles: GitHub config lookup, repo cloning, then forks the worker.
48
48
  */
49
- private startFeatureWorker;
49
+ private startIssueWorker;
50
50
  private handleWorkerResult;
51
51
  getStats(): WorkflowStats;
52
52
  getActiveWorkerCount(): number;