@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,79 +1,7 @@
1
- import { type WorkKey } from '../work/work-key.js';
2
- import type { Octokit } from '@octokit/rest';
3
- import type { ApprovalGate } from '../approvals/index.js';
4
- import { type LifecycleBus } from '../bus/index.js';
5
- import type { EventKind } from '../events/kinds.js';
6
- import { type WalkthroughShipOpts } from './ship-walkthrough.js';
7
- import { type StackPosition } from './stack-order.js';
8
- import type { ReviewRouting } from '../review/routing.js';
9
- import { type CommandRunner } from './ship-git.js';
10
- import { type PreviewGate } from './ship-preview.js';
11
- import type { CheckSummary } from '../types/index.js';
12
- import { type watchChecksWithInfraRerun } from '../utils/ci-watch.js';
13
- import type { WorkRequest } from '../work/index.js';
14
- import { findMergedPR, findOpenPR, isPullAlreadyExistsError } from './ship-pr-lookup.js';
1
+ import { type ShipPhaseOptions } from './ship-options.js';
2
+ import { findMergedPR, findOpenPR } from './ship-pr-lookup.js';
15
3
  import type { PrLookup, ShipResult } from './ship-types.js';
16
- export { findMergedPR, findOpenPR, isPullAlreadyExistsError };
4
+ export { findMergedPR, findOpenPR };
17
5
  export type { PrLookup, ShipResult };
18
- export declare function shipPhase(opts: Parameters<typeof shipPhaseImpl>[0]): Promise<ShipResult>;
19
- declare function shipPhaseImpl(opts: {
20
- issue: WorkKey;
21
- repo: string;
22
- worktree: string;
23
- branch: string;
24
- octokit: Octokit;
25
- watchCI?: boolean;
26
- /** Resolved pr.footer; undefined uses the default, empty string omits it. */
27
- footer?: string;
28
- /** Stop at the draft PR: skip mark-ready (#3449). */
29
- draft?: boolean;
30
- /** Post the evidence pack as a PR comment (pr.evidenceComment); default off. */
31
- evidenceComment?: boolean;
32
- log: (type: EventKind, msg: string) => void;
33
- run?: CommandRunner;
34
- /** Runs the gh rerun argv for the CI infra rescue (#2365); default runCommand. */
35
- rerun?: (argv: readonly string[]) => Promise<{
36
- ok: boolean;
37
- }>;
38
- approvalGate?: ApprovalGate;
39
- checkSummary?: CheckSummary;
40
- specPath?: string;
41
- eventsFile?: string;
42
- startedAt?: string;
43
- logsDir?: string;
44
- reworkRounds?: number;
45
- /** PR classifier decision (#1724), rendered into the evidence pack. */
46
- reviewRouting?: ReviewRouting;
47
- /** Model pins that were not honored (#2511), rendered into the evidence pack. */
48
- pinNotes?: string[];
49
- /** The run's resolved work request; when its kind is not 'github-issue', the PR
50
- * title/body come from it instead of fetching the (nonexistent) issue (#507). */
51
- work?: Pick<WorkRequest, 'id' | 'kind' | 'title' | 'reference'>;
52
- /** The ADR-0147 slice this run ships; titles the PR `slice k/n` and only the final slice closes the issue. */
53
- slice?: {
54
- index: number;
55
- count: number;
56
- };
57
- /** Stack-mode (ADR-0161) position: the PR opens on `stack.base` and its body names the stack order. Ignored for inline work. */
58
- stack?: StackPosition;
59
- /** PR base for a non-stack run started from another branch (#3764); default main. */
60
- baseBranch?: string;
61
- /** Lane id stamped onto emitted lifecycle events; defaults to `issue-<issue>` (#591). */
62
- laneId?: string;
63
- /** Lifecycle bus to emit onto; defaults to the process-wide `lifecycleBus` (#591). */
64
- bus?: LifecycleBus;
65
- /** origin/<branch> SHA recorded at worktree creation (#1868). When set, the new-PR push
66
- * replaces that stale head under a lease on this SHA, and fails closed if the remote moved (#1869). */
67
- recordedRemoteSha?: string;
68
- /** SHIP re-entry after a CI rework round (#2816): same open PR, plain push, watch the pushed SHA. */
69
- reentry?: {
70
- prNumber: number;
71
- previousHeadSha?: string;
72
- };
73
- /** CI watch deadline (#3569); default DEFAULT_CI_DEADLINE_MS. */
74
- ciDeadlineMs?: number;
75
- walkthrough?: WalkthroughShipOpts['walkthrough'];
76
- previewGate?: PreviewGate;
77
- ciWatch?: typeof watchChecksWithInfraRerun;
78
- }): Promise<ShipResult>;
6
+ export declare function shipPhase(opts: ShipPhaseOptions): Promise<ShipResult>;
79
7
  //# sourceMappingURL=ship.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI5D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACpC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAIrC,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiB3E"}
