@slope-dev/slope 1.57.2 → 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 (209) 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 +9 -7
  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 +3 -3
  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/hazard.d.ts.map +1 -1
  79. package/dist/cli/guards/hazard.js +7 -2
  80. package/dist/cli/guards/hazard.js.map +1 -1
  81. package/dist/cli/guards/post-hole-enforcement.d.ts.map +1 -1
  82. package/dist/cli/guards/post-hole-enforcement.js +22 -2
  83. package/dist/cli/guards/post-hole-enforcement.js.map +1 -1
  84. package/dist/cli/guards/post-push.d.ts.map +1 -1
  85. package/dist/cli/guards/post-push.js +15 -10
  86. package/dist/cli/guards/post-push.js.map +1 -1
  87. package/dist/cli/guards/pr-review.d.ts.map +1 -1
  88. package/dist/cli/guards/pr-review.js +1 -0
  89. package/dist/cli/guards/pr-review.js.map +1 -1
  90. package/dist/cli/guards/push-nudge.d.ts.map +1 -1
  91. package/dist/cli/guards/push-nudge.js +4 -3
  92. package/dist/cli/guards/push-nudge.js.map +1 -1
  93. package/dist/cli/guards/scope-drift.js +2 -0
  94. package/dist/cli/guards/scope-drift.js.map +1 -1
  95. package/dist/cli/guards/sprint-completion.d.ts.map +1 -1
  96. package/dist/cli/guards/sprint-completion.js +222 -21
  97. package/dist/cli/guards/sprint-completion.js.map +1 -1
  98. package/dist/cli/guards/stop-check.d.ts.map +1 -1
  99. package/dist/cli/guards/stop-check.js +14 -12
  100. package/dist/cli/guards/stop-check.js.map +1 -1
  101. package/dist/cli/guards/version-check.d.ts.map +1 -1
  102. package/dist/cli/guards/version-check.js +3 -1
  103. package/dist/cli/guards/version-check.js.map +1 -1
  104. package/dist/cli/guards/workflow-step-gate.d.ts.map +1 -1
  105. package/dist/cli/guards/workflow-step-gate.js +14 -3
  106. package/dist/cli/guards/workflow-step-gate.js.map +1 -1
  107. package/dist/cli/guards/worktree-check.d.ts.map +1 -1
  108. package/dist/cli/guards/worktree-check.js +138 -8
  109. package/dist/cli/guards/worktree-check.js.map +1 -1
  110. package/dist/cli/guards/worktree-merge.d.ts.map +1 -1
  111. package/dist/cli/guards/worktree-merge.js +3 -2
  112. package/dist/cli/guards/worktree-merge.js.map +1 -1
  113. package/dist/cli/guards/worktree-reuse.d.ts.map +1 -1
  114. package/dist/cli/guards/worktree-reuse.js +41 -12
  115. package/dist/cli/guards/worktree-reuse.js.map +1 -1
  116. package/dist/cli/guards/worktree-self-remove.d.ts.map +1 -1
  117. package/dist/cli/guards/worktree-self-remove.js +3 -2
  118. package/dist/cli/guards/worktree-self-remove.js.map +1 -1
  119. package/dist/cli/index.js +24 -1
  120. package/dist/cli/index.js.map +1 -1
  121. package/dist/cli/loop/slope-executor.d.ts.map +1 -1
  122. package/dist/cli/loop/slope-executor.js +4 -2
  123. package/dist/cli/loop/slope-executor.js.map +1 -1
  124. package/dist/cli/pr-closeout.d.ts +28 -0
  125. package/dist/cli/pr-closeout.d.ts.map +1 -1
  126. package/dist/cli/pr-closeout.js +297 -8
  127. package/dist/cli/pr-closeout.js.map +1 -1
  128. package/dist/cli/pr-review-state.d.ts +15 -0
  129. package/dist/cli/pr-review-state.d.ts.map +1 -1
  130. package/dist/cli/pr-review-state.js +68 -0
  131. package/dist/cli/pr-review-state.js.map +1 -1
  132. package/dist/cli/registry.d.ts.map +1 -1
  133. package/dist/cli/registry.js +52 -0
  134. package/dist/cli/registry.js.map +1 -1
  135. package/dist/cli/source-runtime.d.ts +9 -0
  136. package/dist/cli/source-runtime.d.ts.map +1 -0
  137. package/dist/cli/source-runtime.js +50 -0
  138. package/dist/cli/source-runtime.js.map +1 -0
  139. package/dist/cli/sprint-resume.d.ts +55 -0
  140. package/dist/cli/sprint-resume.d.ts.map +1 -0
  141. package/dist/cli/sprint-resume.js +213 -0
  142. package/dist/cli/sprint-resume.js.map +1 -0
  143. package/dist/cli/template-generator.d.ts.map +1 -1
  144. package/dist/cli/template-generator.js +10 -2
  145. package/dist/cli/template-generator.js.map +1 -1
  146. package/dist/cli/workflow-resync.d.ts +37 -0
  147. package/dist/cli/workflow-resync.d.ts.map +1 -0
  148. package/dist/cli/workflow-resync.js +273 -0
  149. package/dist/cli/workflow-resync.js.map +1 -0
  150. package/dist/core/analyzers/walk.d.ts.map +1 -1
  151. package/dist/core/analyzers/walk.js +4 -1
  152. package/dist/core/analyzers/walk.js.map +1 -1
  153. package/dist/core/briefing.d.ts.map +1 -1
  154. package/dist/core/briefing.js +17 -5
  155. package/dist/core/briefing.js.map +1 -1
  156. package/dist/core/flows.d.ts.map +1 -1
  157. package/dist/core/flows.js +2 -2
  158. package/dist/core/flows.js.map +1 -1
  159. package/dist/core/formatter.d.ts.map +1 -1
  160. package/dist/core/formatter.js +3 -48
  161. package/dist/core/formatter.js.map +1 -1
  162. package/dist/core/harness.d.ts +1 -1
  163. package/dist/core/harness.d.ts.map +1 -1
  164. package/dist/core/harness.js +7 -5
  165. package/dist/core/harness.js.map +1 -1
  166. package/dist/core/imports.d.ts.map +1 -1
  167. package/dist/core/imports.js +7 -4
  168. package/dist/core/imports.js.map +1 -1
  169. package/dist/core/index.d.ts +5 -1
  170. package/dist/core/index.d.ts.map +1 -1
  171. package/dist/core/index.js +5 -1
  172. package/dist/core/index.js.map +1 -1
  173. package/dist/core/interview-engine.d.ts.map +1 -1
  174. package/dist/core/interview-engine.js +3 -1
  175. package/dist/core/interview-engine.js.map +1 -1
  176. package/dist/core/issue-scout.d.ts +70 -0
  177. package/dist/core/issue-scout.d.ts.map +1 -0
  178. package/dist/core/issue-scout.js +481 -0
  179. package/dist/core/issue-scout.js.map +1 -0
  180. package/dist/core/loader.d.ts +5 -1
  181. package/dist/core/loader.d.ts.map +1 -1
  182. package/dist/core/loader.js +102 -4
  183. package/dist/core/loader.js.map +1 -1
  184. package/dist/core/memory-types.d.ts +1 -1
  185. package/dist/core/memory-types.d.ts.map +1 -1
  186. package/dist/core/memory-validation.js +1 -1
  187. package/dist/core/memory-validation.js.map +1 -1
  188. package/dist/core/memory.d.ts.map +1 -1
  189. package/dist/core/memory.js +5 -0
  190. package/dist/core/memory.js.map +1 -1
  191. package/dist/core/prep.d.ts.map +1 -1
  192. package/dist/core/prep.js +7 -4
  193. package/dist/core/prep.js.map +1 -1
  194. package/dist/core/process.d.ts +3 -0
  195. package/dist/core/process.d.ts.map +1 -0
  196. package/dist/core/process.js +3 -0
  197. package/dist/core/process.js.map +1 -0
  198. package/dist/core/retro.d.ts +49 -0
  199. package/dist/core/retro.d.ts.map +1 -0
  200. package/dist/core/retro.js +112 -0
  201. package/dist/core/retro.js.map +1 -0
  202. package/dist/core/vision.js +5 -5
  203. package/dist/core/vision.js.map +1 -1
  204. package/dist/mcp/index.d.ts.map +1 -1
  205. package/dist/mcp/index.js +74 -33
  206. package/dist/mcp/index.js.map +1 -1
  207. package/package.json +3 -3
  208. package/templates/codex/plugins/slope/.codex-plugin/plugin.json +4 -3
  209. package/templates/codex/plugins/slope/skills/slope-retro/SKILL.md +33 -0
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import { execSync, execFileSync } from 'node:child_process';
12
12
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
13
- import { join, resolve, dirname } from 'node:path';
13
+ import { join, resolve, dirname, relative, isAbsolute } from 'node:path';
14
14
  import { loadConfig } from '../../core/config.js';
