@on-par/factory-core 0.9.28-next.9 → 0.9.28

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 (273) hide show
  1. package/dist/checkers/app-smoke.d.ts.map +1 -1
  2. package/dist/checkers/app-smoke.js +4 -1
  3. package/dist/checkers/app-smoke.js.map +1 -1
  4. package/dist/checkers/evidence-plan.d.ts +2 -0
  5. package/dist/checkers/evidence-plan.d.ts.map +1 -1
  6. package/dist/checkers/evidence-plan.js +13 -6
  7. package/dist/checkers/evidence-plan.js.map +1 -1
  8. package/dist/checkers/evidence-selector.d.ts +2 -0
  9. package/dist/checkers/evidence-selector.d.ts.map +1 -1
  10. package/dist/checkers/evidence-selector.js +13 -10
  11. package/dist/checkers/evidence-selector.js.map +1 -1
  12. package/dist/checkers/evidence-workspace.d.ts +21 -0
  13. package/dist/checkers/evidence-workspace.d.ts.map +1 -0
  14. package/dist/checkers/evidence-workspace.js +118 -0
  15. package/dist/checkers/evidence-workspace.js.map +1 -0
  16. package/dist/checkers/index.js +1 -1
  17. package/dist/checkers/index.js.map +1 -1
  18. package/dist/checkers/internal-exports.d.ts +3 -1
  19. package/dist/checkers/internal-exports.d.ts.map +1 -1
  20. package/dist/checkers/internal-exports.js +3 -1
  21. package/dist/checkers/internal-exports.js.map +1 -1
  22. package/dist/checkers/resolve-commands.d.ts.map +1 -1
  23. package/dist/checkers/resolve-commands.js +5 -1
  24. package/dist/checkers/resolve-commands.js.map +1 -1
  25. package/dist/config/example.d.ts.map +1 -1
  26. package/dist/config/example.js +5 -2
  27. package/dist/config/example.js.map +1 -1
  28. package/dist/config/index.d.ts +6 -32
  29. package/dist/config/index.d.ts.map +1 -1
  30. package/dist/config/index.js +17 -32
  31. package/dist/config/index.js.map +1 -1
  32. package/dist/config/merge-policy.d.ts +36 -0
  33. package/dist/config/merge-policy.d.ts.map +1 -0
  34. package/dist/config/merge-policy.js +31 -0
  35. package/dist/config/merge-policy.js.map +1 -0
  36. package/dist/config/repo.js +1 -1
  37. package/dist/config/repo.js.map +1 -1
  38. package/dist/config/run-config-env.d.ts +5 -0
  39. package/dist/config/run-config-env.d.ts.map +1 -0
  40. package/dist/config/run-config-env.js +11 -0
  41. package/dist/config/run-config-env.js.map +1 -0
  42. package/dist/config/run-config-ladder.d.ts +18 -0
  43. package/dist/config/run-config-ladder.d.ts.map +1 -0
  44. package/dist/config/run-config-ladder.js +110 -0
  45. package/dist/config/run-config-ladder.js.map +1 -0
  46. package/dist/config/run-config-source.d.ts +6 -6
  47. package/dist/config/run-config-source.d.ts.map +1 -1
  48. package/dist/config/run-config-source.js +16 -15
  49. package/dist/config/run-config-source.js.map +1 -1
  50. package/dist/constitutions/index.d.ts.map +1 -1
  51. package/dist/constitutions/index.js +8 -0
  52. package/dist/constitutions/index.js.map +1 -1
  53. package/dist/environment/process-groups.d.ts +5 -0
  54. package/dist/environment/process-groups.d.ts.map +1 -1
  55. package/dist/environment/process-groups.js +19 -0
  56. package/dist/environment/process-groups.js.map +1 -1
  57. package/dist/events/config-traits.d.ts +1 -1
  58. package/dist/events/config-traits.d.ts.map +1 -1
  59. package/dist/events/config-traits.js +2 -0
  60. package/dist/events/config-traits.js.map +1 -1
  61. package/dist/events/queue-traits.d.ts +1 -1
  62. package/dist/events/queue-traits.d.ts.map +1 -1
  63. package/dist/events/queue-traits.js +8 -1
  64. package/dist/events/queue-traits.js.map +1 -1
  65. package/dist/events/rotation.js +1 -1
  66. package/dist/events/rotation.js.map +1 -1
  67. package/dist/fakes/octokit.d.ts +13 -1
  68. package/dist/fakes/octokit.d.ts.map +1 -1
  69. package/dist/fakes/octokit.js +13 -0
  70. package/dist/fakes/octokit.js.map +1 -1
  71. package/dist/filing/redact.d.ts +1 -0
  72. package/dist/filing/redact.d.ts.map +1 -1
  73. package/dist/filing/redact.js +1 -1
  74. package/dist/filing/redact.js.map +1 -1
  75. package/dist/harness/opencode-version.d.ts +2 -2
  76. package/dist/harness/opencode-version.d.ts.map +1 -1
  77. package/dist/harness/opencode-version.js +3 -3
  78. package/dist/harness/opencode-version.js.map +1 -1
  79. package/dist/internal.d.ts +13 -1
  80. package/dist/internal.d.ts.map +1 -1
  81. package/dist/internal.js +14 -0
  82. package/dist/internal.js.map +1 -1
  83. package/dist/kpis/index.d.ts.map +1 -1
  84. package/dist/kpis/index.js +2 -1
  85. package/dist/kpis/index.js.map +1 -1
  86. package/dist/kpis/park.d.ts.map +1 -1
  87. package/dist/kpis/park.js +2 -1
  88. package/dist/kpis/park.js.map +1 -1
  89. package/dist/kpis/phase.d.ts.map +1 -1
  90. package/dist/kpis/phase.js +1 -0
  91. package/dist/kpis/phase.js.map +1 -1
  92. package/dist/land/changelog.d.ts +8 -0
  93. package/dist/land/changelog.d.ts.map +1 -0
  94. package/dist/land/changelog.js +90 -0
  95. package/dist/land/changelog.js.map +1 -0
  96. package/dist/land/sync.d.ts.map +1 -1
  97. package/dist/land/sync.js +93 -32
  98. package/dist/land/sync.js.map +1 -1
  99. package/dist/phases/check-evidence.d.ts.map +1 -1
  100. package/dist/phases/check-evidence.js +5 -1
  101. package/dist/phases/check-evidence.js.map +1 -1
  102. package/dist/phases/ship-approval.d.ts +17 -0
  103. package/dist/phases/ship-approval.d.ts.map +1 -0
  104. package/dist/phases/ship-approval.js +21 -0
  105. package/dist/phases/ship-approval.js.map +1 -0
  106. package/dist/phases/ship-branch-push.d.ts +17 -0
  107. package/dist/phases/ship-branch-push.d.ts.map +1 -0
  108. package/dist/phases/ship-branch-push.js +77 -0
  109. package/dist/phases/ship-branch-push.js.map +1 -0
  110. package/dist/phases/ship-evidence-comment.d.ts +14 -0
  111. package/dist/phases/ship-evidence-comment.d.ts.map +1 -0
  112. package/dist/phases/ship-evidence-comment.js +31 -0
  113. package/dist/phases/ship-evidence-comment.js.map +1 -0
  114. package/dist/phases/ship-existing-pr.d.ts +11 -0
  115. package/dist/phases/ship-existing-pr.d.ts.map +1 -0
  116. package/dist/phases/ship-existing-pr.js +36 -0
  117. package/dist/phases/ship-existing-pr.js.map +1 -0
  118. package/dist/phases/ship-finish.d.ts +15 -0
  119. package/dist/phases/ship-finish.d.ts.map +1 -0
  120. package/dist/phases/ship-finish.js +69 -0
  121. package/dist/phases/ship-finish.js.map +1 -0
  122. package/dist/phases/ship-git-detail.d.ts +31 -0
  123. package/dist/phases/ship-git-detail.d.ts.map +1 -0
  124. package/dist/phases/ship-git-detail.js +71 -0
  125. package/dist/phases/ship-git-detail.js.map +1 -0
  126. package/dist/phases/ship-git-remote.d.ts +51 -0
  127. package/dist/phases/ship-git-remote.d.ts.map +1 -0
  128. package/dist/phases/ship-git-remote.js +70 -0
  129. package/dist/phases/ship-git-remote.js.map +1 -0
  130. package/dist/phases/ship-git.d.ts +4 -79
  131. package/dist/phases/ship-git.d.ts.map +1 -1
  132. package/dist/phases/ship-git.js +2 -135
  133. package/dist/phases/ship-git.js.map +1 -1
  134. package/dist/phases/ship-main-sync.d.ts +18 -0
  135. package/dist/phases/ship-main-sync.d.ts.map +1 -0
  136. package/dist/phases/ship-main-sync.js +34 -0
  137. package/dist/phases/ship-main-sync.js.map +1 -0
  138. package/dist/phases/ship-open-pr.d.ts +24 -0
  139. package/dist/phases/ship-open-pr.d.ts.map +1 -0
  140. package/dist/phases/ship-open-pr.js +75 -0
  141. package/dist/phases/ship-open-pr.js.map +1 -0
  142. package/dist/phases/ship-options.d.ts +81 -0
  143. package/dist/phases/ship-options.d.ts.map +1 -0
  144. package/dist/phases/ship-options.js +4 -0
  145. package/dist/phases/ship-options.js.map +1 -0
  146. package/dist/phases/ship-reentry.d.ts +20 -0
  147. package/dist/phases/ship-reentry.d.ts.map +1 -0
  148. package/dist/phases/ship-reentry.js +47 -0
  149. package/dist/phases/ship-reentry.js.map +1 -0
  150. package/dist/phases/ship.d.ts +4 -76
  151. package/dist/phases/ship.d.ts.map +1 -1
  152. package/dist/phases/ship.js +40 -297
  153. package/dist/phases/ship.js.map +1 -1
  154. package/dist/phases/stack-order.d.ts +9 -0
  155. package/dist/phases/stack-order.d.ts.map +1 -1
  156. package/dist/phases/stack-order.js +13 -0
  157. package/dist/phases/stack-order.js.map +1 -1
  158. package/dist/queue/comment-rework-trigger.d.ts +24 -0
  159. package/dist/queue/comment-rework-trigger.d.ts.map +1 -0
  160. package/dist/queue/comment-rework-trigger.js +128 -0
  161. package/dist/queue/comment-rework-trigger.js.map +1 -0
  162. package/dist/queue/github-queue.d.ts +4 -2
  163. package/dist/queue/github-queue.d.ts.map +1 -1
  164. package/dist/queue/github-queue.js.map +1 -1
  165. package/dist/queue/internal-exports.d.ts +3 -0
  166. package/dist/queue/internal-exports.d.ts.map +1 -1
  167. package/dist/queue/internal-exports.js +2 -0
  168. package/dist/queue/internal-exports.js.map +1 -1
  169. package/dist/queue/lane-discovery-interval.d.ts +6 -0
  170. package/dist/queue/lane-discovery-interval.d.ts.map +1 -0
  171. package/dist/queue/lane-discovery-interval.js +9 -0
  172. package/dist/queue/lane-discovery-interval.js.map +1 -0
  173. package/dist/queue/linear-queue-backend.d.ts +17 -0
  174. package/dist/queue/linear-queue-backend.d.ts.map +1 -0
  175. package/dist/queue/linear-queue-backend.js +42 -0
  176. package/dist/queue/linear-queue-backend.js.map +1 -0
  177. package/dist/queue/linear-queue.d.ts +4 -2
  178. package/dist/queue/linear-queue.d.ts.map +1 -1
  179. package/dist/queue/linear-queue.js +79 -2
  180. package/dist/queue/linear-queue.js.map +1 -1
  181. package/dist/queue/prerequisite-stack.d.ts +47 -0
  182. package/dist/queue/prerequisite-stack.d.ts.map +1 -0
  183. package/dist/queue/prerequisite-stack.js +41 -0
  184. package/dist/queue/prerequisite-stack.js.map +1 -0
  185. package/dist/queue/queue-backend.d.ts +11 -5
  186. package/dist/queue/queue-backend.d.ts.map +1 -1
  187. package/dist/queue/queue-backend.js +8 -3
  188. package/dist/queue/queue-backend.js.map +1 -1
  189. package/dist/queue/review-rework-trigger.d.ts +7 -2
  190. package/dist/queue/review-rework-trigger.d.ts.map +1 -1
  191. package/dist/queue/review-rework-trigger.js +16 -8
  192. package/dist/queue/review-rework-trigger.js.map +1 -1
  193. package/dist/reports/pr-body.d.ts +5 -2
  194. package/dist/reports/pr-body.d.ts.map +1 -1
  195. package/dist/reports/pr-body.js +21 -10
  196. package/dist/reports/pr-body.js.map +1 -1
  197. package/dist/run/ci-rework-loop.d.ts.map +1 -1
  198. package/dist/run/ci-rework-loop.js +5 -1
  199. package/dist/run/ci-rework-loop.js.map +1 -1
  200. package/dist/run/feedback-github.d.ts +50 -0
  201. package/dist/run/feedback-github.d.ts.map +1 -0
  202. package/dist/run/feedback-github.js +87 -0
  203. package/dist/run/feedback-github.js.map +1 -0
  204. package/dist/run/feedback-round-hooks.d.ts +19 -0
  205. package/dist/run/feedback-round-hooks.d.ts.map +1 -0
  206. package/dist/run/feedback-round-hooks.js +106 -0
  207. package/dist/run/feedback-round-hooks.js.map +1 -0
  208. package/dist/run/feedback-round.d.ts +97 -0
  209. package/dist/run/feedback-round.d.ts.map +1 -0
  210. package/dist/run/feedback-round.js +275 -0
  211. package/dist/run/feedback-round.js.map +1 -0
  212. package/dist/run/linear-run.d.ts +23 -0
  213. package/dist/run/linear-run.d.ts.map +1 -0
  214. package/dist/run/linear-run.js +18 -0
  215. package/dist/run/linear-run.js.map +1 -0
  216. package/dist/run/park-comment.d.ts +9 -0
  217. package/dist/run/park-comment.d.ts.map +1 -1
  218. package/dist/run/park-comment.js +12 -0
  219. package/dist/run/park-comment.js.map +1 -1
  220. package/dist/run/ports.d.ts +10 -0
  221. package/dist/run/ports.d.ts.map +1 -1
  222. package/dist/run/ports.js +12 -0
  223. package/dist/run/ports.js.map +1 -1
  224. package/dist/run/pr-run-state.d.ts +99 -0
  225. package/dist/run/pr-run-state.d.ts.map +1 -0
  226. package/dist/run/pr-run-state.js +235 -0
  227. package/dist/run/pr-run-state.js.map +1 -0
  228. package/dist/run/prerequisite-restack.d.ts +39 -0
  229. package/dist/run/prerequisite-restack.d.ts.map +1 -0
  230. package/dist/run/prerequisite-restack.js +79 -0
  231. package/dist/run/prerequisite-restack.js.map +1 -0
  232. package/dist/run/review-rework-cap.d.ts +3 -1
  233. package/dist/run/review-rework-cap.d.ts.map +1 -1
  234. package/dist/run/review-rework-cap.js +2 -1
  235. package/dist/run/review-rework-cap.js.map +1 -1
  236. package/dist/run/review-rework.d.ts +17 -2
  237. package/dist/run/review-rework.d.ts.map +1 -1
  238. package/dist/run/review-rework.js +99 -33
  239. package/dist/run/review-rework.js.map +1 -1
  240. package/dist/run/run-issue.d.ts +5 -1
  241. package/dist/run/run-issue.d.ts.map +1 -1
  242. package/dist/run/run-issue.js +35 -28
  243. package/dist/run/run-issue.js.map +1 -1
  244. package/dist/run/stack-rebase.d.ts +28 -0
  245. package/dist/run/stack-rebase.d.ts.map +1 -0
  246. package/dist/run/stack-rebase.js +79 -0
  247. package/dist/run/stack-rebase.js.map +1 -0
  248. package/dist/run/stack-restack.d.ts.map +1 -1
  249. package/dist/run/stack-restack.js +21 -49
  250. package/dist/run/stack-restack.js.map +1 -1
  251. package/dist/utils/command-runner.d.ts.map +1 -1
  252. package/dist/utils/command-runner.js +4 -1
  253. package/dist/utils/command-runner.js.map +1 -1
  254. package/dist/utils/exec.d.ts.map +1 -1
  255. package/dist/utils/exec.js +4 -1
  256. package/dist/utils/exec.js.map +1 -1
  257. package/dist/utils/in-place.d.ts +24 -0
  258. package/dist/utils/in-place.d.ts.map +1 -0
  259. package/dist/utils/in-place.js +105 -0
  260. package/dist/utils/in-place.js.map +1 -0
  261. package/dist/work/internal-exports.d.ts +3 -0
  262. package/dist/work/internal-exports.d.ts.map +1 -0
  263. package/dist/work/internal-exports.js +4 -0
  264. package/dist/work/internal-exports.js.map +1 -0
  265. package/dist/work/ticket-writeback.d.ts +22 -0
  266. package/dist/work/ticket-writeback.d.ts.map +1 -0
  267. package/dist/work/ticket-writeback.js +73 -0
  268. package/dist/work/ticket-writeback.js.map +1 -0
  269. package/dist/work/work-key.d.ts +2 -0
  270. package/dist/work/work-key.d.ts.map +1 -1
  271. package/dist/work/work-key.js +4 -0
  272. package/dist/work/work-key.js.map +1 -1
  273. package/package.json +5 -5