@@ -1,26 +1,22 @@
1
1
  // src/phases/ship.ts — SHIP phase: create/verify PR, mark ready for review
2
- import { issueNumberOf } from '../work/work-key.js';
3
2
  import { exec as execCb } from 'node:child_process';
4
3
  import { promisify } from 'node:util';
5
4
  import { withLifecycle } from '../bus/index.js';
6
- import { gatherEvidencePack } from '../reports/evidence-pack.js';
7
- import { briefSummaryLine, renderPrBody, stripBriefIds } from '../reports/pr-body.js';
8
- import { computeDiffStat } from './ship-diff-stat.js';
9
- import { lazyWalkthrough } from './ship-walkthrough.js';
10
- import { renderStackOrderLine } from './stack-order.js';
11
- import { checkRemoteIsAncestor, describePushFailure, pushAndVerifyRemoteHead, readRemoteBranchSha, shortDetail, verifyRemoteHead, } from './ship-git.js';
12
- import { publishPreviewReceipt } from '../checkers/preview-receipt.js';
13
- import { previewFailureReason, runPreviewGate } from './ship-preview.js';
14
- import { recoverOrStop } from './ship-recovery.js';
15
- import { watchShipCi } from './ship-ci-watch.js';
16
- import { markPrReadyWithRetry } from './ship-ready.js';
17
- import { readRisk, readSpecBody } from './ship-spec.js';
18
- import { shellEscape } from '../utils/index.js';
19
5
  import { GITHUB_ISSUE_SOURCE } from '../work/github-issue.js';
20
- import { findMergedPR, findOpenPR, isPullAlreadyExistsError } from './ship-pr-lookup.js';
21
- export { findMergedPR, findOpenPR, isPullAlreadyExistsError };
22
- /** Ship opens PRs against, and watches required checks of, this branch. */
23
- const SHIP_BASE_BRANCH = 'main';
6
+ import { ticketKeyOf } from '../work/ticket-writeback.js';
7
+ import { requestShipApproval } from './ship-approval.js';
8
+ import { pushNewBranch } from './ship-branch-push.js';
9
+ import { watchShipCi } from './ship-ci-watch.js';
10
+ import { syncExistingPr } from './ship-existing-pr.js';
11
+ import { postEvidenceComment } from './ship-evidence-comment.js';
12
+ import { finishShip } from './ship-finish.js';
13
+ import { openOrFindPr } from './ship-open-pr.js';
14
+ import { SHIP_BASE_BRANCH } from './ship-options.js';
15
+ import { findMergedPR, findOpenPR } from './ship-pr-lookup.js';
16
+ import { pushReentry } from './ship-reentry.js';
17
+ import { lazyWalkthrough } from './ship-walkthrough.js';
18
+ import { syncShipBranchWithMain } from './ship-main-sync.js';
19
+ export { findMergedPR, findOpenPR };
24
20
  const exec = promisify(execCb);