15
15
  import { loadScorecards } from '../../core/loader.js';
16
16
  import { computeHandicapCard } from '../../core/handicap.js';
@@ -151,8 +151,10 @@ const SLOPE_ALLOWLIST = new Set([
151
151
  const SLOPE_TOOL_OUTPUT_CAP = 4000;
152
152
  // ── Path security ───────────────────────────────────
153
153
  export function safePath(relPath, cwd) {
154
+ const root = resolve(cwd);
154
155
  const abs = resolve(cwd, relPath);
155
- if (!abs.startsWith(resolve(cwd))) {
156
+ const rel = relative(root, abs);
157
+ if (rel.startsWith('..') || isAbsolute(rel)) {
156
158
  throw new Error(`Path traversal blocked: ${relPath}`);
157
159
  }
158
160
  return abs;
@@ -1 +1 @@
1
- {"version":3,"file":"slope-executor.js","sourceRoot":"","sources":["../../../src/cli/loop/slope-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slope-executor.js","sourceRoot":"","sources":["../../../src/cli/loop/slope-executor.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,16 @@ export interface PrMetadata {
13
13
  state?: string;
14
14
  baseRefName?: string;
15
15
  headRefName?: string;
16
+ headRefOid?: string;
17
+ mergeStateStatus?: string;
18
+ mergeable?: string;
19
+ reviewDecision?: string;
20
+ statusCheckRollup?: unknown[];
16
21
  }
22
+ export type PrCheckStatus = 'unknown' | 'pending' | 'failing' | 'passing';
23
+ export type PrReviewThreadStatus = 'unknown' | 'pending' | 'settled';
24
+ export type PrReviewerBotStatus = 'unknown' | 'pending' | 'settled';
25
+ export type PrCloseoutSettlementStatus = 'missing' | 'pending' | 'settled';
17
26
  export interface PrCloseoutStatus {
18
27
  sprint?: number;
19
28
  branch?: string;
@@ -24,6 +33,12 @@ export interface PrCloseoutStatus {
24
33
  unpushedCommits?: number;
25
34
  pr: PrMetadata | null;
26
35
  prReview: 'missing' | 'pending' | 'reviewed';
36
+ prChecks: PrCheckStatus;
37
+ reviewerBot: PrReviewerBotStatus;
38
+ reviewerBotReason?: string;
39
+ prReviewThreads: PrReviewThreadStatus;
40
+ unresolvedReviewThreads?: number;
41
+ closeoutSettlement: PrCloseoutSettlementStatus;
27
42
  branchSize: BranchSize;
28
43
  branchSizeWarnings: string[];
29
44
  blockers: string[];
@@ -33,6 +48,19 @@ export declare function closeoutPolicy(cwd: string): PrCloseoutPolicy;
33
48
  export declare function branchSizeWarnings(size: BranchSize, policy: PrCloseoutPolicy): string[];
34
49
  export declare function buildPrCloseoutStatus(cwd: string, opts?: {
35
50
  sprint?: number;
51
+ pr?: number;
36
52
  }): PrCloseoutStatus;
53
+ export declare function canSettlePrCloseout(status: PrCloseoutStatus): boolean;
37
54
  export declare function formatPrCloseoutStatus(status: PrCloseoutStatus): string;
55
+ interface GitHubComment {
56
+ body?: string;
57
+ created_at?: string;
58
+ updated_at?: string;
59
+ user?: {
60
+ login?: string;
61
+ };
62
+ }
63
+ export declare function hasSuccessfulCodeRabbitStatus(pr: Pick<PrMetadata, 'statusCheckRollup'>): boolean;
64
+ export declare function isBlockedCodeRabbitComment(comment: GitHubComment): boolean;
65
+ export {};
38
66
  //# sourceMappingURL=pr-closeout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr-closeout.d.ts","sourceRoot":"","sources":["../../src/cli/pr-closeout.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAM5D;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,CASvF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,gBAAgB,CA+CnG;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAuBvE"}
1
+ {"version":3,"file":"pr-closeout.d.ts","sourceRoot":"","sources":["../../src/cli/pr-closeout.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AACrE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AACpE,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC7C,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,mBAAmB,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,oBAAoB,CAAC;IACtC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,0BAA0B,CAAC;IAC/C,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAM5D;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,CASvF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,gBAAgB,CA0EhH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAUrE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CA4BvE;AA+FD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAqFD,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAehG;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAO1E"}
@@ -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