@@ -1,10 +1,11 @@
1
1
  import { reworkWorker } from '../phases/check.js';
2
+ import { parseReworkCommand } from '../queue/comment-rework-trigger.js';
2
3
  import { UNTRUSTED_REVIEW_FEEDBACK_NOTICE, wrapUntrustedReviewFeedback } from '../utils/untrusted-input.js';
3
4
  export class ReviewReworkError extends Error {
4
5
  name = 'ReviewReworkError';
5
6
  }
6
7
  const REVIEW_FEEDBACK_MAX_CHARS = 20_000;
7
- export const REVIEW_REWORK_INSTRUCTIONS = "This round addresses a reviewer's change request on the open PR, not a checker failure. " +
8
+ export const REVIEW_REWORK_INSTRUCTIONS = "This round addresses a reviewer's change request or feedback comment on the open PR, not a checker failure. " +
8
9
  'Make the changes each review comment asks for, scoped to the files and lines it names. ' +
9
10
  'Do not change code the review does not ask about. If a comment conflicts with the spec, follow the spec and say so in the commit message.';
10
11
  const errorMessage = (err) => (err instanceof Error ? err.message : String(err));
@@ -39,16 +40,36 @@ export async function fetchReviewFeedback(octokit, opts) {
39
40
  })),
40
41
  };
