@slope-dev/slope 1.57.3 → 1.58.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 (206) hide show
  1. package/dist/cli/atomic-write.d.ts.map +1 -1
  2. package/dist/cli/atomic-write.js +12 -3
  3. package/dist/cli/atomic-write.js.map +1 -1
  4. package/dist/cli/commands/auto-card.d.ts.map +1 -1
  5. package/dist/cli/commands/auto-card.js +27 -7
  6. package/dist/cli/commands/auto-card.js.map +1 -1
  7. package/dist/cli/commands/commit-ready.d.ts.map +1 -1
  8. package/dist/cli/commands/commit-ready.js +19 -33
  9. package/dist/cli/commands/commit-ready.js.map +1 -1
  10. package/dist/cli/commands/enrich.js +4 -4
  11. package/dist/cli/commands/enrich.js.map +1 -1
  12. package/dist/cli/commands/guard.d.ts.map +1 -1
  13. package/dist/cli/commands/guard.js +2 -1
  14. package/dist/cli/commands/guard.js.map +1 -1
  15. package/dist/cli/commands/issue.d.ts +2 -0
  16. package/dist/cli/commands/issue.d.ts.map +1 -0
  17. package/dist/cli/commands/issue.js +548 -0
  18. package/dist/cli/commands/issue.js.map +1 -0
  19. package/dist/cli/commands/map.d.ts.map +1 -1
  20. package/dist/cli/commands/map.js +127 -19
  21. package/dist/cli/commands/map.js.map +1 -1
  22. package/dist/cli/commands/pr.d.ts +1 -1
  23. package/dist/cli/commands/pr.d.ts.map +1 -1
  24. package/dist/cli/commands/pr.js +19 -7
  25. package/dist/cli/commands/pr.js.map +1 -1
  26. package/dist/cli/commands/resume.d.ts +2 -0
  27. package/dist/cli/commands/resume.d.ts.map +1 -0
  28. package/dist/cli/commands/resume.js +5 -0
  29. package/dist/cli/commands/resume.js.map +1 -0
  30. package/dist/cli/commands/retro.d.ts +2 -1
  31. package/dist/cli/commands/retro.d.ts.map +1 -1
  32. package/dist/cli/commands/retro.js +243 -4
  33. package/dist/cli/commands/retro.js.map +1 -1
  34. package/dist/cli/commands/review.d.ts +1 -1
  35. package/dist/cli/commands/review.d.ts.map +1 -1
  36. package/dist/cli/commands/review.js +13 -5
  37. package/dist/cli/commands/review.js.map +1 -1
  38. package/dist/cli/commands/session.d.ts.map +1 -1
  39. package/dist/cli/commands/session.js +17 -0
  40. package/dist/cli/commands/session.js.map +1 -1
  41. package/dist/cli/commands/sprint.d.ts.map +1 -1
  42. package/dist/cli/commands/sprint.js +302 -59
  43. package/dist/cli/commands/sprint.js.map +1 -1
  44. package/dist/cli/commands/status.d.ts.map +1 -1
  45. package/dist/cli/commands/status.js +18 -9
  46. package/dist/cli/commands/status.js.map +1 -1
  47. package/dist/cli/commands/store.d.ts.map +1 -1
  48. package/dist/cli/commands/store.js +10 -0
  49. package/dist/cli/commands/store.js.map +1 -1
  50. package/dist/cli/commands/validate.d.ts.map +1 -1
  51. package/dist/cli/commands/validate.js +32 -3
  52. package/dist/cli/commands/validate.js.map +1 -1
  53. package/dist/cli/commands/version.d.ts.map +1 -1
  54. package/dist/cli/commands/version.js +15 -8
  55. package/dist/cli/commands/version.js.map +1 -1
  56. package/dist/cli/commands/worktree.d.ts.map +1 -1
  57. package/dist/cli/commands/worktree.js +8 -6
  58. package/dist/cli/commands/worktree.js.map +1 -1
  59. package/dist/cli/guards/branch-before-commit.d.ts.map +1 -1
  60. package/dist/cli/guards/branch-before-commit.js +2 -1
  61. package/dist/cli/guards/branch-before-commit.js.map +1 -1
  62. package/dist/cli/guards/claim-required.d.ts.map +1 -1
  63. package/dist/cli/guards/claim-required.js +26 -15
  64. package/dist/cli/guards/claim-required.js.map +1 -1
  65. package/dist/cli/guards/commit-nudge.d.ts.map +1 -1
  66. package/dist/cli/guards/commit-nudge.js +6 -5
  67. package/dist/cli/guards/commit-nudge.js.map +1 -1
  68. package/dist/cli/guards/compaction.d.ts.map +1 -1
  69. package/dist/cli/guards/compaction.js +6 -5
  70. package/dist/cli/guards/compaction.js.map +1 -1
  71. package/dist/cli/guards/docs.js +2 -2
  72. package/dist/cli/guards/docs.js.map +1 -1
  73. package/dist/cli/guards/explore.d.ts.map +1 -1
  74. package/dist/cli/guards/explore.js +6 -2
  75. package/dist/cli/guards/explore.js.map +1 -1
  76. package/dist/cli/guards/git-utils.js +3 -3
  77. package/dist/cli/guards/git-utils.js.map +1 -1
  78. package/dist/cli/guards/post-hole-enforcement.d.ts.map +1 -1
  79. package/dist/cli/guards/post-hole-enforcement.js +22 -2
  80. package/dist/cli/guards/post-hole-enforcement.js.map +1 -1
  81. package/dist/cli/guards/post-push.d.ts.map +1 -1
  82. package/dist/cli/guards/post-push.js +15 -10
  83. package/dist/cli/guards/post-push.js.map +1 -1
  84. package/dist/cli/guards/pr-review.d.ts.map +1 -1
  85. package/dist/cli/guards/pr-review.js +1 -0
  86. package/dist/cli/guards/pr-review.js.map +1 -1
  87. package/dist/cli/guards/push-nudge.d.ts.map +1 -1
  88. package/dist/cli/guards/push-nudge.js +4 -3
  89. package/dist/cli/guards/push-nudge.js.map +1 -1
  90. package/dist/cli/guards/scope-drift.js +2 -0
  91. package/dist/cli/guards/scope-drift.js.map +1 -1
  92. package/dist/cli/guards/sprint-completion.d.ts.map +1 -1
  93. package/dist/cli/guards/sprint-completion.js +222 -21
  94. package/dist/cli/guards/sprint-completion.js.map +1 -1
  95. package/dist/cli/guards/stop-check.d.ts.map +1 -1
  96. package/dist/cli/guards/stop-check.js +14 -12
  97. package/dist/cli/guards/stop-check.js.map +1 -1
  98. package/dist/cli/guards/version-check.d.ts.map +1 -1
  99. package/dist/cli/guards/version-check.js +3 -1
  100. package/dist/cli/guards/version-check.js.map +1 -1
  101. package/dist/cli/guards/workflow-step-gate.d.ts.map +1 -1
  102. package/dist/cli/guards/workflow-step-gate.js +14 -3
  103. package/dist/cli/guards/workflow-step-gate.js.map +1 -1
  104. package/dist/cli/guards/worktree-check.d.ts.map +1 -1
  105. package/dist/cli/guards/worktree-check.js +138 -8
  106. package/dist/cli/guards/worktree-check.js.map +1 -1
  107. package/dist/cli/guards/worktree-merge.d.ts.map +1 -1
  108. package/dist/cli/guards/worktree-merge.js +3 -2
  109. package/dist/cli/guards/worktree-merge.js.map +1 -1
  110. package/dist/cli/guards/worktree-reuse.d.ts.map +1 -1
  111. package/dist/cli/guards/worktree-reuse.js +2 -1
  112. package/dist/cli/guards/worktree-reuse.js.map +1 -1
  113. package/dist/cli/guards/worktree-self-remove.d.ts.map +1 -1
  114. package/dist/cli/guards/worktree-self-remove.js +3 -2
  115. package/dist/cli/guards/worktree-self-remove.js.map +1 -1
  116. package/dist/cli/index.js +24 -1
  117. package/dist/cli/index.js.map +1 -1
  118. package/dist/cli/loop/slope-executor.d.ts.map +1 -1
  119. package/dist/cli/loop/slope-executor.js +4 -2
  120. package/dist/cli/loop/slope-executor.js.map +1 -1
  121. package/dist/cli/pr-closeout.d.ts +28 -0
  122. package/dist/cli/pr-closeout.d.ts.map +1 -1
  123. package/dist/cli/pr-closeout.js +297 -8
  124. package/dist/cli/pr-closeout.js.map +1 -1
  125. package/dist/cli/pr-review-state.d.ts +15 -0
  126. package/dist/cli/pr-review-state.d.ts.map +1 -1
  127. package/dist/cli/pr-review-state.js +68 -0
  128. package/dist/cli/pr-review-state.js.map +1 -1
  129. package/dist/cli/registry.d.ts.map +1 -1
  130. package/dist/cli/registry.js +52 -0
  131. package/dist/cli/registry.js.map +1 -1
  132. package/dist/cli/source-runtime.d.ts +9 -0
  133. package/dist/cli/source-runtime.d.ts.map +1 -0
  134. package/dist/cli/source-runtime.js +50 -0
  135. package/dist/cli/source-runtime.js.map +1 -0
  136. package/dist/cli/sprint-resume.d.ts +55 -0
  137. package/dist/cli/sprint-resume.d.ts.map +1 -0
  138. package/dist/cli/sprint-resume.js +213 -0
  139. package/dist/cli/sprint-resume.js.map +1 -0
  140. package/dist/cli/template-generator.d.ts.map +1 -1
  141. package/dist/cli/template-generator.js +10 -2
  142. package/dist/cli/template-generator.js.map +1 -1
  143. package/dist/cli/workflow-resync.d.ts +37 -0
  144. package/dist/cli/workflow-resync.d.ts.map +1 -0
  145. package/dist/cli/workflow-resync.js +273 -0
  146. package/dist/cli/workflow-resync.js.map +1 -0
  147. package/dist/core/analyzers/walk.d.ts.map +1 -1
  148. package/dist/core/analyzers/walk.js +4 -1
  149. package/dist/core/analyzers/walk.js.map +1 -1
  150. package/dist/core/briefing.d.ts.map +1 -1
  151. package/dist/core/briefing.js +17 -5
  152. package/dist/core/briefing.js.map +1 -1
  153. package/dist/core/flows.d.ts.map +1 -1
  154. package/dist/core/flows.js +2 -2
  155. package/dist/core/flows.js.map +1 -1
  156. package/dist/core/formatter.d.ts.map +1 -1
  157. package/dist/core/formatter.js +3 -48
  158. package/dist/core/formatter.js.map +1 -1
  159. package/dist/core/harness.d.ts +1 -1
  160. package/dist/core/harness.d.ts.map +1 -1
  161. package/dist/core/harness.js +7 -5
  162. package/dist/core/harness.js.map +1 -1
  163. package/dist/core/imports.d.ts.map +1 -1
  164. package/dist/core/imports.js +7 -4
  165. package/dist/core/imports.js.map +1 -1
  166. package/dist/core/index.d.ts +5 -1
  167. package/dist/core/index.d.ts.map +1 -1
  168. package/dist/core/index.js +5 -1
  169. package/dist/core/index.js.map +1 -1
  170. package/dist/core/interview-engine.d.ts.map +1 -1
  171. package/dist/core/interview-engine.js +3 -1
  172. package/dist/core/interview-engine.js.map +1 -1
  173. package/dist/core/issue-scout.d.ts +70 -0
  174. package/dist/core/issue-scout.d.ts.map +1 -0
  175. package/dist/core/issue-scout.js +481 -0
  176. package/dist/core/issue-scout.js.map +1 -0
  177. package/dist/core/loader.d.ts +5 -1
  178. package/dist/core/loader.d.ts.map +1 -1
  179. package/dist/core/loader.js +102 -4
  180. package/dist/core/loader.js.map +1 -1
  181. package/dist/core/memory-types.d.ts +1 -1
  182. package/dist/core/memory-types.d.ts.map +1 -1
  183. package/dist/core/memory-validation.js +1 -1
  184. package/dist/core/memory-validation.js.map +1 -1
  185. package/dist/core/memory.d.ts.map +1 -1
  186. package/dist/core/memory.js +5 -0
  187. package/dist/core/memory.js.map +1 -1
  188. package/dist/core/prep.d.ts.map +1 -1
  189. package/dist/core/prep.js +7 -4
  190. package/dist/core/prep.js.map +1 -1
  191. package/dist/core/process.d.ts +3 -0
  192. package/dist/core/process.d.ts.map +1 -0
  193. package/dist/core/process.js +3 -0
  194. package/dist/core/process.js.map +1 -0
  195. package/dist/core/retro.d.ts +49 -0
  196. package/dist/core/retro.d.ts.map +1 -0
  197. package/dist/core/retro.js +112 -0
  198. package/dist/core/retro.js.map +1 -0
  199. package/dist/core/vision.js +5 -5
  200. package/dist/core/vision.js.map +1 -1
  201. package/dist/mcp/index.d.ts.map +1 -1
  202. package/dist/mcp/index.js +74 -33
  203. package/dist/mcp/index.js.map +1 -1
  204. package/package.json +3 -3
  205. package/templates/codex/plugins/slope/.codex-plugin/plugin.json +4 -3
  206. package/templates/codex/plugins/slope/skills/slope-retro/SKILL.md +33 -0