25
21
  export async function shipPhase(opts) {
26
22
  return withLifecycle({
@@ -37,24 +33,16 @@ export async function shipPhase(opts) {
37
33
  async function shipPhaseImpl(opts) {
38
34
  const { issue, repo, worktree, branch, octokit, watchCI = true, log, run = exec, rerun, approvalGate, checkSummary, } = opts;
39
35
  const [owner, repoName] = repo.split('/');
40
- const inlineWork = opts.work && opts.work.kind !== GITHUB_ISSUE_SOURCE ? opts.work : undefined;
36
+ const ticketKey = ticketKeyOf(opts.work);
37
+ const ticket = ticketKey !== undefined && opts.work ? { key: ticketKey, title: opts.work.title } : undefined;
38
+ const inlineWork = opts.work && opts.work.kind !== GITHUB_ISSUE_SOURCE && !ticket ? opts.work : undefined;
41
39
  const stack = inlineWork ? undefined : opts.stack;
42
40
  const base = stack?.base ?? opts.baseBranch ?? SHIP_BASE_BRANCH;
43
41
  const walkthrough = lazyWalkthrough(run, worktree, { ...opts, base }, log);
44
42
  if (approvalGate) {
45
- // Log a 'ship'-typed event before anything else so the TUI's activePhase
46
- // advances to SHIP first — otherwise a denial reports failedPhase as
47
- // whichever phase (CHECK/BUILD) last logged, which is misleading.
48
- log('ship', `Starting ship phase for ${branch}`);
49
- const diffStat = await computeDiffStat(run, worktree, base);
50
- log('approval_requested', `awaiting approval to ship ${branch}${checkSummary ? ` (checks: ${checkSummary.passes} pass, ${checkSummary.failures} fail, ${checkSummary.skips} skip)` : ''}`);
51
- const response = await approvalGate({ issue: issueNumberOf(issue), branch, worktree, diffStat, checkSummary });
52
- if (!response.approved) {
53
- const reason = response.reason ?? 'denied';
54
- log('ship_denied', `ship denied for ${branch}: ${reason}`);
55
- return { ok: false, denied: true, deniedReason: reason };
56
- }
57
- log('approval_granted', `approval granted for ${branch}`);
43
+ const denied = await requestShipApproval({ approvalGate, issue, branch, worktree, base, run, checkSummary, log });
44
+ if (denied)
45
+ return denied;
58
46
  }
59
47
  // Check if a PR already exists (claude route may have created one)
60
48
  const openLookup = await findOpenPR(octokit, owner, repoName, branch);
@@ -67,203 +55,39 @@ async function shipPhaseImpl(opts) {
67
55
  const reentry = opts.reentry;
68
56
  let watchRef = branch;
69
57
  let headSha;
58
+ // #3945: open the PR mergeable with main (CHANGELOG/ADR index auto-resolved), or GitHub runs no CI on it.
59
+ const synced = opts.syncMain && !reentry && base === SHIP_BASE_BRANCH
60
+ ? await syncShipBranchWithMain({ run, worktree, branch, log })
61
+ : undefined;
70
62
  if (reentry) {
71
- if (prNumber !== reentry.prNumber) {
72
- const reason = `re-entry expected open PR #${reentry.prNumber} for ${branch} but found ${prNumber === undefined ? 'none' : `#${prNumber}`}`;
73
- log('ship', reason);
74
- return { ok: false, reason };
75
- }
76
- let localSha;
77
- try {
78
- localSha = (await run('git rev-parse HEAD', { cwd: worktree })).stdout.trim();
79
- }
80
- catch (err) {
81
- const reason = `could not read local HEAD on re-entry (${shortDetail(err)})`;
82
- log('ship', reason);
83
- return { ok: false, prNumber, reason };
84
- }
85
- if (localSha && localSha === reentry.previousHeadSha) {
86
- const reason = `CI rework produced no new commit on ${branch}`;
87
- log('ship', reason);
88
- return { ok: false, prNumber, ciOutcome: 'failure', reason, headSha: localSha };
89
- }
90
- try {
91
- await run(`git push origin ${shellEscape(branch)}`, { cwd: worktree });
92
- }
93
- catch (err) {
94
- const { kind, detail } = describePushFailure(err);
95
- const reason = `re-entry push of ${branch} failed (${kind}): ${detail}`;
96
- log('ship', reason);
97
- return { ok: false, prNumber, reason };
98
- }
99
- const remoteHead = await verifyRemoteHead(run, worktree, branch);
100
- if (remoteHead.status !== 'match') {
101
- const reason = remoteHead.status === 'mismatch'
102
- ? `remote head ${remoteHead.remoteSha} does not match local HEAD ${remoteHead.localSha} for ${branch} after re-entry push`
103
- : `could not verify the remote head for ${branch} after re-entry push (${remoteHead.detail})`;
104
- log('ship', reason);
105
- return { ok: false, prNumber, reason };
106
- }
107
- watchRef = remoteHead.remoteSha;
108
- headSha = remoteHead.remoteSha;
109
- log('ship', `re-entry pushed ${branch} @ ${headSha}`);
63
+ const pushed = await pushReentry({ run, worktree, branch, prNumber, reentry, log });
64
+ if ('stop' in pushed)
65
+ return pushed.stop;
66
+ ({ watchRef, headSha } = pushed);
110
67
  }
111
68
  else if (prNumber) {
112
- // Rework commits made after BUILD's push must reach the open PR before evidence or ready (#1813).
113
- const current = await verifyRemoteHead(run, worktree, branch);
114
- if (current.status === 'match') {
115
- log('ship', `remote head ${current.remoteSha} matches local HEAD ${current.localSha} for ${branch} — already in sync, not pushing`);
116
- }
117
- else {
118
- if (current.status === 'mismatch') {
119
- const ancestry = await checkRemoteIsAncestor(run, worktree, current.remoteSha, current.localSha);
120
- if (ancestry.status !== 'ancestor') {
121
- const reason = ancestry.status === 'diverged'
122
- ? `origin/${branch} @ ${current.remoteSha} has diverged from local HEAD ${current.localSha} (remote has commits local HEAD lacks) on open PR #${prNumber} — not force-pushing`
123
- : `could not confirm origin/${branch} @ ${current.remoteSha} is an ancestor of local HEAD ${current.localSha} on open PR #${prNumber} (${ancestry.detail})`;
124
- log('ship', `${reason} — aborting before evidence`);
125
- return { ok: false, prNumber, reason };
126
- }
127
- }
128
- const pushed = await pushAndVerifyRemoteHead(run, worktree, branch, `git push -u origin ${shellEscape(branch)}`);
129
- if (pushed.status !== 'pushed') {
130
- const reason = pushed.status === 'push-failed'
131
- ? `push of ${branch} to open PR #${prNumber} failed (${pushed.kind}): ${pushed.detail}`
132
- : pushed.status === 'mismatch'
133
- ? `remote head ${pushed.remoteSha} does not match local HEAD ${pushed.localSha} for ${branch} after push to open PR #${prNumber}`
134
- : `could not verify the remote head for ${branch} after push to open PR #${prNumber} (${pushed.detail})`;
135
- log('ship', `${reason} — aborting before evidence`);
136
- return { ok: false, prNumber, reason };
137
- }
138
- log('ship', `remote head ${pushed.remoteSha} matches local HEAD ${pushed.localSha} for ${branch}`);
139
- }
69
+ const stop = await syncExistingPr({ run, worktree, branch, prNumber, log });
70
+ if (stop)
71
+ return stop;
140
72
  }
141
73
  if (!prNumber) {
142
- const stop = await recoverOrStop({
74
+ const stop = await pushNewBranch({
143
75
  run,
144
76
  worktree,
145
77
  branch,
146
- issue: inlineWork ? undefined : issue,
78
+ issue: inlineWork || ticket ? undefined : issue,
147
79
  octokit,
148
80
  owner,
149
81
  repoName,
82
+ recordedRemoteSha: opts.recordedRemoteSha,
150
83
  log,
151
84
  });
152
85
  if (stop)
153
86
  return stop;
154
- // Push branch. A rejected push means the remote head does not contain this run's
155
- // commits — opening a PR against it would advertise work that is not there, so the
156
- // ship fails closed here rather than continuing to PR creation (#734).
157
- let pushCmd = `git push -u origin ${shellEscape(branch)}`;
158
- const recorded = opts.recordedRemoteSha;
159
- let leased = false;
160
- if (recorded) {
161
- // A retry rebuilds the branch from origin/main, so an earlier run's push is stale. Replace it
162
- // only while the remote is still exactly what was recorded at worktree creation (#1869).
163
- const current = await readRemoteBranchSha(run, worktree, branch);
164
- if (current.status === 'unreadable') {
165
- const reason = `could not read origin/${branch} to check recorded SHA ${recorded} (${current.detail})`;
166
- log('ship', `${reason} — aborting before push`);
167
- return { ok: false, reason };
168
- }
169
- if (current.sha === null) {
170
- log('ship', `origin/${branch} recorded @ ${recorded} no longer exists — nothing to replace, plain push`);
171
- }
172
- else if (current.sha !== recorded) {
173
- const reason = `origin/${branch} moved since it was recorded: recorded ${recorded}, current ${current.sha}`;
174
- log('ship', `${reason} — aborting before push`);
175
- return { ok: false, reason };
176
- }
177
- else {
178
- pushCmd = `git push ${shellEscape(`--force-with-lease=${branch}:${recorded}`)} -u origin ${shellEscape(branch)}`;
179
- leased = true;
180
- log('ship', `replacing stale origin/${branch} @ ${recorded} with a leased push`);
181
- }
182
- }
183
- // A zero-exit push is not proof the remote branch actually carries this run's commits — a
184
- // concurrent push or an update that silently applied nothing leaves the remote head elsewhere,
185
- // and a PR opened against it advertises work that is not there (#735). Fail closed, like the
186
- // push-failure abort (#734).
187
- const pushed = await pushAndVerifyRemoteHead(run, worktree, branch, pushCmd);
188
- if (pushed.status === 'push-failed') {
189
- const pushReason = `git push failed (${pushed.kind}): ${pushed.detail}`;
190
- log('ship', `${pushReason} — aborting before PR creation`);
191
- if (leased) {
192
- return {
193
- ok: false,
194
- reason: `leased push of ${branch} over recorded ${recorded} was rejected (${pushed.kind})`,
195
- };
196
- }
197
- return { ok: false, reason: pushReason };
198
- }
199
- if (pushed.status === 'mismatch') {
200
- const reason = `remote head ${pushed.remoteSha} does not match local HEAD ${pushed.localSha} for ${branch}`;
201
- log('ship', `${reason} — aborting before PR creation`);
202
- return { ok: false, reason };
203
- }
204
- if (pushed.status === 'unreadable') {
205
- const reason = `could not verify the remote head for ${branch} (${pushed.detail}); local HEAD ${pushed.localSha ?? 'unknown'}`;
206
- log('ship', `${reason} — aborting before PR creation`);
207
- return { ok: false, reason };
208
- }
209
- log('ship', `remote head ${pushed.remoteSha} matches local HEAD ${pushed.localSha} for ${branch}`);
210
- // Get title from issue (skipped for a non-github work source — no such issue exists)
211
- const title = inlineWork
212
- ? inlineWork.title
213
- : (await octokit.rest.issues.get({ owner, repo: repoName, issue_number: issueNumberOf(issue) })).data.title;
214
- const slice = inlineWork ? undefined : opts.slice;
215
- const finalSlice = !slice || slice.index >= slice.count;
216
- // A brief is a local file reviewers cannot open, so the body describes it by its title and links the
217
- // open PR it builds on (a --stack or --base-branch base), never its id, digest or path.
218
- const basePr = inlineWork && base !== SHIP_BASE_BRANCH ? await findOpenPR(octokit, owner, repoName, base) : undefined;
219
- const summaryLine = inlineWork
220
- ? briefSummaryLine(title, basePr?.status === 'found' ? basePr.prNumber : undefined)
221
- : slice
222
- ? `Implements slice ${slice.index}/${slice.count} of #${issue}.`
223
- : `Implements #${issue}.`;
224
- const prTitle = inlineWork
225
- ? stripBriefIds(title)
226
- : slice
227
- ? `${title} — slice ${slice.index}/${slice.count} (#${issue})`
228
- : `${title} (#${issue})`;
229
- // Create PR
230
- try {
231
- const { data: pr } = await octokit.rest.pulls.create({
232
- owner,
233
- repo: repoName,
234
- head: branch,
235
- base,
236
- title: prTitle,
237
- draft: true,
238
- body: renderPrBody({
239
- summaryLine,
240
- footer: opts.footer,
241
- stackOrder: stack ? renderStackOrderLine(stack) : undefined,
242
- specBody: await readSpecBody(opts.specPath),
243
- checkSummary,
244
- reworkRounds: opts.reworkRounds,
245
- risk: await readRisk(opts.specPath),
246
- walkthrough: await walkthrough.walkthrough(),
247
- typescriptLines: await walkthrough.counts(),
248
- closes: inlineWork || !finalSlice ? undefined : issue,
249
- partOf: !inlineWork && !finalSlice ? issue : undefined,
250
- }),
251
- });
252
- prNumber = pr.number;
253
- log('pr_opened', `opened PR #${prNumber} for committed work on ${branch} (base ${base})`);
254
- }
255
- catch (err) {
256
- if (!isPullAlreadyExistsError(err))
257
- throw err;
258
- const existing = await findOpenPR(octokit, owner, repoName, branch);
259
- if (existing.status !== 'found') {
260
- const reason = `pulls.create reported an existing PR for ${branch} but re-querying did not find it (${existing.status === 'error' ? existing.detail : 'no open PR listed'})`;
261
- log('ship', `${reason} — aborting`);
262
- return { ok: false, reason };
263
- }
264
- prNumber = existing.prNumber;
265
- log('recovered', `PR #${prNumber} already existed for ${branch}; reusing it`);
266
- }
87
+ const opened = await openOrFindPr({ opts, inlineWork, ticket, stack, base, owner, repoName, walkthrough });
88
+ if ('stop' in opened)
89
+ return opened.stop;
90
+ prNumber = opened.prNumber;
267
91
  }
268
92
  if (!prNumber) {
269
93
  const reason = `Could not create or find PR for ${branch}`;
@@ -271,29 +95,7 @@ async function shipPhaseImpl(opts) {
271
95
  return { ok: false, reason };
272
96
  }
273
97
  if (!reentry && opts.evidenceComment)
274
- try {
275
- let checkedSha;
276
- try {
277
- checkedSha = (await run('git rev-parse HEAD', { cwd: worktree })).stdout.trim() || undefined;
278
- }
279
- catch { }
280
- const body = gatherEvidencePack({
281
- issue,
282
- checkSummary,
283
- reworkRounds: opts.reworkRounds,
284
- specPath: opts.specPath,
285
- eventsFile: opts.eventsFile,
286
- startedAt: opts.startedAt,
287
- logsDir: opts.logsDir,
288
- reviewRouting: opts.reviewRouting,
289
- pinNotes: opts.pinNotes,
290
- headSha: checkedSha,
291
- walkthrough: await walkthrough.walkthrough(),
292
- });
293
- await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
294
- log('evidence', `posted evidence pack to PR #${prNumber}`);
295
- }
296
- catch { }
98
+ await postEvidenceComment({ opts, run, owner, repoName, prNumber, walkthrough, checkedSha: synced?.checkedSha });
297
99
  let ciOutcome;
298
100
  let ciWatchError;
299
101
  if (watchCI) {
@@ -315,65 +117,6 @@ async function shipPhaseImpl(opts) {
315
117
  return ci.result;
316
118
  ({ ciOutcome, ciWatchError } = ci);
317
119
  }
318
- const ciPending = ciOutcome === 'timeout' || ciWatchError !== undefined;
319
- let previewCheck;
320
- if (opts.previewGate) {
321
- const sha = headSha ?? (await run('git rev-parse HEAD', { cwd: worktree })).stdout.trim();
322
- const publish = (n, r) => publishPreviewReceipt(octokit, owner, repoName, n, r);
323
- const gateCtx = { log, ciPending, publish, ...(opts.logsDir ? { logsDir: opts.logsDir } : {}) };
324
- previewCheck = await runPreviewGate(opts.previewGate, { prNumber, headSha: sha }, gateCtx);
325
- if (previewCheck.status !== 'pass') {
326
- return {
327
- ok: false,
328
- prNumber,
329
- reason: previewFailureReason(prNumber, previewCheck),
330
- previewCheck,
331
- headSha: sha,
332
- ...(ciOutcome ? { ciOutcome } : {}),
333
- ...(ciPending ? { ciPending: true, draft: true } : {}),
334
- };
335
- }
336
- }
337
- if (ciWatchError !== undefined) {
338
- const reason = `CI unknown for PR #${prNumber}: the CI watch failed (${ciWatchError}); leaving PR as draft`;
339
- log('ship', reason);
340
- return { ok: false, prNumber, reason, ciPending: true, draft: true, ...(headSha ? { headSha } : {}) };
341
- }
342
- // Mark ready for review (if draft). REST pulls.update ignores `draft`;
343
- // undrafting requires the markPullRequestReadyForReview GraphQL mutation.
344
- if (opts.draft || ciPending) {
345
- try {
346
- const { data: pr } = await octokit.rest.pulls.get({ owner, repo: repoName, pull_number: prNumber });
347
- if (!pr.draft)
348
- log('ship', `PR #${prNumber} is already open and not a draft; draft mode leaves it as is`);
349
- }
350
- catch { }
351
- }
352
- else {
353
- const flip = await markPrReadyWithRetry(octokit, owner, repoName, prNumber);
354
- if (!flip.ok) {
355
- const reason = `could not mark PR #${prNumber} ready for review after one retry: ${flip.detail}`;
356
- log('warn', reason);
357
- return {
358
- ok: false,
359
- prNumber,
360
- reason,
361
- ...(ciOutcome === undefined ? {} : { ciOutcome }),
362
- ...(headSha ? { headSha } : {}),
363
- };
364
- }
365
- }
366
- const noChecks = ciOutcome === 'no-checks' ? ' (CI skipped: no checks found)' : '';
367
- const readyLabel = opts.draft || ciPending ? `left as draft${ciPending ? ' (CI pending)' : ''}` : 'ready for review';
368
- log('ready', `PR #${prNumber} ${readyLabel}${noChecks}`);
369
- return {
370
- ok: true,
371
- prNumber,
372
- ...(ciOutcome === undefined ? {} : { ciOutcome }),
373
- ...(headSha ? { headSha } : {}),
374
- ...(opts.draft || ciPending ? { draft: true } : {}),
375
- ...(ciPending ? { ciPending: true } : {}),
376
- ...(previewCheck ? { previewCheck } : {}),
377
- };
120
+ return finishShip({ opts, run, owner, repoName, prNumber, headSha, ciOutcome, ciWatchError });
378
121
  }
379
122
  //# sourceMappingURL=ship.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Octokit } from '@octokit/rest';
2
2
  import type { EventKind } from '../events/kinds.js';
3
+ import { type PrerequisiteStackTarget } from '../queue/prerequisite-stack.js';
3
4
  import { type SlicePlan } from '../readiness/slice-plan.js';
4
5
  export declare const STACK_ORDER_MARKER = "<!-- factory:stack-order -->";
5
6
  export interface StackPosition {
@@ -19,6 +20,14 @@ export declare function stackPositionFor(plan: SlicePlan, index: number, parentB
19
20
  /** The position of slice `index` once its parent is squash-merged: stacked on `main` with no parent PR (#3368). */
20
21
  export declare function retargetedStackPosition(plan: SlicePlan, index: number): StackPosition;
21
22
  export declare function renderStackOrderLine(p: StackPosition): string;
23
+ /** Stack-order line for an issue stacked on its prerequisite's PR (#3916); `base` is `main` once the prerequisite merged. */
24
+ export declare function renderPrerequisiteStackLine(p: {
25
+ prerequisite: PrerequisiteStackTarget;
26
+ issue: number;
27
+ base: string;
28
+ }): string;
29
+ /** The PR-body stack section for a prerequisite stack: the order line plus the recovery marker (#3916). */
30
+ export declare function prerequisiteStackOrder(prerequisite: PrerequisiteStackTarget | undefined, issue: number | string, base: string): string | undefined;
22
31
  /** Replaces the marker line and the line after it; without a marker, inserts after the Summary paragraph or appends. */
23
32
  export declare function replaceStackOrderLine(body: string, line: string): string;
24
33
  /** Rewrites slice k-1's PR so it names slice k's PR as next. Best-effort: never throws. */
@@ -1 +1 @@
1
- {"version":3,"file":"stack-order.d.ts","sourceRoot":"","sources":["../../src/phases/stack-order.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE9E,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AAIjE,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,6HAA6H;IAC7H,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAWjH;AAED,mHAAmH;AACnH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAMrF;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAM7D;AAED,wHAAwH;AACxH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAexE;AAED,2FAA2F;AAC3F,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB"}
1
+ {"version":3,"file":"stack-order.d.ts","sourceRoot":"","sources":["../../src/phases/stack-order.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAiC,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE9E,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AAIjE,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,6HAA6H;IAC7H,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAWjH;AAED,mHAAmH;AACnH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAMrF;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAM7D;AAED,6HAA6H;AAC7H,wBAAgB,2BAA2B,CAAC,CAAC,EAAE;IAC7C,YAAY,EAAE,uBAAuB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAIT;AAED,2GAA2G;AAC3G,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,uBAAuB,GAAG,SAAS,EACjD,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAGpB;AAED,wHAAwH;AACxH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAexE;AAED,2FAA2F;AAC3F,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB"}
@@ -1,4 +1,5 @@
1
1
  // src/phases/stack-order.ts — stack mode (ADR-0161): where a slice PR sits in its stack, as a marked body line.
2
+ import { renderPrerequisiteStackMarker } from '../queue/prerequisite-stack.js';
2
3
  import { stackSliceBranch } from '../readiness/slice-plan.js';
3
4
  export const STACK_ORDER_MARKER = '<!-- factory:stack-order -->';
4
5
  const STACK_BASE_BRANCH = 'main';
@@ -32,6 +33,18 @@ export function renderStackOrderLine(p) {
32
33
  : ' (top of stack)';
33
34
  return `${STACK_ORDER_MARKER}\n**Stack:** slice ${p.index}/${p.count} — stacked on ${stackedOn}${next}`;
34
35
  }
36
+ /** Stack-order line for an issue stacked on its prerequisite's PR (#3916); `base` is `main` once the prerequisite merged. */
37
+ export function renderPrerequisiteStackLine(p) {
38
+ const { prerequisite: b } = p;
39
+ const tail = p.base === STACK_BASE_BRANCH ? '(prerequisite merged; stacked on `main`)' : `— stacked on \`${p.base}\``;
40
+ return `${STACK_ORDER_MARKER}\n**Stack:** #${b.issue} PR #${b.prNumber} (\`${b.branch}\`), then #${p.issue} ${tail}`;
41
+ }
42
+ /** The PR-body stack section for a prerequisite stack: the order line plus the recovery marker (#3916). */
43
+ export function prerequisiteStackOrder(prerequisite, issue, base) {
44
+ if (prerequisite === undefined)
45
+ return undefined;
46
+ return `${renderPrerequisiteStackLine({ prerequisite, issue: Number(issue), base })}\n${renderPrerequisiteStackMarker(prerequisite)}`;
47
+ }
35
48
  /** Replaces the marker line and the line after it; without a marker, inserts after the Summary paragraph or appends. */
36
49
  export function replaceStackOrderLine(body, line) {
37
50
  const lines = body.split('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"stack-order.js","sourceRoot":"","sources":["../../src/phases/stack-order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-order.js","sourceRoot":"","sources":["../../src/phases/stack-order.ts"],"names":[],"mappings":"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"}