41
42
  }
43
+ /** The feedback of one `/factory rework` comment, re-read from GitHub so only the text after the command is used. */
44
+ export async function fetchCommentFeedback(octokit, opts) {
45
+ const { owner, repo, prNumber, commentId } = opts;
46
+ const { data: comment } = await octokit.rest.issues.getComment({ owner, repo, comment_id: commentId });
47
+ const feedback = parseReworkCommand(comment.body ?? '');
48
+ if (feedback === null || feedback === '') {
49
+ throw new ReviewReworkError(`comment ${commentId} on PR #${prNumber} is no longer a /factory rework command`);
50
+ }
51
+ return {
52
+ prNumber,
53
+ reviewId: commentId,
54
+ reviewer: comment.user?.login ?? '',
55
+ state: 'COMMENTED',
56
+ body: feedback,
57
+ comments: [],
58
+ source: 'comment',
59
+ };
60
+ }
42
61
  export function renderReviewFeedback(feedback) {
43
62
  const comments = feedback.comments.length === 0
44
63
  ? ['(no inline comments)']
45
64
  : feedback.comments.map((c) => `- ${c.path}${c.line === undefined ? '' : `:${c.line}`} (@${c.author}):\n ${c.body}`);
46
- let inner = [
47
- `Review ${feedback.reviewId} by @${feedback.reviewer} (${feedback.state}) on PR #${feedback.prNumber}:`,
48
- feedback.body === '' ? '(no review body)' : feedback.body,
49
- 'Inline comments:',
50
- ...comments,
51
- ].join('\n');
65
+ let inner = feedback.source === 'comment'
66
+ ? [`Comment ${feedback.reviewId} by @${feedback.reviewer} on PR #${feedback.prNumber}:`, feedback.body].join('\n')
67
+ : [
68
+ `Review ${feedback.reviewId} by @${feedback.reviewer} (${feedback.state}) on PR #${feedback.prNumber}:`,
69
+ feedback.body === '' ? '(no review body)' : feedback.body,
70
+ 'Inline comments:',
71
+ ...comments,
72
+ ].join('\n');
52
73
  if (inner.length > REVIEW_FEEDBACK_MAX_CHARS) {
53
74
  inner = `${inner.slice(0, REVIEW_FEEDBACK_MAX_CHARS)}\n… (review truncated)`;
54
75
  }
@@ -65,8 +86,10 @@ export function reviewReworkSummary(feedback) {
65
86
  };
66
87
  }
