reviewflow 3.34.0 → 3.35.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 (190) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/dashboard/index.html +16 -2
  3. package/dist/dashboard/setup.html +17 -1
  4. package/dist/dashboard/styles.css +75 -0
  5. package/dist/main/routes.d.ts.map +1 -1
  6. package/dist/main/routes.js +56 -28
  7. package/dist/main/routes.js.map +1 -1
  8. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.d.ts +4 -0
  9. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -1
  10. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js +54 -46
  11. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js.map +1 -1
  12. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.github.cli.gateway.d.ts.map +1 -1
  13. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.github.cli.gateway.js +4 -1
  14. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.github.cli.gateway.js.map +1 -1
  15. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.gitlab.cli.gateway.d.ts.map +1 -1
  16. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.gitlab.cli.gateway.js +4 -1
  17. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.gitlab.cli.gateway.js.map +1 -1
  18. package/dist/modules/platform-integration/interface-adapters/gateways/threadFetch.gitlab.gateway.d.ts.map +1 -1
  19. package/dist/modules/platform-integration/interface-adapters/gateways/threadFetch.gitlab.gateway.js +3 -0
  20. package/dist/modules/platform-integration/interface-adapters/gateways/threadFetch.gitlab.gateway.js.map +1 -1
  21. package/dist/modules/platform-integration/services/scopedExecutorEnvironment.d.ts +1 -0
  22. package/dist/modules/platform-integration/services/scopedExecutorEnvironment.d.ts.map +1 -1
  23. package/dist/modules/platform-integration/services/scopedExecutorEnvironment.js +10 -3
  24. package/dist/modules/platform-integration/services/scopedExecutorEnvironment.js.map +1 -1
  25. package/dist/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.d.ts.map +1 -1
  26. package/dist/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.js +5 -1
  27. package/dist/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.js.map +1 -1
  28. package/dist/modules/review-execution/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.d.ts.map +1 -1
  29. package/dist/modules/review-execution/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.js +6 -4
  30. package/dist/modules/review-execution/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.js.map +1 -1
  31. package/dist/modules/review-execution/services/contextActionsExecutor.d.ts.map +1 -1
  32. package/dist/modules/review-execution/services/contextActionsExecutor.js +23 -1
  33. package/dist/modules/review-execution/services/contextActionsExecutor.js.map +1 -1
  34. package/dist/modules/review-execution/usecases/confirmPendingReview.usecase.d.ts +4 -0
  35. package/dist/modules/review-execution/usecases/confirmPendingReview.usecase.d.ts.map +1 -1
  36. package/dist/modules/review-execution/usecases/confirmPendingReview.usecase.js +6 -1
  37. package/dist/modules/review-execution/usecases/confirmPendingReview.usecase.js.map +1 -1
  38. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.d.ts.map +1 -1
  39. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.js +9 -0
  40. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.js.map +1 -1
  41. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.d.ts +14 -1
  42. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.d.ts.map +1 -1
  43. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.js +50 -6
  44. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.js.map +1 -1
  45. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts.map +1 -1
  46. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js +14 -6
  47. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js.map +1 -1
  48. package/dist/tests/acceptance/174-semi-auto-review-trigger-mode.acceptance.test.js +1 -0
  49. package/dist/tests/acceptance/174-semi-auto-review-trigger-mode.acceptance.test.js.map +1 -1
  50. package/dist/tests/acceptance/202-confirm-pending-review-runs-review.acceptance.test.d.ts +2 -0
  51. package/dist/tests/acceptance/202-confirm-pending-review-runs-review.acceptance.test.d.ts.map +1 -0
  52. package/dist/tests/acceptance/202-confirm-pending-review-runs-review.acceptance.test.js +173 -0
  53. package/dist/tests/acceptance/202-confirm-pending-review-runs-review.acceptance.test.js.map +1 -0
  54. package/dist/tests/factories/pendingReviewRequest.factory.d.ts +1 -0
  55. package/dist/tests/factories/pendingReviewRequest.factory.d.ts.map +1 -1
  56. package/dist/tests/factories/pendingReviewRequest.factory.js +22 -0
  57. package/dist/tests/factories/pendingReviewRequest.factory.js.map +1 -1
  58. package/dist/tests/stubs/claudeSession.stub.d.ts +8 -0
  59. package/dist/tests/stubs/claudeSession.stub.d.ts.map +1 -1
  60. package/dist/tests/stubs/claudeSession.stub.js +24 -2
  61. package/dist/tests/stubs/claudeSession.stub.js.map +1 -1
  62. package/dist/tests/units/entities/insight/teamInsight.guard.test.d.ts +2 -0
  63. package/dist/tests/units/entities/insight/teamInsight.guard.test.d.ts.map +1 -0
  64. package/dist/tests/units/entities/insight/teamInsight.guard.test.js +45 -0
  65. package/dist/tests/units/entities/insight/teamInsight.guard.test.js.map +1 -0
  66. package/dist/tests/units/interface-adapters/controllers/http/stats.routes.test.d.ts +2 -0
  67. package/dist/tests/units/interface-adapters/controllers/http/stats.routes.test.d.ts.map +1 -0
  68. package/dist/tests/units/interface-adapters/controllers/http/stats.routes.test.js +208 -0
  69. package/dist/tests/units/interface-adapters/controllers/http/stats.routes.test.js.map +1 -0
  70. package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.js +92 -0
  71. package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.js.map +1 -1
  72. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +303 -0
  73. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -1
  74. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +359 -1
  75. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -1
  76. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js +10 -3
  77. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js.map +1 -1
  78. package/dist/tests/units/modules/claude-invocation/usecases/awaitSessionCompletion.usecase.test.js +66 -0
  79. package/dist/tests/units/modules/claude-invocation/usecases/awaitSessionCompletion.usecase.test.js.map +1 -1
  80. package/dist/tests/units/modules/claude-invocation/usecases/cleanupClaudeSession.usecase.test.js +62 -0
  81. package/dist/tests/units/modules/claude-invocation/usecases/cleanupClaudeSession.usecase.test.js.map +1 -1
  82. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.test.d.ts +2 -0
  83. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.test.d.ts.map +1 -0
  84. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.test.js +182 -0
  85. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.test.js.map +1 -0
  86. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.test.js +225 -0
  87. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.test.js.map +1 -1
  88. package/dist/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.d.ts +2 -0
  89. package/dist/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.d.ts.map +1 -0
  90. package/dist/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.js +171 -0
  91. package/dist/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.js.map +1 -0
  92. package/dist/tests/units/modules/platform-integration/controllers/githubProcessorProvenance.test.d.ts +2 -0
  93. package/dist/tests/units/modules/platform-integration/controllers/githubProcessorProvenance.test.d.ts.map +1 -0
  94. package/dist/tests/units/modules/platform-integration/controllers/githubProcessorProvenance.test.js +70 -0
  95. package/dist/tests/units/modules/platform-integration/controllers/githubProcessorProvenance.test.js.map +1 -0
  96. package/dist/tests/units/modules/platform-integration/entities/transport/cidr.test.d.ts +2 -0
  97. package/dist/tests/units/modules/platform-integration/entities/transport/cidr.test.d.ts.map +1 -0
  98. package/dist/tests/units/modules/platform-integration/entities/transport/cidr.test.js +51 -0
  99. package/dist/tests/units/modules/platform-integration/entities/transport/cidr.test.js.map +1 -0
  100. package/dist/tests/units/modules/platform-integration/gateways/scopedGitLabExecutor.test.js +4 -0
  101. package/dist/tests/units/modules/platform-integration/gateways/scopedGitLabExecutor.test.js.map +1 -1
  102. package/dist/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.d.ts +2 -0
  103. package/dist/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.d.ts.map +1 -0
  104. package/dist/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.js +39 -0
  105. package/dist/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.js.map +1 -0
  106. package/dist/tests/units/modules/platform-integration/services/scopedExecutorEnvironment.test.js +15 -2
  107. package/dist/tests/units/modules/platform-integration/services/scopedExecutorEnvironment.test.js.map +1 -1
  108. package/dist/tests/units/modules/review-execution/entities/reviewRequest/reviewRequest.guard.test.d.ts +2 -0
  109. package/dist/tests/units/modules/review-execution/entities/reviewRequest/reviewRequest.guard.test.d.ts.map +1 -0
  110. package/dist/tests/units/modules/review-execution/entities/reviewRequest/reviewRequest.guard.test.js +34 -0
  111. package/dist/tests/units/modules/review-execution/entities/reviewRequest/reviewRequest.guard.test.js.map +1 -0
  112. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.test.js +21 -2
  113. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.test.js.map +1 -1
  114. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/reviews.routes.test.d.ts +2 -0
  115. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/reviews.routes.test.d.ts.map +1 -0
  116. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/reviews.routes.test.js +210 -0
  117. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/reviews.routes.test.js.map +1 -0
  118. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.d.ts +2 -0
  119. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.d.ts.map +1 -0
  120. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.js +103 -0
  121. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.js.map +1 -0
  122. package/dist/tests/units/modules/review-execution/usecases/confirmPendingReview.usecase.test.js +25 -0
  123. package/dist/tests/units/modules/review-execution/usecases/confirmPendingReview.usecase.test.js.map +1 -1
  124. package/dist/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.d.ts +2 -0
  125. package/dist/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.d.ts.map +1 -0
  126. package/dist/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.js +98 -0
  127. package/dist/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.js.map +1 -0
  128. package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.js +12 -0
  129. package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.js.map +1 -1
  130. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.d.ts +2 -0
  131. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.d.ts.map +1 -0
  132. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.js +51 -0
  133. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.js.map +1 -0
  134. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.d.ts +2 -0
  135. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.d.ts.map +1 -0
  136. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.js +70 -0
  137. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.js.map +1 -0
  138. package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.js +60 -1
  139. package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.js.map +1 -1
  140. package/dist/tests/units/modules/statistics-insights/entities/insight/developerInsight.guard.test.d.ts +2 -0
  141. package/dist/tests/units/modules/statistics-insights/entities/insight/developerInsight.guard.test.d.ts.map +1 -0
  142. package/dist/tests/units/modules/statistics-insights/entities/insight/developerInsight.guard.test.js +49 -0
  143. package/dist/tests/units/modules/statistics-insights/entities/insight/developerInsight.guard.test.js.map +1 -0
  144. package/dist/tests/units/modules/statistics-insights/entities/insight/persistedInsightsData.guard.test.d.ts +2 -0
  145. package/dist/tests/units/modules/statistics-insights/entities/insight/persistedInsightsData.guard.test.d.ts.map +1 -0
  146. package/dist/tests/units/modules/statistics-insights/entities/insight/persistedInsightsData.guard.test.js +29 -0
  147. package/dist/tests/units/modules/statistics-insights/entities/insight/persistedInsightsData.guard.test.js.map +1 -0
  148. package/dist/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.d.ts +2 -0
  149. package/dist/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.d.ts.map +1 -0
  150. package/dist/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.js +63 -0
  151. package/dist/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.js.map +1 -0
  152. package/dist/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.d.ts +2 -0
  153. package/dist/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.d.ts.map +1 -0
  154. package/dist/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.js +73 -0
  155. package/dist/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.js.map +1 -0
  156. package/dist/tests/units/modules/statistics-insights/interface-adapters/presenters/overview.presenter.test.js +99 -0
  157. package/dist/tests/units/modules/statistics-insights/interface-adapters/presenters/overview.presenter.test.js.map +1 -1
  158. package/dist/tests/units/modules/supervisor-management/gateways/supervisorLock.fileSystem.gateway.test.js +60 -2
  159. package/dist/tests/units/modules/supervisor-management/gateways/supervisorLock.fileSystem.gateway.test.js.map +1 -1
  160. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.test.js +499 -18
  161. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.test.js.map +1 -1
  162. package/dist/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.d.ts +2 -0
  163. package/dist/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.d.ts.map +1 -0
  164. package/dist/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.js +273 -0
  165. package/dist/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.js.map +1 -0
  166. package/dist/tests/units/modules/worktree-management/entities/worktree/worktree.test.js +47 -1
  167. package/dist/tests/units/modules/worktree-management/entities/worktree/worktree.test.js.map +1 -1
  168. package/dist/tests/units/modules/worktree-management/usecases/sweepStaleWorktrees.usecase.test.js +98 -0
  169. package/dist/tests/units/modules/worktree-management/usecases/sweepStaleWorktrees.usecase.test.js.map +1 -1
  170. package/dist/tests/units/services/contextActionsExecutor.test.js +67 -0
  171. package/dist/tests/units/services/contextActionsExecutor.test.js.map +1 -1
  172. package/dist/tests/units/services/statsService.branches.test.d.ts +2 -0
  173. package/dist/tests/units/services/statsService.branches.test.d.ts.map +1 -0
  174. package/dist/tests/units/services/statsService.branches.test.js +266 -0
  175. package/dist/tests/units/services/statsService.branches.test.js.map +1 -0
  176. package/dist/tests/units/shared/services/logFileReader.test.d.ts +2 -0
  177. package/dist/tests/units/shared/services/logFileReader.test.d.ts.map +1 -0
  178. package/dist/tests/units/shared/services/logFileReader.test.js +70 -0
  179. package/dist/tests/units/shared/services/logFileReader.test.js.map +1 -0
  180. package/dist/tests/units/usecases/insights/buildAiInsightsPrompt.test.js +206 -0
  181. package/dist/tests/units/usecases/insights/buildAiInsightsPrompt.test.js.map +1 -1
  182. package/dist/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.js +40 -0
  183. package/dist/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.js.map +1 -1
  184. package/dist/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.js +204 -0
  185. package/dist/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.js.map +1 -1
  186. package/dist/tests/units/usecases/insights/getInsightsWithAiStatus.usecase.test.js +57 -0
  187. package/dist/tests/units/usecases/insights/getInsightsWithAiStatus.usecase.test.js.map +1 -1
  188. package/dist/tests/units/usecases/insights/insightLevelComputation.service.test.js +391 -1
  189. package/dist/tests/units/usecases/insights/insightLevelComputation.service.test.js.map +1 -1
  190. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.35.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.34.0...reviewflow-v3.35.0) (2026-06-02)
