@on-par/factory-core 0.9.28-next.13 → 0.9.28-next.15
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.
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -1
- package/dist/config/index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -0
- package/dist/internal.js.map +1 -1
- package/dist/phases/ship-approval.d.ts +17 -0
- package/dist/phases/ship-approval.d.ts.map +1 -0
- package/dist/phases/ship-approval.js +21 -0
- package/dist/phases/ship-approval.js.map +1 -0
- package/dist/phases/ship-branch-push.d.ts +17 -0
- package/dist/phases/ship-branch-push.d.ts.map +1 -0
- package/dist/phases/ship-branch-push.js +77 -0
- package/dist/phases/ship-branch-push.js.map +1 -0
- package/dist/phases/ship-evidence-comment.d.ts +12 -0
- package/dist/phases/ship-evidence-comment.d.ts.map +1 -0
- package/dist/phases/ship-evidence-comment.js +30 -0
- package/dist/phases/ship-evidence-comment.js.map +1 -0
- package/dist/phases/ship-existing-pr.d.ts +11 -0
- package/dist/phases/ship-existing-pr.d.ts.map +1 -0
- package/dist/phases/ship-existing-pr.js +36 -0
- package/dist/phases/ship-existing-pr.js.map +1 -0
- package/dist/phases/ship-finish.d.ts +15 -0
- package/dist/phases/ship-finish.d.ts.map +1 -0
- package/dist/phases/ship-finish.js +69 -0
- package/dist/phases/ship-finish.js.map +1 -0
- package/dist/phases/ship-git-detail.d.ts +31 -0
- package/dist/phases/ship-git-detail.d.ts.map +1 -0
- package/dist/phases/ship-git-detail.js +71 -0
- package/dist/phases/ship-git-detail.js.map +1 -0
- package/dist/phases/ship-git-remote.d.ts +51 -0
- package/dist/phases/ship-git-remote.d.ts.map +1 -0
- package/dist/phases/ship-git-remote.js +70 -0
- package/dist/phases/ship-git-remote.js.map +1 -0
- package/dist/phases/ship-git.d.ts +4 -79
- package/dist/phases/ship-git.d.ts.map +1 -1
- package/dist/phases/ship-git.js +2 -135
- package/dist/phases/ship-git.js.map +1 -1
- package/dist/phases/ship-open-pr.d.ts +19 -0
- package/dist/phases/ship-open-pr.d.ts.map +1 -0
- package/dist/phases/ship-open-pr.js +71 -0
- package/dist/phases/ship-open-pr.js.map +1 -0
- package/dist/phases/ship-options.d.ts +76 -0
- package/dist/phases/ship-options.d.ts.map +1 -0
- package/dist/phases/ship-options.js +4 -0
- package/dist/phases/ship-options.js.map +1 -0
- package/dist/phases/ship-reentry.d.ts +20 -0
- package/dist/phases/ship-reentry.d.ts.map +1 -0
- package/dist/phases/ship-reentry.js +47 -0
- package/dist/phases/ship-reentry.js.map +1 -0
- package/dist/phases/ship.d.ts +4 -76
- package/dist/phases/ship.d.ts.map +1 -1
- package/dist/phases/ship.js +30 -295
- package/dist/phases/ship.js.map +1 -1
- package/dist/queue/lane-discovery-interval.d.ts +6 -0
- package/dist/queue/lane-discovery-interval.d.ts.map +1 -0
- package/dist/queue/lane-discovery-interval.js +9 -0
- package/dist/queue/lane-discovery-interval.js.map +1 -0
- package/dist/reports/pr-body.d.ts.map +1 -1
- package/dist/reports/pr-body.js +18 -8
- package/dist/reports/pr-body.js.map +1 -1
- package/package.json +5 -5
package/dist/phases/ship.js
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
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 {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
6
|
+
import { requestShipApproval } from './ship-approval.js';
|
|
7
|
+
import { pushNewBranch } from './ship-branch-push.js';
|
|
8
|
+
import { watchShipCi } from './ship-ci-watch.js';
|
|
9
|
+
import { syncExistingPr } from './ship-existing-pr.js';
|
|
10
|
+
import { postEvidenceComment } from './ship-evidence-comment.js';
|
|
11
|
+
import { finishShip } from './ship-finish.js';
|
|
12
|
+
import { openOrFindPr } from './ship-open-pr.js';
|
|
13
|
+
import { SHIP_BASE_BRANCH } from './ship-options.js';
|
|
14
|
+
import { findMergedPR, findOpenPR } from './ship-pr-lookup.js';
|
|
15
|
+
import { pushReentry } from './ship-reentry.js';
|
|
16
|
+
import { lazyWalkthrough } from './ship-walkthrough.js';
|
|
17
|
+
export { findMergedPR, findOpenPR };
|
|
24
18
|
const exec = promisify(execCb);
|
|
25
19
|
export async function shipPhase(opts) {
|
|
26
20
|
return withLifecycle({
|
|
@@ -42,19 +36,9 @@ async function shipPhaseImpl(opts) {
|
|
|
42
36
|
const base = stack?.base ?? opts.baseBranch ?? SHIP_BASE_BRANCH;
|
|
43
37
|
const walkthrough = lazyWalkthrough(run, worktree, { ...opts, base }, log);
|
|
44
38
|
if (approvalGate) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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}`);
|
|
39
|
+
const denied = await requestShipApproval({ approvalGate, issue, branch, worktree, base, run, checkSummary, log });
|
|
40
|
+
if (denied)
|
|
41
|
+
return denied;
|
|
58
42
|
}
|
|
59
43
|
// Check if a PR already exists (claude route may have created one)
|
|
60
44
|
const openLookup = await findOpenPR(octokit, owner, repoName, branch);
|
|
@@ -68,78 +52,18 @@ async function shipPhaseImpl(opts) {
|
|
|
68
52
|
let watchRef = branch;
|
|
69
53
|
let headSha;
|
|
70
54
|
if (reentry) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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}`);
|
|
55
|
+
const pushed = await pushReentry({ run, worktree, branch, prNumber, reentry, log });
|
|
56
|
+
if ('stop' in pushed)
|
|
57
|
+
return pushed.stop;
|
|
58
|
+
({ watchRef, headSha } = pushed);
|
|
110
59
|
}
|
|
111
60
|
else if (prNumber) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
}
|
|
61
|
+
const stop = await syncExistingPr({ run, worktree, branch, prNumber, log });
|
|
62
|
+
if (stop)
|
|
63
|
+
return stop;
|
|
140
64
|
}
|
|
141
65
|
if (!prNumber) {
|
|
142
|
-
const stop = await
|
|
66
|
+
const stop = await pushNewBranch({
|
|
143
67
|
run,
|
|
144
68
|
worktree,
|
|
145
69
|
branch,
|
|
@@ -147,123 +71,15 @@ async function shipPhaseImpl(opts) {
|
|
|
147
71
|
octokit,
|
|
148
72
|
owner,
|
|
149
73
|
repoName,
|
|
74
|
+
recordedRemoteSha: opts.recordedRemoteSha,
|
|
150
75
|
log,
|
|
151
76
|
});
|
|
152
77
|
if (stop)
|
|
153
78
|
return stop;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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
|
-
}
|
|
79
|
+
const opened = await openOrFindPr({ opts, inlineWork, stack, base, owner, repoName, walkthrough });
|
|
80
|
+
if ('stop' in opened)
|
|
81
|
+
return opened.stop;
|
|
82
|
+
prNumber = opened.prNumber;
|
|
267
83
|
}
|
|
268
84
|
if (!prNumber) {
|
|
269
85
|
const reason = `Could not create or find PR for ${branch}`;
|
|
@@ -271,29 +87,7 @@ async function shipPhaseImpl(opts) {
|
|
|
271
87
|
return { ok: false, reason };
|
|
272
88
|
}
|
|
273
89
|
if (!reentry && opts.evidenceComment)
|
|
274
|
-
|
|
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 { }
|
|
90
|
+
await postEvidenceComment({ opts, run, owner, repoName, prNumber, walkthrough });
|
|
297
91
|
let ciOutcome;
|
|
298
92
|
let ciWatchError;
|
|
299
93
|
if (watchCI) {
|
|
@@ -315,65 +109,6 @@ async function shipPhaseImpl(opts) {
|
|
|
315
109
|
return ci.result;
|
|
316
110
|
({ ciOutcome, ciWatchError } = ci);
|
|
317
111
|
}
|
|
318
|
-
|
|
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
|
-
};
|
|
112
|
+
return finishShip({ opts, run, owner, repoName, prNumber, headSha, ciOutcome, ciWatchError });
|
|
378
113
|
}
|
|
379
114
|
//# sourceMappingURL=ship.js.map
|
package/dist/phases/ship.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FactoryConfig } from '../config/index.js';
|
|
2
|
+
/** Default wait between lane-discovery passes in a running factory run (#3920). */
|
|
3
|
+
export declare const DEFAULT_LANE_DISCOVERY_INTERVAL_MS = 60000;
|
|
4
|
+
/** Milliseconds between lane-discovery passes, from validated config (#3920). */
|
|
5
|
+
export declare function resolveLaneDiscoveryIntervalMs(config: Pick<FactoryConfig, 'queue'>): number;
|
|
6
|
+
//# sourceMappingURL=lane-discovery-interval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lane-discovery-interval.d.ts","sourceRoot":"","sources":["../../src/queue/lane-discovery-interval.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,mFAAmF;AACnF,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAEzD,iFAAiF;AACjF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM,CAE3F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// packages/core/src/queue/lane-discovery-interval.ts — how often a running `factory run` discovers new lanes (#3920).
|
|
2
|
+
import { defaultFactoryConfig } from '@on-par/factory-config';
|
|
3
|
+
/** Default wait between lane-discovery passes in a running factory run (#3920). */
|
|
4
|
+
export const DEFAULT_LANE_DISCOVERY_INTERVAL_MS = 60_000;
|
|
5
|
+
/** Milliseconds between lane-discovery passes, from validated config (#3920). */
|
|
6
|
+
export function resolveLaneDiscoveryIntervalMs(config) {
|
|
7
|
+
return config.queue?.discovery_interval_ms ?? defaultFactoryConfig.queue.discovery_interval_ms;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=lane-discovery-interval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lane-discovery-interval.js","sourceRoot":"","sources":["../../src/queue/lane-discovery-interval.ts"],"names":[],"mappings":"AAAA,sHAAsH;AAEtH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,mFAAmF;AACnF,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAEzD,iFAAiF;AACjF,MAAM,UAAU,8BAA8B,CAAC,MAAoC;IACjF,OAAO,MAAM,CAAC,KAAK,EAAE,qBAAqB,IAAI,oBAAoB,CAAC,KAAK,CAAC,qBAAqB,CAAC;AACjG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-body.d.ts","sourceRoot":"","sources":["../../src/reports/pr-body.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD,sCAAsC;AACtC,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iEAAiE;IACjE,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oGAAoG;IACpG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;CACpE;
|
|
1
|
+
{"version":3,"file":"pr-body.d.ts","sourceRoot":"","sources":["../../src/reports/pr-body.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD,sCAAsC;AACtC,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iEAAiE;IACjE,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oGAAoG;IACpG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;CACpE;AAoBD;kHACkH;AAClH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED,iJAAiJ;AACjJ,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAgCvD;AAED,8GAA8G;AAC9G,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,SAAqB,GAAG,MAAM,GAAG,SAAS,CAkCrG;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO9D"}
|
package/dist/reports/pr-body.js
CHANGED
|
@@ -10,14 +10,24 @@ const WHAT_CHANGED_SENTENCES = 3;
|
|
|
10
10
|
export const PR_BODY_FOOTER = defaultFactoryConfig.pr.footer;
|
|
11
11
|
const KEY = String.raw `[A-Z][A-Z0-9]{1,9}-\d+`;
|
|
12
12
|
const LEADING_KEY = new RegExp(String.raw `^\s*(?:[\[(]${KEY}[\])]|${KEY}(?=\s*(?:[:\-–—|]|$)))\s*[:\-–—|]?\s*`);
|
|
13
|
-
const TRAILING_KEY = new RegExp(String.raw
|
|
14
|
-
const LOCAL_BRIEF =
|
|
13
|
+
const TRAILING_KEY = new RegExp(String.raw `[\[(]${KEY}[\])]$`);
|
|
14
|
+
const LOCAL_BRIEF = /\blocal[ -]brief\b/i;
|
|
15
|
+
/** Drops every sentence (a run up to a `.` or line end) that mentions a "local brief"; linear time. */
|
|
16
|
+
function dropLocalBriefSentences(text) {
|
|
17
|
+
return text
|
|
18
|
+
.split('\n')
|
|
19
|
+
.map((line) => line
|
|
20
|
+
.split(/(?<=\.)/)
|
|
21
|
+
.filter((piece) => !LOCAL_BRIEF.test(piece))
|
|
22
|
+
.join(''))
|
|
23
|
+
.join('\n');
|
|
24
|
+
}
|
|
15
25
|
/** A brief's title with its tracker-style id (`ARA-12: …`, `[ARA-12] …`, `… (ARA-12)`) and any "local brief"
|
|
16
26
|
* mention removed, for PR titles and bodies: reviewers cannot look those ids up. Plain words like UTF-8 stay. */
|
|
17
27
|
export function stripBriefIds(text) {
|
|
18
|
-
const stripped = text
|
|
19
|
-
.replace(LOCAL_BRIEF, '')
|
|
28
|
+
const stripped = dropLocalBriefSentences(text)
|
|
20
29
|
.replace(LEADING_KEY, '')
|
|
30
|
+
.trimEnd()
|
|
21
31
|
.replace(TRAILING_KEY, '')
|
|
22
32
|
.replace(/\s+/g, ' ')
|
|
23
33
|
.trim();
|
|
@@ -25,10 +35,10 @@ export function stripBriefIds(text) {
|
|
|
25
35
|
}
|
|
26
36
|
/** Summary line for brief-driven work: what it covers (the brief's title) and the open PR it builds on. Never the brief's id, digest or path. */
|
|
27
37
|
export function briefSummaryLine(title, basePr) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
.
|
|
31
|
-
|
|
38
|
+
let what = stripBriefIds(title);
|
|
39
|
+
while (what.length > 0 && '.!?…'.includes(what.charAt(what.length - 1))) {
|
|
40
|
+
what = what.slice(0, -1);
|
|
41
|
+
}
|
|
32
42
|
return `${what}.${basePr === undefined ? '' : ` Builds on #${basePr}.`}`;
|
|
33
43
|
}
|
|
34
44
|
export function renderPrBody(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-body.js","sourceRoot":"","sources":["../../src/reports/pr-body.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,+FAA+F;AAC/F,mGAAmG;AACnG,oDAAoD;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC,MAAM,CAAC;AAyB7D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA,wBAAwB,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,eAAe,GAAG,SAAS,GAAG,uCAAuC,CAAC,CAAC;AAChH,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"pr-body.js","sourceRoot":"","sources":["../../src/reports/pr-body.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@on-par/factory-core",
|
|
3
|
-
"version": "0.9.28-next.
|
|
3
|
+
"version": "0.9.28-next.15",
|
|
4
4
|
"description": "Core engine: model router, constitutions, checkers, and pipeline phases for the Software Factory.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
"prepack": "node ../../scripts/pack-hygiene-cli.ts prepack"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@on-par/adr-kit": "0.9.28-next.
|
|
58
|
-
"@on-par/contracts": "0.9.28-next.
|
|
59
|
-
"@on-par/factory-config": "0.9.28-next.
|
|
60
|
-
"@on-par/repo-context": "0.9.28-next.
|
|
57
|
+
"@on-par/adr-kit": "0.9.28-next.15",
|
|
58
|
+
"@on-par/contracts": "0.9.28-next.15",
|
|
59
|
+
"@on-par/factory-config": "0.9.28-next.15",
|
|
60
|
+
"@on-par/repo-context": "0.9.28-next.15",
|
|
61
61
|
"@octokit/rest": "^22.0.0",
|
|
62
62
|
"execa": "^10.2.1",
|
|
63
63
|
"gray-matter": "^4.0.3",
|