@@ -4,6 +4,7 @@ import { join } from 'node:path';
4
4
  import { detectLatestSprint } from '../core/index.js';
5
5
  import { loadConfig } from './config.js';
6
6
  import { loadPrReviewState } from './pr-review-state.js';
7
+ import { loadReviewState } from './commands/review-state.js';
7
8
  import { isActiveSprintState, loadSprintState } from './sprint-state.js';
8
9
  export function closeoutPolicy(cwd) {
9
10
  const guidance = loadConfig(cwd).guidance;
@@ -30,10 +31,14 @@ export function buildPrCloseoutStatus(cwd, opts = {}) {
30
31
  const policy = closeoutPolicy(cwd);
31
32
  const sprint = opts.sprint ?? inferSprint(cwd);
32
33
  const branch = currentBranch(cwd);
33
- const pr = currentPr();
34
+ const pr = currentPr(opts.pr);
34
35
  const base = pr?.baseRefName ? `origin/${pr.baseRefName}` : inferBaseRef(cwd);
35
36
  const branchSize = collectBranchSize(cwd, base);
36
37
  const prReview = resolvePrReviewStatus(cwd, { pr: pr?.number, sprint, branch });
38
+ const closeoutSettlement = resolvePrCloseoutSettlement(cwd, { pr: pr?.number, sprint, branch });
39
+ const prChecks = resolvePrChecks(pr);
40
+ const reviewerBot = resolveReviewerBotStatus(pr);
41
+ const reviewThreads = resolvePrReviewThreads(pr);
37
42
  const scorecardPath = sprint
38
43
  ? join(cwd, config.scorecardDir, config.scorecardPattern.replaceAll('*', String(sprint)))
39
44
  : undefined;
@@ -50,6 +55,12 @@ export function buildPrCloseoutStatus(cwd, opts = {}) {
50
55
  unpushedCommits: countUnpushedCommits(cwd),
51
56
  pr,
52
57
  prReview,
58
+ prChecks,
59
+ reviewerBot: reviewerBot.status,
60
+ reviewerBotReason: reviewerBot.reason,
61
+ prReviewThreads: reviewThreads.status,
62
+ unresolvedReviewThreads: reviewThreads.unresolved,
63
+ closeoutSettlement,
53
64
  branchSize,
54
65
  branchSizeWarnings: branchSizeWarnings(branchSize, policy),
55
66
  blockers: [],
@@ -71,9 +82,40 @@ export function buildPrCloseoutStatus(cwd, opts = {}) {
71
82
  ? 'PR review is pending; run slope pr review.'
72
83
  : 'No PR implementation review record found; run slope pr review.');
73
84
  }
85
+ if (status.pr) {
86
+ if (status.prChecks === 'pending')
87
+ status.blockers.push('PR checks are still pending; wait for GitHub checks to finish.');
88
+ if (status.prChecks === 'failing')
89
+ status.blockers.push('PR checks are failing; fix failing checks before closeout.');
90
+ if (status.prChecks === 'unknown')
91
+ status.warnings.push('Could not determine PR check status from GitHub.');
92
+ if (status.reviewerBot === 'pending') {
93
+ status.blockers.push(status.reviewerBotReason ?? 'Reviewer bot has not completed its PR review.');
94
+ }
95
+ if (status.reviewerBot === 'unknown') {
96
+ status.blockers.push(status.reviewerBotReason ?? 'Could not determine reviewer bot status from GitHub comments.');
97
+ }
98
+ if (status.pr.reviewDecision === 'CHANGES_REQUESTED')
99
+ status.blockers.push('PR has requested changes; address review feedback before closeout.');
100
+ if (status.prReviewThreads === 'pending') {
101
+ const count = status.unresolvedReviewThreads ?? 0;
102
+ status.blockers.push(`${count} unresolved PR review thread${count === 1 ? '' : 's'} remain; address or resolve review feedback before closeout.`);
103
+ }
104
+ if (status.prReviewThreads === 'unknown')
105
+ status.warnings.push('Could not determine unresolved PR review thread status from GitHub.');
106
+ }
74
107
  status.warnings.push(...status.branchSizeWarnings);
75
108
  return status;
76
109
  }
110
+ export function canSettlePrCloseout(status) {
111
+ return Boolean(status.pr
112
+ && status.prReview === 'reviewed'
113
+ && status.prChecks === 'passing'
114
+ && status.reviewerBot === 'settled'
115
+ && status.prReviewThreads === 'settled'
116
+ && status.pr.reviewDecision !== 'CHANGES_REQUESTED'
117
+ && status.blockers.length === 0);
118
+ }
77
119
  export function formatPrCloseoutStatus(status) {
78
120
  const lines = [
79
121
  '',
@@ -86,6 +128,11 @@ export function formatPrCloseoutStatus(status) {
86
128
  `Push state: ${formatPushState(status.unpushedCommits)}`,
87
129
  `PR: ${status.pr ? `#${status.pr.number}${status.pr.state ? ` ${status.pr.state}` : ''}${status.pr.url ? ` ${status.pr.url}` : ''}` : 'missing'}`,
88
130
  `PR review: ${status.prReview}`,
131
+ `PR checks: ${status.prChecks}`,
132
+ `Reviewer bot: ${formatReviewerBotStatus(status)}`,
133
+ `Review threads: ${formatReviewThreadStatus(status)}`,
134
+ `Review decision: ${status.pr?.reviewDecision ?? 'unknown'}`,
135
+ `Closeout: ${status.closeoutSettlement}`,
89
136
  `Branch size: ${formatBranchSize(status.branchSize)}`,
90
137
  ];
91
138
  if (status.blockers.length > 0) {
@@ -102,6 +149,17 @@ function formatPushState(unpushed) {
102
149
  return 'unknown';
103
150
  return unpushed === 0 ? 'ok' : `${unpushed} unpushed`;
104
151
  }
152
+ function formatReviewThreadStatus(status) {
153
+ if (status.prReviewThreads !== 'pending')
154
+ return status.prReviewThreads;
155
+ const count = status.unresolvedReviewThreads ?? 0;
156
+ return `${status.prReviewThreads} (${count} unresolved)`;
157
+ }
158
+ function formatReviewerBotStatus(status) {
159
+ if (status.reviewerBot !== 'pending' || !status.reviewerBotReason)
160
+ return status.reviewerBot;
161
+ return `${status.reviewerBot} (${status.reviewerBotReason})`;
162
+ }
105
163
  function formatBranchSize(size) {
106
164
  const commits = typeof size.commits === 'number' ? `${size.commits} commit${size.commits === 1 ? '' : 's'}` : 'unknown commits';
107
165
  const files = typeof size.files === 'number' ? `${size.files} file${size.files === 1 ? '' : 's'}` : 'unknown files';
@@ -122,9 +180,16 @@ function currentBranch(cwd) {
122
180
  return undefined;
123
181
  }
124
182
  }
125
- function currentPr() {
183
+ function currentPr(prNumber) {
126
184
  try {
127
- const raw = execFileSync('gh', ['pr', 'view', '--json', 'number,url,state,baseRefName,headRefName'], {
185
+ const args = [
186
+ 'pr',
187
+ 'view',
188
+ ...(prNumber ? [String(prNumber)] : []),
189
+ '--json',
190
+ 'number,url,state,baseRefName,headRefName,headRefOid,mergeStateStatus,mergeable,reviewDecision,statusCheckRollup',
191
+ ];
192
+ const raw = execFileSync('gh', args, {
128
193
  encoding: 'utf8',
129
194
  stdio: ['ignore', 'pipe', 'ignore'],
130
195
  }).trim();
@@ -135,6 +200,214 @@ function currentPr() {
135
200
  return null;
136
201
  }
137
202
  }
203
+ function resolvePrChecks(pr) {
204
+ if (!pr)
205
+ return 'unknown';
206
+ const rollup = Array.isArray(pr.statusCheckRollup) ? pr.statusCheckRollup : undefined;
207
+ if (!rollup)
208
+ return 'unknown';
209
+ if (rollup.length === 0)
210
+ return 'passing';
211
+ let hasPending = false;
212
+ let hasFailing = false;
213
+ for (const item of rollup) {
214
+ const check = item;
215
+ if (check.__typename === 'StatusContext') {
216
+ if (check.state === 'PENDING')
217
+ hasPending = true;
218
+ else if (check.state && check.state !== 'SUCCESS')
219
+ hasFailing = true;
220
+ continue;
221
+ }
222
+ if (check.status && check.status !== 'COMPLETED') {
223
+ hasPending = true;
224
+ continue;
225
+ }
226
+ if (check.conclusion && !['SUCCESS', 'SKIPPED', 'NEUTRAL'].includes(check.conclusion)) {
227
+ hasFailing = true;
228
+ }
229
+ }
230
+ if (hasFailing)
231
+ return 'failing';
232
+ if (hasPending)
233
+ return 'pending';
234
+ return 'passing';
235
+ }
236
+ function resolveReviewerBotStatus(pr) {
237
+ if (!pr?.url)
238
+ return { status: 'unknown' };
239
+ const repo = parseGitHubRepo(pr.url);
240
+ if (!repo)
241
+ return { status: 'unknown' };
242
+ if (!hasCodeRabbitSignal(pr))
243
+ return { status: 'settled' };
244
+ try {
245
+ const commentsRaw = execFileSync('gh', [
246
+ 'api',
247
+ '--method',
248
+ 'GET',
249
+ `repos/${repo.owner}/${repo.repo}/issues/${pr.number}/comments`,
250
+ '-F',
251
+ 'per_page=100',
252
+ ], {
253
+ encoding: 'utf8',
254
+ stdio: ['ignore', 'pipe', 'ignore'],
255
+ });
256
+ const reviewsRaw = execFileSync('gh', [
257
+ 'api',
258
+ '--method',
259
+ 'GET',
260
+ `repos/${repo.owner}/${repo.repo}/pulls/${pr.number}/reviews`,
261
+ '-F',
262
+ 'per_page=100',
263
+ ], {
264
+ encoding: 'utf8',
265
+ stdio: ['ignore', 'pipe', 'ignore'],
266
+ });
267
+ const comments = JSON.parse(commentsRaw);
268
+ const reviews = JSON.parse(reviewsRaw);
269
+ if (!Array.isArray(comments) || !Array.isArray(reviews))
270
+ return { status: 'unknown' };
271
+ const blockedAt = latestTimestamp(comments
272
+ .filter(isBlockedCodeRabbitComment)
273
+ .map(comment => comment.updated_at ?? comment.created_at));
274
+ const processingAt = latestTimestamp(comments
275
+ .filter(isProcessingCodeRabbitComment)
276
+ .map(comment => comment.updated_at ?? comment.created_at));
277
+ const reviewedAt = latestTimestamp(reviews
278
+ .filter(review => isCurrentCodeRabbitReview(review, pr.headRefOid))
279
+ .map(review => review.submitted_at));
280
+ const latestNonSettledAt = Math.max(blockedAt ?? 0, processingAt ?? 0);
281
+ if (reviewedAt && reviewedAt > latestNonSettledAt)
282
+ return { status: 'settled' };
283
+ if (!blockedAt && !processingAt && hasSuccessfulCodeRabbitStatus(pr))
284
+ return { status: 'settled' };
285
+ if (processingAt && (!reviewedAt || processingAt >= reviewedAt))
286
+ return {
287
+ status: 'pending',
288
+ reason: 'CodeRabbit review is still in progress.',
289
+ };
290
+ if (blockedAt && (!reviewedAt || blockedAt >= reviewedAt))
291
+ return {
292
+ status: 'pending',
293
+ reason: 'CodeRabbit reported a review limit or credit block; retrigger reviewer bot review before closeout.',
294
+ };
295
+ return {
296
+ status: 'unknown',
297
+ reason: 'Could not confirm reviewer bot review for the current PR head.',
298
+ };
299
+ }
300
+ catch {
301
+ return { status: 'unknown' };
302
+ }
303
+ }
304
+ function hasCodeRabbitSignal(pr) {
305
+ const rollup = Array.isArray(pr.statusCheckRollup) ? pr.statusCheckRollup : [];
306
+ return rollup.some(item => {
307
+ const check = item;
308
+ return isCodeRabbitLogin(check.name) || isCodeRabbitLogin(check.context);
309
+ });
310
+ }
311
+ export function hasSuccessfulCodeRabbitStatus(pr) {
312
+ const rollup = Array.isArray(pr.statusCheckRollup) ? pr.statusCheckRollup : [];
313
+ return rollup.some(item => {
314
+ const check = item;
315
+ if (!isCodeRabbitLogin(check.name) && !isCodeRabbitLogin(check.context))
316
+ return false;
317
+ if (check.__typename === 'StatusContext')
318
+ return check.state === 'SUCCESS';
319
+ return check.status === 'COMPLETED' && ['SUCCESS', 'SKIPPED', 'NEUTRAL'].includes(check.conclusion ?? '');
320
+ });
321
+ }
322
+ export function isBlockedCodeRabbitComment(comment) {
323
+ if (!isCodeRabbitLogin(comment.user?.login))
324
+ return false;
325
+ const body = comment.body ?? '';
326
+ return /review limit reached/i.test(body)
327
+ || /couldn'?t start this review/i.test(body)
328
+ || /run out of usage credits/i.test(body)
329
+ || /more reviews will be available/i.test(body);
330
+ }
331
+ function isProcessingCodeRabbitComment(comment) {
332
+ if (!isCodeRabbitLogin(comment.user?.login))
333
+ return false;
334
+ const body = comment.body ?? '';
335
+ return /review in progress by coderabbit\.ai/i.test(body)
336
+ || /currently processing new changes/i.test(body);
337
+ }
338
+ function isCurrentCodeRabbitReview(review, headRefOid) {
339
+ if (!isCodeRabbitLogin(review.user?.login))
340
+ return false;
341
+ if (!headRefOid)
342
+ return false;
343
+ return review.commit_id === headRefOid;
344
+ }
345
+ function isCodeRabbitLogin(value) {
346
+ return Boolean(value && /coderabbit/i.test(value));
347
+ }
348
+ function latestTimestamp(values) {
349
+ const timestamps = values
350
+ .map(value => value ? Date.parse(value) : Number.NaN)
351
+ .filter(value => Number.isFinite(value));
352
+ if (timestamps.length === 0)
353
+ return undefined;
354
+ return Math.max(...timestamps);
355
+ }
356
+ function resolvePrReviewThreads(pr) {
357
+ if (!pr?.url)
358
+ return { status: 'unknown' };
359
+ const repo = parseGitHubRepo(pr.url);
360
+ if (!repo)
361
+ return { status: 'unknown' };
362
+ try {
363
+ const query = `
364
+ query($owner: String!, $repo: String!, $number: Int!) {
365
+ repository(owner: $owner, name: $repo) {
366
+ pullRequest(number: $number) {
367
+ reviewThreads(first: 100) {
368
+ nodes {
369
+ isResolved
370
+ isOutdated
371
+ }
372
+ }
373
+ }
374
+ }
375
+ }
376
+ `;
377
+ const raw = execFileSync('gh', [
378
+ 'api',
379
+ 'graphql',
380
+ '-f',
381
+ `query=${query}`,
382
+ '-F',
383
+ `owner=${repo.owner}`,
384
+ '-F',
385
+ `repo=${repo.repo}`,
386
+ '-F',
387
+ `number=${pr.number}`,
388
+ ], {
389
+ encoding: 'utf8',
390
+ stdio: ['ignore', 'pipe', 'ignore'],
391
+ });
392
+ const parsed = JSON.parse(raw);
393
+ const nodes = parsed.data?.repository?.pullRequest?.reviewThreads?.nodes;
394
+ if (!Array.isArray(nodes))
395
+ return { status: 'unknown' };
396
+ const unresolved = nodes.filter(node => !node.isResolved && !node.isOutdated).length;
397
+ return unresolved > 0
398
+ ? { status: 'pending', unresolved }
399
+ : { status: 'settled', unresolved: 0 };
400
+ }
401
+ catch {
402
+ return { status: 'unknown' };
403
+ }
404
+ }
405
+ function parseGitHubRepo(url) {
406
+ const match = url.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/pull\/\d+/);
407
+ if (!match)
408
+ return null;
409
+ return { owner: match[1], repo: match[2] };
410
+ }
138
411
  function countUnpushedCommits(cwd) {
139
412
  try {
140
413
  execFileSync('git', ['rev-parse', '--abbrev-ref', '--symbolic-full-name', '@{u}'], { cwd, stdio: ['ignore', 'ignore', 'ignore'] });
@@ -184,14 +457,30 @@ function collectBranchSize(cwd, base) {
184
457
  return size;
185
458
  }
186
459
  function resolvePrReviewStatus(cwd, input) {
187
- const reviews = loadPrReviewState(cwd).reviews;
188
- const matching = reviews.filter(review => (input.pr != null && review.pr === input.pr)
189
- || (input.sprint != null && review.sprint === input.sprint)
190
- || (input.branch != null && review.branch === input.branch));
460
+ const matching = matchingPrReviews(cwd, input);
191
461
  if (matching.some(review => review.status === 'reviewed'))
192
462
  return 'reviewed';
193
- if (matching.some(review => review.status === 'pending'))
463
+ if (matching.some(review => review.status === 'pending')) {
464
+ return completedReviewRounds(cwd) ? 'reviewed' : 'pending';
465
+ }
466
+ return 'missing';
467
+ }
468
+ function completedReviewRounds(cwd) {
469
+ const state = loadReviewState(cwd);
470
+ return Boolean(state && state.rounds_completed >= state.rounds_required);
471
+ }
472
+ function resolvePrCloseoutSettlement(cwd, input) {
473
+ const matching = matchingPrReviews(cwd, input);
474
+ if (matching.some(review => review.closeout_status === 'settled'))
475
+ return 'settled';
476
+ if (matching.length > 0)
194
477
  return 'pending';
195
478
  return 'missing';
196
479
  }
480
+ function matchingPrReviews(cwd, input) {
481
+ const reviews = loadPrReviewState(cwd).reviews;
482
+ return reviews.filter(review => (input.pr != null && review.pr === input.pr)
483
+ || (input.sprint != null && review.sprint === input.sprint)
484
+ || (input.branch != null && review.branch === input.branch));
485
+ }
197
486
  //# sourceMappingURL=pr-closeout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr-closeout.js","sourceRoot":"","sources":["../../src/cli/pr-closeout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-closeout.js","sourceRoot":"","sources":["../../src/cli/pr-closeout.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,11 @@ export interface PrReviewRecord {
3
3
  sprint?: number;
4
4
  branch?: string;
5
5
  status: 'pending' | 'reviewed';
6
+ closeout_status?: 'pending' | 'settled';
6
7
  created_at: string;
8
+ prompts_generated_at?: string;
7
9
  reviewed_at?: string;
10
+ closeout_settled_at?: string;
8
11
  review_type?: 'architect' | 'code' | 'both';
9
12
  }
10
13
  export interface PrReviewState {
@@ -16,11 +19,23 @@ export declare function recordPrReviewPending(cwd: string, input: {
16
19
  sprint?: number;
17
20
  branch?: string;
18
21
  }): void;
22
+ export declare function recordPrReviewPromptsGenerated(cwd: string, input: {
23
+ pr: number;
24
+ sprint?: number;
25
+ branch?: string;
26
+ reviewType?: 'architect' | 'code' | 'both';
27
+ }): void;
19
28
  export declare function recordPrReviewComplete(cwd: string, input: {
20
29
  pr: number;
21
30
  sprint?: number;
22
31
  branch?: string;
23
32
  reviewType?: 'architect' | 'code' | 'both';
24
33
  }): void;
34
+ export declare function recordPrCloseoutSettled(cwd: string, input: {
35
+ pr: number;
36
+ sprint?: number;
37
+ branch?: string;
38
+ }): void;
25
39
  export declare function pendingPrReviews(cwd: string, sprint?: number): PrReviewRecord[];
40
+ export declare function pendingPrCloseouts(cwd: string, sprint?: number): PrReviewRecord[];
26
41
  //# sourceMappingURL=pr-review-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr-review-state.d.ts","sourceRoot":"","sources":["../../src/cli/pr-review-state.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAY5D;AAqBD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoBhH;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,GAClG,IAAI,CAwBN;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAK/E"}
1
+ {"version":3,"file":"pr-review-state.d.ts","sourceRoot":"","sources":["../../src/cli/pr-review-state.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAY5D;AA0BD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsBhH;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,GAClG,IAAI,CA0BN;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,GAClG,IAAI,CA0BN;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,IAAI,CAwBN;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAK/E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAMjF"}
@@ -22,6 +22,9 @@ function isPrReviewRecord(value) {
22
22
  return Boolean(record
23
23
  && typeof record.pr === 'number'
24
24
  && (record.status === 'pending' || record.status === 'reviewed')
25
+ && (record.closeout_status == null
26
+ || record.closeout_status === 'pending'
27
+ || record.closeout_status === 'settled')
25
28
  && typeof record.created_at === 'string');
26
29
  }
27
30
  function savePrReviewState(cwd, state) {
@@ -41,6 +44,8 @@ export function recordPrReviewPending(cwd, input) {
41
44
  existing.branch = input.branch ?? existing.branch;
42
45
  if (existing.status !== 'reviewed')
43
46
  existing.status = 'pending';
47
+ if (existing.closeout_status !== 'settled')
48
+ existing.closeout_status = 'pending';
44
49
  }
45
50
  else {
46
51
  state.reviews.push({
@@ -48,11 +53,40 @@ export function recordPrReviewPending(cwd, input) {
48
53
  sprint: input.sprint,
49
54
  branch: input.branch,
50
55
  status: 'pending',
56
+ closeout_status: 'pending',
51
57
  created_at: now,
52
58
  });
53
59
  }
54
60
  savePrReviewState(cwd, state);
55
61
  }
62
+ export function recordPrReviewPromptsGenerated(cwd, input) {
63
+ const state = loadPrReviewState(cwd);
64
+ const now = new Date().toISOString();
65
+ const existing = state.reviews.find(review => review.pr === input.pr);
66
+ if (existing) {
67
+ existing.sprint = input.sprint ?? existing.sprint;
68
+ existing.branch = input.branch ?? existing.branch;
69
+ existing.prompts_generated_at = now;
70
+ existing.review_type = input.reviewType ?? existing.review_type;
71
+ if (existing.status !== 'reviewed')
72
+ existing.status = 'pending';
73
+ if (existing.closeout_status !== 'settled')
74
+ existing.closeout_status = 'pending';
75
+ }
76
+ else {
77
+ state.reviews.push({
78
+ pr: input.pr,
79
+ sprint: input.sprint,
80
+ branch: input.branch,
81
+ status: 'pending',
82
+ closeout_status: 'pending',
83
+ created_at: now,
84
+ prompts_generated_at: now,
85
+ review_type: input.reviewType,
86
+ });
87
+ }
88
+ savePrReviewState(cwd, state);
89
+ }
56
90
  export function recordPrReviewComplete(cwd, input) {
57
91
  const state = loadPrReviewState(cwd);
58
92
  const now = new Date().toISOString();
@@ -63,6 +97,8 @@ export function recordPrReviewComplete(cwd, input) {
63
97
  existing.status = 'reviewed';
64
98
  existing.reviewed_at = now;
65
99
  existing.review_type = input.reviewType ?? existing.review_type;
100
+ if (existing.closeout_status !== 'settled')
101
+ existing.closeout_status = 'pending';
66
102
  }
67
103
  else {
68
104
  state.reviews.push({
@@ -70,6 +106,7 @@ export function recordPrReviewComplete(cwd, input) {
70
106
  sprint: input.sprint,
71
107
  branch: input.branch,
72
108
  status: 'reviewed',
109
+ closeout_status: 'pending',
73
110
  created_at: now,
74
111
  reviewed_at: now,
75
112
  review_type: input.reviewType,
@@ -77,10 +114,41 @@ export function recordPrReviewComplete(cwd, input) {
77
114
  }
78
115
  savePrReviewState(cwd, state);
79
116
  }
117
+ export function recordPrCloseoutSettled(cwd, input) {
118
+ const state = loadPrReviewState(cwd);
119
+ const now = new Date().toISOString();
120
+ const existing = state.reviews.find(review => review.pr === input.pr);
121
+ if (existing) {
122
+ existing.sprint = input.sprint ?? existing.sprint;
123
+ existing.branch = input.branch ?? existing.branch;
124
+ existing.closeout_status = 'settled';
125
+ existing.closeout_settled_at = now;
126
+ }
127
+ else {
128
+ state.reviews.push({
129
+ pr: input.pr,
130
+ sprint: input.sprint,
131
+ branch: input.branch,
132
+ status: 'reviewed',
133
+ closeout_status: 'settled',
134
+ created_at: now,
135
+ reviewed_at: now,
136
+ closeout_settled_at: now,
137
+ });
138
+ }
139
+ savePrReviewState(cwd, state);
140
+ }
80
141
  export function pendingPrReviews(cwd, sprint) {
81
142
  return loadPrReviewState(cwd).reviews
82
143
  .filter(review => review.status === 'pending')
83
144
  .filter(review => sprint == null || review.sprint == null || review.sprint === sprint)
84
145
  .sort((a, b) => b.pr - a.pr);
85
146
  }
147
+ export function pendingPrCloseouts(cwd, sprint) {
148
+ return loadPrReviewState(cwd).reviews
149
+ .filter(review => review.status === 'reviewed')
150
+ .filter(review => review.closeout_status === 'pending')
151
+ .filter(review => sprint == null || review.sprint == null || review.sprint === sprint)
152
+ .sort((a, b) => b.pr - a.pr);
153
+ }
86
154
  //# sourceMappingURL=pr-review-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr-review-state.js","sourceRoot":"","sources":["../../src/cli/pr-review-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-review-state.js","sourceRoot":"","sources":["../../src/cli/pr-review-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACxE,0BAA0B;IAC1B,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,iEAAkE,CAAC;AAEpG,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAqrBzD,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACxE,0BAA0B;IAC1B,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,iEAAkE,CAAC;AAEpG,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAyuBzD,CAAC"}