67
88
  /** A synthetic CHECK resume: skips PLAN and BUILD for a review-rework run. */
68
- export function reviewReworkResume(request) {
69
- if (!request.reviewRework && !request.iterate)
89
+ export function reviewReworkResume(request, feedbackPlan) {
90
+ if (feedbackPlan?.replan)
91
+ return undefined;
92
+ if (!request.reviewRework && !request.iterate && !request.feedbackRound)
70
93
  return undefined;
71
94
  return {
72
95
  phase: 'check',
@@ -75,34 +98,24 @@ export function reviewReworkResume(request) {
75
98
  buildMinutes: 0,
76
99
  };
77
100
  }
78
- export async function runReviewReworkBuild(opts) {
79
- const { target, repo, branch, octokit, checkOpts, rework = reworkWorker } = opts;
80
- const [owner = '', name = ''] = repo.split('/');
81
- const where = `PR #${target.prNumber} / review ${target.reviewId}`;
82
- let feedback;
83
- try {
84
- const { data: pull } = await octokit.rest.pulls.get({ owner, repo: name, pull_number: target.prNumber });
85
- if (pull.state !== 'open' || pull.head.ref !== branch) {
86
- throw new ReviewReworkError(`PR #${target.prNumber} must be open with head ${branch}; found ${pull.state} with head ${pull.head.ref}`);
87
- }
88
- feedback = await fetchReviewFeedback(octokit, {
89
- owner,
90
- repo: name,
91
- prNumber: target.prNumber,
92
- reviewId: target.reviewId,
93
- });
94
- }
95
- catch (err) {
96
- if (err instanceof ReviewReworkError)
97
- throw err;
98
- throw new ReviewReworkError(`could not read ${where}: ${errorMessage(err)}`, { cause: err });
101
+ /** Fails closed unless the PR is open with `branch` as head, so a rework can never ship to a different PR. */
102
+ async function assertOpenPrHead(octokit, opts) {
103
+ const { data: pull } = await octokit.rest.pulls.get({
104
+ owner: opts.owner,
105
+ repo: opts.repo,
106
+ pull_number: opts.prNumber,
107
+ });
108
+ if (pull.state !== 'open' || pull.head.ref !== opts.branch) {
109
+ throw new ReviewReworkError(`PR #${opts.prNumber} must be open with head ${opts.branch}; found ${pull.state} with head ${pull.head.ref}`);
99
110
  }
100
- checkOpts.log('rework', `review rework: PR #${target.prNumber} review ${target.reviewId} by @${target.reviewer} — ${feedback.comments.length} inline comment(s) on ${branch}`);
111
+ }
112
+ /** One rework worker call on the PR branch for `summary`; throws when the worker never ran. */
113
+ async function runReworkWorker(checkOpts, summary, where, rework) {
101
114
  const worked = await rework({
102
115
  issue: checkOpts.issue,
103
116
  worktree: checkOpts.worktree,
104
117
  specPath: checkOpts.specPath,
105
- summary: reviewReworkSummary(feedback),
118
+ summary,
106
119
  constitution: checkOpts.constitution,
107
120
  router: checkOpts.router,
108
121
  log: checkOpts.log,
@@ -121,6 +134,37 @@ export async function runReviewReworkBuild(opts) {
121
134
  if (!worked.modelCompleted) {
122
135
  throw new ReviewReworkError(`review rework worker never ran for ${where}${worked.failureReason ? `: ${worked.failureReason}` : ''}`);
123
136
  }
137
+ }
138
+ export async function runReviewReworkBuild(opts) {
139
+ const { target, repo, branch, octokit, checkOpts, rework = reworkWorker } = opts;
140
+ const [owner = '', name = ''] = repo.split('/');
141
+ const kind = target.source === 'comment' ? 'comment' : 'review';
142
+ const where = `PR #${target.prNumber} / ${kind} ${target.reviewId}`;
143
+ let feedback;
144
+ try {
145
+ await assertOpenPrHead(octokit, { owner, repo: name, prNumber: target.prNumber, branch });
146
+ feedback =
147
+ target.source === 'comment'
148
+ ? await fetchCommentFeedback(octokit, {
149
+ owner,
150
+ repo: name,
151
+ prNumber: target.prNumber,
152
+ commentId: target.reviewId,
153
+ })
154
+ : await fetchReviewFeedback(octokit, {
155
+ owner,
156
+ repo: name,
157
+ prNumber: target.prNumber,
158
+ reviewId: target.reviewId,
159
+ });
160
+ }
161
+ catch (err) {
162
+ if (err instanceof ReviewReworkError)
163
+ throw err;
164
+ throw new ReviewReworkError(`could not read ${where}: ${errorMessage(err)}`, { cause: err });
165
+ }
166
+ checkOpts.log('rework', `review rework: PR #${target.prNumber} ${kind} ${target.reviewId} by @${target.reviewer} — ${feedback.comments.length} inline comment(s) on ${branch}`);
167
+ await runReworkWorker(checkOpts, reviewReworkSummary(feedback), where, rework);
124
168
  return { feedback };
125
169
  }
126
170
  /** Iterate fails closed unless the PR is still open with the run branch as head, so SHIP can never open a new PR. */
@@ -140,9 +184,31 @@ async function guardIterateTarget(target, request, octokit, checkOpts) {
140
184
  checkOpts.log('rework', `iterate: PR #${target.prNumber} by @${target.actor} (comment ${target.commentId}) — re-running CHECK on ${request.branch}`);
141
185
  }
142
186
  /** runIssue's hook before the first CHECK: reworks the requested review unless a CHECK resume was asked for. */
143
- export async function runRequestedReviewRework(request, ports, checkOpts) {
187
+ export async function runRequestedReviewRework(request, ports, checkOpts, feedbackPlan) {
144
188
  if (request.resumeFrom)
145
189
  return;
190
+ if (feedbackPlan) {
191
+ if (feedbackPlan.summary === undefined)
192
+ return;
193
+ const where = `PR #${feedbackPlan.prNumber} / feedback round`;
194
+ const [owner = '', name = ''] = request.repo.split('/');
195
+ try {
196
+ await assertOpenPrHead(ports.octokit, {
197
+ owner,
198
+ repo: name,
199
+ prNumber: feedbackPlan.prNumber,
200
+ branch: request.branch,
201
+ });
202
+ }
203
+ catch (err) {
204
+ if (err instanceof ReviewReworkError)
205
+ throw err;
206
+ throw new ReviewReworkError(`could not read ${where}: ${errorMessage(err)}`, { cause: err });
207
+ }
208
+ checkOpts.log('rework', `feedback round: reworking PR #${feedbackPlan.prNumber} on ${request.branch}`);
209
+ await runReworkWorker(checkOpts, feedbackPlan.summary, where, ports.reworkWorker ?? reworkWorker);
210
+ return;
211
+ }
146
212
  if (!request.reviewRework) {
147
213
  if (request.iterate)
148
214
  await guardIterateTarget(request.iterate, request, ports.octokit, checkOpts);
@@ -1 +1 @@
1
- {"version":3,"file":"review-rework.js","sourceRoot":"","sources":["../../src/run/review-rework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-rework.js","sourceRoot":"","sources":["../../src/run/review-rework.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ import type { SandboxPolicy } from '../sandbox/index.js';
24
24
  import { type ConsumedSteering } from '../steering/index.js';
25
25
  import type { Constitution, FailurePhase } from '../types/index.js';
26
26
  import { type WorkRequest, type WorkRequestSourceKind } from '../work/index.js';
27
+ import { type LinearRunPorts } from './linear-run.js';
27
28
  import { type LaneClaimStalenessProbe, type LaneFileGuard } from './lane-file-guard.js';
28
29
  import type { BuildRoute, RunOutcome } from './outcome.js';
29
30
  import type { RunPolicy } from './policy.js';
@@ -36,6 +37,7 @@ import type { IssueRunState } from '../types/index.js';
36
37
  import type { RequiredChecksVerdict } from '../utils/required-checks.js';
37
38
  import type { RunReportInfo } from './run-report-info.js';
38
39
  import { type ProviderProbe } from './provider-probe.js';
40
+ import type { PrerequisiteStackTarget } from '../queue/prerequisite-stack.js';
39
41
  /** Everything one run needs decided, as a plain resolved value — the CLI adapter
40
42
  * computes this today; no config/file/path resolution happens in here. */
41
43
  export interface RunRequest extends ReworkRequestFields {
@@ -129,6 +131,8 @@ export interface RunRequest extends ReworkRequestFields {
129
131
  /** Resume at CHECK on a kept worktree (#2564): PLAN and BUILD are skipped. */
130
132
  /** Parent ref of a stacked slice branch (#2716); CHECK and the review floor diff against it. Absent = origin/main. */
131
133
  parentBaseRef?: string;
134
+ /** The open prerequisite PR this issue is stacked on (#3916); its stack line and marker go into the PR body. */
135
+ prerequisiteStack?: PrerequisiteStackTarget;
132
136
  resumeFrom?: {
133
137
  phase: 'check';
134
138
  diffBase?: string;
@@ -157,7 +161,7 @@ export interface RunRequest extends ReworkRequestFields {
157
161
  /** The injected seams runIssue needs. Effectful, path-bound concerns (Octokit, worktree
158
162
  * layout, approvals/steering directories, report/artifact destinations) are the caller's
159
163
  * responsibility to wire — runIssue only calls the closures it is handed. */
160
- export interface RunPorts extends CiReworkPorts {
164
+ export interface RunPorts extends CiReworkPorts, LinearRunPorts {
161
165
  /** Run-state slice-plan store for briefs (#3813); absent = the issue's slice-plan comment. */
162
166
  slicePlanStore?: SlicePlanStore;
163
167
  /** ADR-0161 stack mode: creates a slice branch in the worktree. Defaults to createStackSliceBranch. */
@@ -1 +1 @@
1
- {"version":3,"file":"run-issue.d.ts","sourceRoot":"","sources":["../../src/run/run-issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-issue.d.ts","sourceRoot":"","sources":["../../src/run/run-issue.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,6 @@ import { laneEnv } from '../environment/index.js';
22
22
  import { buildPhase as buildPhaseDefault } from '../phases/build.js';
23
23
  import { installLaneDependencies as installLaneDependenciesDefault } from './lane-install.js';
24
24
  import { checkPhase as checkPhaseDefault } from '../phases/check.js';
25
- import { renderEnvironmentReleaseComment } from '../phases/environment-release.js';
26
25
  import { describeConstitutionSource } from '../constitutions/index.js';
27
26
  import { lintFactoryConfig } from '../config/config-lint.js';
28
27
  import { codexSandboxWarningMessages, sizeGateModeWarningMessages, unknownConfigKeyMessages, } from '../config/config-schema-lint.js';
@@ -34,7 +33,7 @@ import { beginBuildRoute, compatibleBuildModel, laneRouteCapabilities } from './
34
33
  import { classifyCheckFailure } from './check-verdict.js';
35
34
  import { withSingleTerminalEvent } from './terminal-events.js';
36
35
  import { withRunAttribution } from './attribution.js';
37
- import { environmentReleaseMarker, parkPayload, publishParkComment, upsertMarkerComment } from './park-comment.js';
36
+ import { parkPayload, postEnvironmentReleaseComment, publishParkComment } from './park-comment.js';
38
37
  import { createRunPhaseLogger } from './run-phase-log.js';
39
38
  import { providerFailureRecorder } from './provider-failure-recorder.js';
40
39
  import { gateBuildTarget, pickOrderedProvider } from './provider-breaker-gate.js';
@@ -58,6 +57,7 @@ import { ProcessGroupTracker } from '../environment/process-groups.js';
58
57
  import { describeSteering } from '../steering/index.js';
59
58
  import { workKeyFromIssue } from '../work/index.js';
60
59
  import { LOCAL_BRIEF_SOURCE } from '../work/local-brief.js';
60
+ import { linearRunWriteback } from './linear-run.js';
61
61
  import { deferOnLaneCollision, releaseLaneClaim, touchedFilesFrom, } from './lane-file-guard.js';
62
62
  import { designSmellFindingFor, parkReasonFor, reworkRouteFor } from './outcome.js';
63
63
  import { configParkMessage, formatPreservedBuildMessage, issueBodyHash, preservedFixTarget, } from './resume-context.js';
@@ -65,16 +65,15 @@ import { safeRecordRunState, terminalRunStateUpdate, thrownRunStateUpdate } from
65
65
  import { runStatusForPhase } from './state.js';
66
66
  import { settleParkedPullRequest } from './park-pr.js';
67
67
  import { runParkSteward } from './park-steward.js';
68
+ import * as feedbackRound from './feedback-round-hooks.js';
68
69
  import { reviewReworkResume, runRequestedReviewRework } from './review-rework.js';
69
70
  import { shipWithCiRework } from './ci-rework-loop.js';
70
71
  import { parkLogExtra } from './ship-park.js';
71
72
  import { budgetGuardFor, enforceIssueBudget } from './budget.js';
72
73
  import { providerProbe } from './provider-probe.js';
74
+ import { errorMessage } from '../checkers/preview-wait.js';
73
75
  import { renderPreviousAttempt } from './previous-attempt.js';
74
76
  import { withoutHumanOnlyLabels } from './max-lines-override.js';
75
- function errorMessage(err) {
76
- return err instanceof Error ? err.message : String(err);
77
- }
78
77
  export async function runIssue(request, policy, rawPorts) {
79
78
  const { ports: attributed, stamp } = withRunAttribution(rawPorts);
80
79
  const ports = withSingleTerminalEvent(attributed);
@@ -103,10 +102,11 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
103
102
  const checkPhase = (o) => slot('check', () => (ports.checkPhase ?? checkPhaseDefault)(o));
104
103
  const shipPhase = ports.shipPhase ?? shipPhaseDefault;
105
104
  const log = ports.events();
105
+ const linear = linearRunWriteback(request.work, ports, log);
106
106
  // One id per run: BUILD, CHECK and rework share a per-run VBCSCompiler server (#1910).
107
107
  // 12 hex chars keeps the compiler's Unix-socket pipe path short under macOS $TMPDIR.
108
108
  const runId = randomUUID().replace(/-/g, '').slice(0, 12);
109
- const previousAttemptNote = renderPreviousAttempt(request.previousAttempt);
109
+ let previousAttemptNote = renderPreviousAttempt(request.previousAttempt);
110
110
  const phaseLogger = createRunPhaseLogger({
111
111
  logsDir: request.logsDir,
112
112
  issue: workKey,
@@ -210,13 +210,16 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
210
210
  }
211
211
  let settled;
212
212
  if (!request.localOnly && !request.noPr) {
213
- if (request.work.kind !== LOCAL_BRIEF_SOURCE) {
213
+ // prettier-ignore
214
+ const parkInput = { reason, message: terminalMessage, runId, branch: request.branch, lane: request.lane, blockers: [], ...(designSmell ? { designSmell } : {}) };
215
+ if (linear)
216
+ await linear.park(parkInput);
217
+ else if (request.work.kind !== LOCAL_BRIEF_SOURCE) {
214
218
  const posted = await publishParkComment({
215
219
  octokit: ports.octokit,
216
220
  repo: request.repo,
217
221
  worktree: ports.workspace.path,
218
- // prettier-ignore
219
- input: { issue: workKey, reason, message: terminalMessage, runId, branch: request.branch, lane: request.lane, blockers: [], ...(designSmell ? { designSmell } : {}) },
222
+ input: { issue: workKey, ...parkInput },
220
223
  });
221
224
  if (!posted.ok)
222
225
  log('environment_warning', `could not post the issue park comment: ${posted.error}`);
@@ -359,7 +362,12 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
359
362
  let builtModel;
360
363
  let pinNote;
361
364
  let buildMinutes;
362
- const resumed = request.resumeFrom ?? reviewReworkResume(request);
365
+ const feedbackPlan = await feedbackRound.prepareFeedbackForRun(request, ports, log);
366
+ const idle = await feedbackRound.idleFeedbackRound(feedbackPlan, request, ports, route, log);
367
+ if (idle)
368
+ return idle;
369
+ previousAttemptNote = feedbackRound.feedbackReplanNote(previousAttemptNote, feedbackPlan);
370
+ const resumed = request.resumeFrom ?? reviewReworkResume(request, feedbackPlan);
363
371
  if (resumed) {
364
372
  ports.events('check')('check', `resuming #${workKey} from CHECK on kept branch ${request.branch} — PLAN and BUILD skipped`);
365
373
  route = resumed.route;
@@ -391,7 +399,8 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
391
399
  if (derivedRoute) {
392
400
  log('model-override', `build route derived from pinned build model ${request.modelPins.build} → ${derivedRoute}`);
393
401
  }
394
- const reused = await loadReusablePlan(ports.planReuse, { ...request, issue: workKey }, log, ports.events('plan'));
402
+ const planReuse = feedbackPlan?.replan ? undefined : ports.planReuse;
403
+ const reused = await loadReusablePlan(planReuse, { ...request, issue: workKey }, log, ports.events('plan'));
395
404
  const routeCaps = await laneRouteCapabilities(request, ports, ports.events('plan'));
396
405
  const planGate = reused ? undefined : await capGate.enterPlan(route, ports.events('plan'));
397
406
  if (planGate?.released)
@@ -425,7 +434,7 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
425
434
  sizeGateMode: request.sizeGateMode,
426
435
  parkOverBudget: request.parkOverBudget,
427
436
  sliceIndex: request.sliceIndex,
428
- slicePlanStore: ports.slicePlanStore,
437
+ slicePlanStore: linear?.slicePlanStore ?? ports.slicePlanStore,
429
438
  maxSlices: request.maxSlices,
430
439
  sizeBudget: request.sizeBudget,
431
440
  blockUnresolvedRegressions: request.blockUnresolvedRegressions,
@@ -640,7 +649,7 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
640
649
  requiredChecksVerdict: ports.requiredChecksVerdict,
641
650
  };
642
651
  capGate.watchCheck(builtRoute, builtModel);
643
- await runRequestedReviewRework(request, ports, checkOpts);
652
+ await runRequestedReviewRework(request, ports, checkOpts, feedbackPlan);
644
653
  const check = await (request.providerOrder
645
654
  ? runCheckStage(runStage, { ...gateDeps, order: request.providerOrder }, checkPhase, checkOpts, await worktreeRestorer(gitExec, ports.workspace.path, ports.events('check')))
646
655
  : checkPhase(checkOpts));
@@ -679,20 +688,17 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
679
688
  configFile: request.repoConfigFile,
680
689
  }), failure);
681
690
  }
682
- if (!request.localOnly && !request.noPr) {
683
- try {
684
- const marker = environmentReleaseMarker(workKey);
685
- await upsertMarkerComment({
686
- octokit: ports.octokit,
687
- repo: request.repo,
688
- issue: workKey,
689
- marker,
690
- body: `${renderEnvironmentReleaseComment(env)}\n${marker}`,
691
- });
692
- }
693
- catch (err) {
694
- log('environment_warning', `could not post the environment-failure comment: ${errorMessage(err)}`);
695
- }
691
+ if (linear && !request.localOnly && !request.noPr)
692
+ await linear.environment(env);
693
+ else if (!request.localOnly && !request.noPr) {
694
+ const warn = (message) => log('environment_warning', message);
695
+ await postEnvironmentReleaseComment({
696
+ octokit: ports.octokit,
697
+ repo: request.repo,
698
+ issue: workKey,
699
+ env,
700
+ warn,
701
+ });
696
702
  }
697
703
  let preserve = ports.checkResume !== undefined &&
698
704
  !request.localOnly &&
@@ -858,6 +864,7 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
858
864
  const { ship, parked } = shipped;
859
865
  if (parked)
860
866
  return await terminalParked(parked.reason, parked.message, parked.checkFailure, parked.ciFailure);
867
+ await feedbackRound.publishFeedbackForRun(request, ports, feedbackPlan, ship.headSha, log);
861
868
  if (planSlice) {
862
869
  const failure = await recordShippedSlice({
863
870
  octokit: ports.octokit,
@@ -870,7 +877,7 @@ async function runIssueOnce(initialRequest, policy, ports, observed) {
870
877
  // Brief PRs carry no stack-order line (shipPhase ignores the stack for inline work), so skip
871
878
  // the parent-PR update: its branch names hold the brief's stand-in number (#3813).
872
879
  stackMode: request.work.kind !== LOCAL_BRIEF_SOURCE,
873
- store: ports.slicePlanStore,
880
+ store: linear?.slicePlanStore ?? ports.slicePlanStore,
874
881
  log,
875
882
  });
876
883
  if (failure !== undefined)