9
+
10
+
11
+ ### Added
12
+
13
+ * **review:** implement spec-202 confirm pending review runs real review ([9fe4cd8](https://github.com/DGouron/review-flow/commit/9fe4cd8221d0f890ae126b98dd425784549b324c))
14
+ * **review:** spec-202 confirm pending review runs the real review (+ A-ux double-click guard) ([4e3c645](https://github.com/DGouron/review-flow/commit/4e3c645ff64f3cbf624df2f95e767c8b10bff224))
15
+
16
+
17
+ ### Fixed
18
+
19
+ * [#270](https://github.com/DGouron/review-flow/issues/270) create isolated HOME/config dirs for the scoped GitLab executor ([86729a2](https://github.com/DGouron/review-flow/commit/86729a2da784bdc081a0c8beafe6b154b1bf3a96))
20
+ * [#270](https://github.com/DGouron/review-flow/issues/270) create isolated HOME/config dirs for the scoped GitLab executor (ENOENT) ([e77a7bb](https://github.com/DGouron/review-flow/commit/e77a7bbfe5e57b29f10276cf9f1cb6b1437ecb5a))
21
+ * [#273](https://github.com/DGouron/review-flow/issues/273) write scoped glab config at GLAB_CONFIG_DIR root (was 401) ([a96ef94](https://github.com/DGouron/review-flow/commit/a96ef9449d32196163971c0a69151df82ae484c4))
22
+ * [#273](https://github.com/DGouron/review-flow/issues/273) write scoped glab config at GLAB_CONFIG_DIR root, not a glab-cli subdir ([a53a183](https://github.com/DGouron/review-flow/commit/a53a1837316308d19644d41e5c641f04cbd62d95))
23
+ * [#276](https://github.com/DGouron/review-flow/issues/276) shell-quote comment body so the review report posts (no more /bin/sh error) ([dba8a5f](https://github.com/DGouron/review-flow/commit/dba8a5f60b5dbfa9ac3909d5c29d2e4e8b77a398))
24
+ * [#276](https://github.com/DGouron/review-flow/issues/276) shell-quote the comment body so the review report can be posted ([68f369d](https://github.com/DGouron/review-flow/commit/68f369dca4e5ef0f7c9e7698ad9656370093f56c))
25
+ * **dashboard:** add missing styles for pending review card and actions ([5bf8bf6](https://github.com/DGouron/review-flow/commit/5bf8bf696f2cdf234e30a69ae340b9c0ea914ef2))
26
+ * **dashboard:** guard pending review actions against double submit ([edc1256](https://github.com/DGouron/review-flow/commit/edc12566032f2b3e03ae2ea8e5d16e247f87b2c0))
27
+ * **dashboard:** style pending review card and confirm/dismiss buttons ([c4a203c](https://github.com/DGouron/review-flow/commit/c4a203c72275b99ce07b05b836235f4c50267451))
28
+ * resolve follow-up threads and post GitHub replies in-thread ([4040bd4](https://github.com/DGouron/review-flow/commit/4040bd4d5dee74658a917eb145b3e212d1c34636))
29
+ * resolve follow-up threads and post GitHub replies in-thread ([44ca36e](https://github.com/DGouron/review-flow/commit/44ca36e7e4e84a7e76ce16fc57e42989319b8e78))
30
+
8
31
  ## [3.34.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.33.0...reviewflow-v3.34.0) (2026-05-30)
9
32
 
10
33
 
@@ -2032,15 +2032,29 @@
2032
2032
  countBadge.classList.remove('hidden');
2033
2033
  }
2034
2034
 
2035
+ const disablePendingCardActions = (fromButton) => {
2036
+ const card = fromButton.closest('.pending-review-card');
2037
+ if (!card) return;
2038
+ card.querySelectorAll('.btn-confirm-pending, .btn-dismiss-pending').forEach((action) => {
2039
+ action.disabled = true;
2040
+ });
2041
+ };
2042
+
2035
2043
  container.querySelectorAll('.btn-confirm-pending').forEach((btn) => {
2036
2044
  const pendingId = btn.getAttribute('data-pending-id');
2037
2045
  if (!pendingId) return;
2038
- btn.addEventListener('click', () => confirmPendingReview(pendingId), { once: true });
2046
+ btn.addEventListener('click', (event) => {
2047
+ disablePendingCardActions(event.currentTarget);
2048
+ confirmPendingReview(pendingId);
2049
+ }, { once: true });
2039
2050
  });
2040
2051
  container.querySelectorAll('.btn-dismiss-pending').forEach((btn) => {
2041
2052
  const pendingId = btn.getAttribute('data-pending-id');
2042
2053
  if (!pendingId) return;
2043
- btn.addEventListener('click', () => dismissPendingReview(pendingId), { once: true });
2054
+ btn.addEventListener('click', (event) => {
2055
+ disablePendingCardActions(event.currentTarget);
2056
+ dismissPendingReview(pendingId);
2057
+ }, { once: true });
2044
2058
  });
2045
2059
 
2046
2060
  refreshIcons();
@@ -33,11 +33,12 @@
33
33
  <div id="setup-disconnect" class="setup-disconnect" hidden role="alert">
34
34
  <span class="setup-banner-title">// CONNEXION PERDUE</span>
35
35
  <span class="setup-disconnect-detail">Lecture dégradée via interrogation périodique de l'état.</span>
36
- <a class="btn btn-secondary" href="/setup">Relancer le wizard</a>
37
36
  </div>
38
37
 
39
38
  <div id="setup-readonly" class="setup-readonly" hidden role="status"></div>
40
39
 
40
+ <button type="button" id="setup-relaunch" class="btn btn-secondary" hidden>Relancer le wizard</button>
41
+
41
42
  <div id="setup-avatar" class="setup-avatar" hidden>
42
43
  <span class="setup-corner setup-corner--tl" aria-hidden="true"></span>
43
44
  <span class="setup-corner setup-corner--tr" aria-hidden="true"></span>
@@ -84,6 +85,7 @@
84
85
  const bannersContainer = document.getElementById('setup-banners');
85
86
  const disconnectBanner = document.getElementById('setup-disconnect');
86
87
  const readOnlyBanner = document.getElementById('setup-readonly');
88
+ const relaunchButton = document.getElementById('setup-relaunch');
87
89
  const liveRegion = document.getElementById('setup-live');
88
90
  const shell = document.querySelector('.setup-shell');
89
91
  const headingElement = document.getElementById('setup-heading');
@@ -260,11 +262,25 @@
260
262
 
261
263
  function showDisconnect() {
262
264
  disconnectBanner.hidden = false;
265
+ relaunchButton.hidden = false;
263
266
  }
264
267
 
265
268
  function showReadOnly(notice) {
266
269
  readOnlyBanner.hidden = false;
267
270
  readOnlyBanner.textContent = notice;
271
+ relaunchButton.hidden = false;
272
+ }
273
+
274
+ if (relaunchButton) {
275
+ relaunchButton.addEventListener('click', async () => {
276
+ relaunchButton.disabled = true;
277
+ try {
278
+ await fetch('/api/setup/cancel', { method: 'POST' });
279
+ } catch {
280
+ /* a failed cancel still lets the reload retry a fresh /start */
281
+ }
282
+ window.location.href = '/setup';
283
+ });
268
284
  }
269
285
 
270
286
  async function pollOnce() {
@@ -1525,6 +1525,81 @@ body.is-quiet-refresh .refresh-info::after {
1525
1525
  background: rgba(59, 130, 246, 0.2);
1526
1526
  }
1527
1527
 
1528
+ /* Pending reviews awaiting human confirmation (semi-auto trigger mode) */
1529
+ .pending-review-card {
1530
+ background: var(--bg-2);
1531
+ border: 1px solid var(--nsc-border-soft);
1532
+ border-radius: 8px;
1533
+ padding: var(--space-4);
1534
+ display: flex;
1535
+ flex-direction: column;
1536
+ gap: var(--space-3);
1537
+ }
1538
+ .pending-review-card + .pending-review-card {
1539
+ margin-top: var(--space-3);
1540
+ }
1541
+ .pending-review-header {
1542
+ display: flex;
1543
+ flex-direction: column;
1544
+ gap: var(--space-1);
1545
+ }
1546
+ .pending-review-title {
1547
+ font-size: var(--type-base);
1548
+ font-weight: 600;
1549
+ color: var(--ink-0);
1550
+ }
1551
+ .pending-review-title a {
1552
+ color: var(--accent);
1553
+ text-decoration: none;
1554
+ }
1555
+ .pending-review-title a:hover {
1556
+ color: var(--accent-hover);
1557
+ text-decoration: underline;
1558
+ }
1559
+ .pending-review-meta {
1560
+ font-family: var(--font-mono);
1561
+ font-size: var(--type-xs);
1562
+ color: var(--ink-2);
1563
+ }
1564
+ .pending-review-actions {
1565
+ display: flex;
1566
+ gap: var(--space-2);
1567
+ }
1568
+ .btn-confirm-pending,
1569
+ .btn-dismiss-pending {
1570
+ font-family: var(--font-sans);
1571
+ font-size: var(--type-sm);
1572
+ font-weight: 600;
1573
+ padding: var(--space-2) var(--space-4);
1574
+ border-radius: 6px;
1575
+ border: 1px solid transparent;
1576
+ cursor: pointer;
1577
+ transition: all 0.15s ease;
1578
+ }
1579
+ .btn-confirm-pending {
1580
+ background: var(--accent-ghost);
1581
+ border-color: var(--accent-active);
1582
+ color: var(--accent);
1583
+ }
1584
+ .btn-confirm-pending:hover {
1585
+ background: rgba(244, 169, 61, 0.2);
1586
+ border-color: var(--accent);
1587
+ }
1588
+ .btn-dismiss-pending {
1589
+ background: transparent;
1590
+ border-color: var(--nsc-border-soft);
1591
+ color: var(--ink-2);
1592
+ }
1593
+ .btn-dismiss-pending:hover {
1594
+ border-color: var(--danger);
1595
+ color: var(--danger);
1596
+ }
1597
+ .btn-confirm-pending:disabled,
1598
+ .btn-dismiss-pending:disabled {
1599
+ opacity: 0.5;
1600
+ cursor: not-allowed;
1601
+ }
1602
+
1528
1603
  /* Stat badges in MR items */
1529
1604
  .stat-badge {
1530
1605
  display: inline-flex;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAyI3D,wBAAsB,cAAc,CAClC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAudf"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA2I3D,wBAAsB,cAAc,CAClC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA0ff"}
@@ -40,8 +40,8 @@ import { defaultProcessRunner } from '../frameworks/claude/claudeInvoker.js';
40
40
  import { ProcessEnvironmentGateway } from '../modules/claude-invocation/interface-adapters/gateways/environment.process.gateway.js';
41
41
  import { getConfigDir } from '../shared/services/configDir.js';
42
42
  import { homedir } from 'node:os';
43
- import { handleGitLabWebhook } from '../modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.js';
44
- import { handleGitHubWebhook } from '../modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js';
43
+ import { handleGitLabWebhook, buildGitLabReviewProcessor } from '../modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.js';
44
+ import { handleGitHubWebhook, buildGitHubReviewProcessor } from '../modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js';
45
45
  import { InMemoryIdempotencyStore } from '../modules/platform-integration/interface-adapters/gateways/inMemoryIdempotencyStore.gateway.js';
46
46
  import { transportGuardMiddleware } from '../modules/platform-integration/interface-adapters/controllers/webhook/transportGuard.middleware.js';
47
47
  import { ForwardedForClientIpResolver } from '../modules/platform-integration/interface-adapters/gateways/transport/clientIpResolver.forwardedFor.gateway.js';
@@ -92,6 +92,8 @@ import { ListPendingReviewsUseCase } from '../modules/review-execution/usecases/
92
92
  import { ConfirmPendingReviewUseCase } from '../modules/review-execution/usecases/confirmPendingReview.usecase.js';
93
93
  import { DismissPendingReviewUseCase } from '../modules/review-execution/usecases/dismissPendingReview.usecase.js';
94
94
  import { GateClaudeInvocationUseCase } from '../modules/review-execution/usecases/gateClaudeInvocation.usecase.js';
95
+ import { ProcessorRegistry } from '../modules/review-execution/services/processorRegistry.js';
96
+ import { findRepositoryByProjectPath } from '../config/loader.js';
95
97
  import { PendingReviewPresenter } from '../modules/review-execution/interface-adapters/presenters/pendingReview.presenter.js';
96
98
  import { pendingReviewsRoutes } from '../modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.js';
97
99
  import { createDefaultClaudeInvokerDependencies, } from '../frameworks/claude/claudeInvoker.js';
@@ -217,26 +219,6 @@ export async function registerRoutes(app, deps) {
217
219
  });
218
220
  const pendingReviewRequestGateway = new PendingReviewRequestFileSystemGateway();
219
221
  const listPendingReviews = new ListPendingReviewsUseCase({ pendingReviewRequestGateway });
220
- const confirmPendingReview = new ConfirmPendingReviewUseCase({
221
- pendingReviewRequestGateway,
222
- queuePort: {
223
- hasActiveJob: (jobId) => {
224
- const status = getJobStatus(jobId);
225
- return status === 'queued' || status === 'running';
226
- },
227
- getJobStatus,
228
- },
229
- enqueue: enqueueReview,
230
- // The persisted ReviewJob snapshot lets us re-enqueue with the SAME inline
231
- // processor used at webhook time (rehydrated on confirm). No registry is
232
- // needed in V0 because all pending requests are confirmed by the SAME
233
- // running process; surviving restart simply means the user must re-trigger
234
- // the webhook after a restart if they want the original processor closure.
235
- resolveProcessor: () => async () => {
236
- deps.logger.warn('Pending review confirmed across processor rehydration — Claude invocation skipped (V0 limitation).');
237
- },
238
- logger: deps.logger,
239
- });
240
222
  const dismissPendingReview = new DismissPendingReviewUseCase({
241
223
  pendingReviewRequestGateway,
242
224
  queuePort: {
@@ -258,12 +240,6 @@ export async function registerRoutes(app, deps) {
258
240
  // scoped GitLab executor, cached per username, fail-closed.
259
241
  const gitLabMemberAccessGateway = new GitLabMemberAccessCliGateway(defaultGitLabExecutor);
260
242
  const isTrustedActor = new IsTrustedActorUseCase(gitLabMemberAccessGateway);
261
- await app.register(pendingReviewsRoutes, {
262
- listPendingReviews,
263
- confirmPendingReview,
264
- dismissPendingReview,
265
- presenter: new PendingReviewPresenter(),
266
- });
267
243
  const claudeInvokerDeps = {
268
244
  ...createDefaultClaudeInvokerDependencies(),
269
245
  getBudgetStatus,
@@ -335,6 +311,58 @@ export async function registerRoutes(app, deps) {
335
311
  const threadFetchGw = new GitLabThreadFetchGateway(defaultGitLabExecutor);
336
312
  const egressScanner = createEgressScanner(defaultEgressScanConfig);
337
313
  const egressTraceGateway = new LoggerEgressTraceGateway(deps.logger);
314
+ // Confirming a parked review rebuilds the real review processor from a code-side
315
+ // registry: the builders close over framework gateways re-created at boot, so a
316
+ // confirmation survives a server restart and is driven only by the persisted
317
+ // ReviewJob snapshot. One builder per platform, registered across every trigger
318
+ // source and job type (the registry keys on platform × triggerSource × jobType).
319
+ const processorRegistry = new ProcessorRegistry();
320
+ const gitLabReviewProcessorDeps = {
321
+ reviewContextGateway: deps.reviewContextGateway,
322
+ threadFetchGateway: new GitLabThreadFetchGateway(defaultGitLabExecutor),
323
+ diffMetadataFetchGateway: new GitLabDiffMetadataFetchGateway(defaultGitLabExecutor),
324
+ diffStatsFetchGateway: new GitLabDiffStatsFetchGateway(defaultGitLabExecutor),
325
+ recordCompletion: new RecordReviewCompletionUseCase(trackingGw),
326
+ claudeInvokerDeps,
327
+ noteCommentPostGateway: new EgressScannedNoteCommentPostGateway(new GitLabNoteCommentPostCliGateway(defaultGitLabExecutor), egressScanner, egressTraceGateway),
328
+ };
329
+ const gitHubReviewProcessorDeps = {
330
+ reviewContextGateway: deps.reviewContextGateway,
331
+ threadFetchGateway: new GitHubThreadFetchGateway(defaultGitHubExecutor),
332
+ diffMetadataFetchGateway: new GitHubDiffMetadataFetchGateway(defaultGitHubExecutor),
333
+ diffStatsFetchGateway: new GitHubDiffStatsFetchGateway(defaultGitHubExecutor),
334
+ recordCompletion: new RecordReviewCompletionUseCase(trackingGw),
335
+ claudeInvokerDeps,
336
+ noteCommentPostGateway: new EgressScannedNoteCommentPostGateway(new GitHubNoteCommentPostCliGateway(defaultGitHubExecutor), egressScanner, egressTraceGateway),
337
+ };
338
+ const gitLabReviewProcessorBuilder = buildGitLabReviewProcessor(gitLabReviewProcessorDeps, deps.logger);
339
+ const gitHubReviewProcessorBuilder = buildGitHubReviewProcessor(gitHubReviewProcessorDeps, deps.logger);
340
+ for (const triggerSource of ['webhook-initial', 'webhook-followup', 'dashboard-manual']) {
341
+ for (const jobType of ['review', 'followup']) {
342
+ processorRegistry.register({ triggerSource, platform: 'gitlab', jobType }, gitLabReviewProcessorBuilder);
343
+ processorRegistry.register({ triggerSource, platform: 'github', jobType }, gitHubReviewProcessorBuilder);
344
+ }
345
+ }
346
+ const confirmPendingReview = new ConfirmPendingReviewUseCase({
347
+ pendingReviewRequestGateway,
348
+ queuePort: {
349
+ hasActiveJob: (jobId) => {
350
+ const status = getJobStatus(jobId);
351
+ return status === 'queued' || status === 'running';
352
+ },
353
+ getJobStatus,
354
+ },
355
+ enqueue: enqueueReview,
356
+ resolveProcessor: (pending) => processorRegistry.resolve(pending),
357
+ isProjectRunnable: (pending) => findRepositoryByProjectPath(pending.job.projectPath) !== undefined,
358
+ logger: deps.logger,
359
+ });
360
+ await app.register(pendingReviewsRoutes, {
361
+ listPendingReviews,
362
+ confirmPendingReview,
363
+ dismissPendingReview,
364
+ presenter: new PendingReviewPresenter(),
365
+ });
338
366
  // TTL must be >= the platform's maximum webhook retry window so a
339
367
  // legitimately re-delivered event past that window is reprocessed, while any
340
368
  // redelivery/replay inside it is acted upon at most once. 24h is a safe upper
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/main/routes.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import type { NoteCommentPostGateway } from '../../../../../modules/platform-int
14
14
  import type { ApprovalRevocationGateway } from '../../../../../modules/platform-integration/entities/approvalRevocation/approvalRevocation.gateway.js';
15
15
  import type { ClaudeInvokerDependencies } from '../../../../../frameworks/claude/claudeInvoker.js';
16
16
  import type { GateClaudeInvocationUseCase } from '../../../../../modules/review-execution/usecases/gateClaudeInvocation.usecase.js';
17
+ import type { ProcessorBuilder } from '../../../../../modules/review-execution/services/processorRegistry.js';
17
18
  import type { ReviewContextGateway } from '../../../../../modules/review-execution/entities/reviewContext/reviewContext.gateway.js';
18
19
  import type { ThreadFetchGateway } from '../../../../../modules/platform-integration/entities/threadFetch/threadFetch.gateway.js';
19
20
  import type { DiffMetadataFetchGateway } from '../../../../../modules/platform-integration/entities/diffMetadata/diffMetadata.gateway.js';
@@ -50,4 +51,7 @@ export interface GitHubWebhookDependencies {
50
51
  now: () => string;
51
52
  }
52
53
  export declare function handleGitHubWebhook(request: FastifyRequest, reply: FastifyReply, logger: Logger, trackingGateway: ReviewRequestTrackingGateway, deps: GitHubWebhookDependencies): Promise<void>;
54
+ type GitHubReviewProcessorDeps = Pick<GitHubWebhookDependencies, 'reviewContextGateway' | 'threadFetchGateway' | 'diffMetadataFetchGateway' | 'diffStatsFetchGateway' | 'recordCompletion' | 'claudeInvokerDeps' | 'noteCommentPostGateway'>;
55
+ export declare function buildGitHubReviewProcessor(deps: GitHubReviewProcessorDeps, logger: Logger): ProcessorBuilder;
56
+ export {};
53
57
  //# sourceMappingURL=github.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { filterGitHubEvent, filterGitHubLabelEvent, filterGitHubPrClose, filterG
3
3
  import { gitHubPullRequestEventGuard } from '../../../../../modules/platform-integration/entities/github/githubPullRequestEvent.guard.js';
4
4
  import { gitHubIssueCommentEventGuard } from '../../../../../modules/platform-integration/entities/github/githubIssueCommentEvent.guard.js';
5
5
  import { gitHubPullRequestReviewEventGuard } from '../../../../../modules/platform-integration/entities/github/githubPullRequestReviewEvent.guard.js';
6
- import { findRepositoryByRemoteUrl } from '../../../../../config/loader.js';
6
+ import { findRepositoryByRemoteUrl, findRepositoryByProjectPath } from '../../../../../config/loader.js';
7
7
  import { enqueueReview, createJobId, updateJobProgress, cancelJob, } from '../../../../../frameworks/queue/pQueueAdapter.js';
8
8
  import { evaluateQualityGate } from '../../../../../modules/tracking/entities/qualityGate/qualityGate.js';
9
9
  import { parseReviewOutput } from '../../../../../modules/statistics-insights/services/statsService.js';
@@ -560,7 +560,59 @@ export async function handleGitHubWebhook(request, reply, logger, trackingGatewa
560
560
  reply.status(200).send({ status: 'rejected', reason: 'budget-exceeded' });
561
561
  return;
562
562
  }
563
- const reviewProcessor = async (j, signal) => {
563
+ const reviewProcessor = buildGitHubReviewProcessor(deps, logger)(job);
564
+ if (deps.gateClaudeInvocation) {
565
+ const gateResult = await deps.gateClaudeInvocation.execute({
566
+ job,
567
+ triggerSource: 'webhook-initial',
568
+ processor: reviewProcessor,
569
+ });
570
+ if (gateResult.status === 'pending') {
571
+ reply.status(202).send({
572
+ status: 'pending-confirmation',
573
+ pendingId: gateResult.pendingId,
574
+ prNumber: filterResult.mergeRequestNumber,
575
+ });
576
+ return;
577
+ }
578
+ if (gateResult.status === 'enqueued') {
579
+ reply.status(202).send({
580
+ status: 'queued',
581
+ jobId,
582
+ prNumber: filterResult.mergeRequestNumber,
583
+ });
584
+ return;
585
+ }
586
+ reply.status(200).send({
587
+ status: 'deduplicated',
588
+ jobId,
589
+ reason: 'Review already in progress or recently completed',
590
+ });
591
+ return;
592
+ }
593
+ const enqueued = await enqueueReview(job, reviewProcessor);
594
+ if (enqueued) {
595
+ reply.status(202).send({
596
+ status: 'queued',
597
+ jobId,
598
+ prNumber: filterResult.mergeRequestNumber,
599
+ });
600
+ }
601
+ else {
602
+ reply.status(200).send({
603
+ status: 'deduplicated',
604
+ jobId,
605
+ reason: 'Review already in progress or recently completed',
606
+ });
607
+ }
608
+ }
609
+ export function buildGitHubReviewProcessor(deps, logger) {
610
+ const { recordCompletion } = deps;
611
+ return (_job) => async (j, signal) => {
612
+ const repoConfig = findRepositoryByProjectPath(j.projectPath);
613
+ if (!repoConfig) {
614
+ throw new Error(`No GitHub repository configured for projectPath "${j.projectPath}"`);
615
+ }
564
616
  // Send start notification
565
617
  sendNotification('Review démarrée', `PR #${j.mrNumber} - ${j.projectPath}`, logger);
566
618
  // Create review context file with pre-fetched threads and diff metadata
@@ -671,49 +723,5 @@ export async function handleGitHubWebhook(request, reply, logger, trackingGatewa
671
723
  throw new Error(result.stderr?.trim() || `Review failed with exit code ${result.exitCode}`);
672
724
  }
673
725
  };
674
- if (deps.gateClaudeInvocation) {
675
- const gateResult = await deps.gateClaudeInvocation.execute({
676
- job,
677
- triggerSource: 'webhook-initial',
678
- processor: reviewProcessor,
679
- });
680
- if (gateResult.status === 'pending') {
681
- reply.status(202).send({
682
- status: 'pending-confirmation',
683
- pendingId: gateResult.pendingId,
684
- prNumber: filterResult.mergeRequestNumber,
685
- });
686
- return;
687
- }
688
- if (gateResult.status === 'enqueued') {
689
- reply.status(202).send({
690
- status: 'queued',
691
- jobId,
692
- prNumber: filterResult.mergeRequestNumber,
693
- });
694
- return;
695
- }
696
- reply.status(200).send({
697
- status: 'deduplicated',
698
- jobId,
699
- reason: 'Review already in progress or recently completed',
700
- });
701
- return;
702
- }
703
- const enqueued = await enqueueReview(job, reviewProcessor);
704
- if (enqueued) {
705
- reply.status(202).send({
706
- status: 'queued',
707
- jobId,
708
- prNumber: filterResult.mergeRequestNumber,
709
- });
710
- }
711
- else {
712
- reply.status(200).send({
713
- status: 'deduplicated',
714
- jobId,
715
- reason: 'Review already in progress or recently completed',
716
- });
717
- }
718
726
  }
719
727
  //# sourceMappingURL=github.controller.js.map