@clemrig/factory 0.6.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -26
- package/dist/app/define.js +1 -1
- package/dist/app/define.js.map +1 -1
- package/dist/app/init.d.ts +1 -0
- package/dist/app/init.js +1 -0
- package/dist/app/init.js.map +1 -1
- package/dist/app/run.d.ts +2 -1
- package/dist/app/run.js +16 -4
- package/dist/app/run.js.map +1 -1
- package/dist/app/workflows/implement.d.ts +1 -1
- package/dist/app/workflows/implement.js +295 -73
- package/dist/app/workflows/implement.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.js +4 -2
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/init.d.ts +3 -2
- package/dist/cli/init.js +10 -3
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/run.js +1 -1
- package/dist/cli/run.js.map +1 -1
- package/dist/domain/definition.d.ts +2 -0
- package/dist/domain/definition.js +1 -0
- package/dist/domain/definition.js.map +1 -1
- package/dist/domain/description.d.ts +51 -0
- package/dist/domain/description.js +78 -0
- package/dist/domain/description.js.map +1 -0
- package/dist/domain/plan.d.ts +3 -0
- package/dist/domain/plan.js +24 -4
- package/dist/domain/plan.js.map +1 -1
- package/dist/domain/pull-request.d.ts +46 -8
- package/dist/domain/pull-request.js +297 -24
- package/dist/domain/pull-request.js.map +1 -1
- package/dist/domain/review.d.ts +9 -1
- package/dist/domain/review.js +30 -5
- package/dist/domain/review.js.map +1 -1
- package/dist/system/browser.d.ts +29 -0
- package/dist/system/browser.js +84 -0
- package/dist/system/browser.js.map +1 -0
- package/dist/system/github.d.ts +15 -0
- package/dist/system/github.js +36 -2
- package/dist/system/github.js.map +1 -1
- package/dist/system/run-files.d.ts +14 -0
- package/dist/system/run-files.js +69 -2
- package/dist/system/run-files.js.map +1 -1
- package/dist/system/templates.d.ts +3 -2
- package/dist/system/templates.js +8 -3
- package/dist/system/templates.js.map +1 -1
- package/package.json +3 -3
- package/prompts/implement/describe.md +74 -0
- package/prompts/implement/implement.md +25 -8
- package/prompts/implement/plan.md +40 -9
- package/prompts/implement/review.md +43 -16
- package/templates/init/factory.ts +23 -5
|
@@ -2,16 +2,18 @@ import { agent, code, defineWorkflow, END, gate, node, retry, schemaGate, step,
|
|
|
2
2
|
import { isSlug } from "../../domain/issue.js";
|
|
3
3
|
import { planCommitMessage, planOutput, planProblem, renderPlan, } from "../../domain/plan.js";
|
|
4
4
|
import { DELIVERY } from "../../domain/delivery.js";
|
|
5
|
-
import {
|
|
5
|
+
import { descriptionOutput, descriptionProblems, maxScreenshotBytes, } from "../../domain/description.js";
|
|
6
|
+
import { ghVersionProblem, interpretationsLine, maxBodyLength, mergeDangerLine, pullRequestBody, } from "../../domain/pull-request.js";
|
|
6
7
|
import { implementationOutput, implementationProblem, largeChangeLines, reviewChanges, reviewOutput, reviewProblem, } from "../../domain/review.js";
|
|
7
8
|
import { parseSpec } from "../../domain/spec.js";
|
|
8
9
|
import { failureFeedback, seconds } from "../../domain/verification.js";
|
|
10
|
+
import { closeBrowser, runBrowser } from "../../system/browser.js";
|
|
9
11
|
import { runChecks } from "../../system/checks.js";
|
|
10
12
|
import * as git from "../../system/git.js";
|
|
11
13
|
import * as github from "../../system/github.js";
|
|
12
14
|
import { withTreeLock } from "../../system/lock.js";
|
|
13
15
|
import { artifactPath, hasArtifact, isIssue, readArtifact, writeArtifact, } from "../../system/issues.js";
|
|
14
|
-
import { keepCheckOutputs, keepInRun, } from "../../system/run-files.js";
|
|
16
|
+
import { keepCheckOutputs, keepFailedCheck, keepInRun, screenshotProblems, screenshotsFolder, } from "../../system/run-files.js";
|
|
15
17
|
function facts(state) {
|
|
16
18
|
return state.data;
|
|
17
19
|
}
|
|
@@ -27,6 +29,11 @@ function reviewSession(state) {
|
|
|
27
29
|
const restarts = state.retries?.["review.modified"] ?? 0;
|
|
28
30
|
return `review-${reviewRounds(state)}${restarts > 0 ? `-${restarts}` : ""}`;
|
|
29
31
|
}
|
|
32
|
+
/** One conversation for the description, a new one once it changed the repository. */
|
|
33
|
+
function describeSession(state) {
|
|
34
|
+
const restarts = state.retries?.["describe.modified"] ?? 0;
|
|
35
|
+
return `describe${restarts > 0 ? `-${restarts}` : ""}`;
|
|
36
|
+
}
|
|
30
37
|
function short(commit) {
|
|
31
38
|
return commit.slice(0, 7);
|
|
32
39
|
}
|
|
@@ -55,8 +62,29 @@ async function dependencyProblems(dir, slug, base, dependencies) {
|
|
|
55
62
|
}
|
|
56
63
|
return problems;
|
|
57
64
|
}
|
|
65
|
+
const message = (error) => error instanceof Error ? error.message : String(error);
|
|
66
|
+
/** The repository on GitHub, when gh is recent enough and logged in to open its pull request; otherwise why not. */
|
|
67
|
+
async function gitHubProblems(dir) {
|
|
68
|
+
const problems = [];
|
|
69
|
+
const version = await github
|
|
70
|
+
.version(dir)
|
|
71
|
+
.then(ghVersionProblem, (error) => message(error));
|
|
72
|
+
if (version)
|
|
73
|
+
problems.push(version);
|
|
74
|
+
if (!(await github.isAuthenticated(dir))) {
|
|
75
|
+
problems.push("gh is not logged in: run gh auth login");
|
|
76
|
+
return { problems };
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
return { repository: await github.repository(dir), problems };
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
problems.push(`gh cannot read the repository on GitHub: ${message(error)}`);
|
|
83
|
+
return { problems };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
58
86
|
/** Every reason not to start, found without changing anything; then the base must pass its checks. */
|
|
59
|
-
async function prepare(definition, { dir, state, log }) {
|
|
87
|
+
async function prepare(definition, { dir, state, log, runDir }) {
|
|
60
88
|
const slug = String(state.input.issue);
|
|
61
89
|
const base = await git.defaultBranch(dir);
|
|
62
90
|
const problems = [];
|
|
@@ -81,9 +109,9 @@ async function prepare(definition, { dir, state, log }) {
|
|
|
81
109
|
problems.push(...(await dependencyProblems(dir, slug, base, spec.value.dependencies)));
|
|
82
110
|
if (await hasArtifact(dir, slug, "plan"))
|
|
83
111
|
problems.push(`Issue ${slug} is already delivered (its plan.md is on ${base}): start a new issue`);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if (problems.length > 0 || !spec?.ok || text === undefined)
|
|
112
|
+
const { repository, problems: gitHub } = await gitHubProblems(dir);
|
|
113
|
+
problems.push(...gitHub);
|
|
114
|
+
if (problems.length > 0 || !spec?.ok || text === undefined || !repository)
|
|
87
115
|
throw new Error(["Cannot start:", ...problems.map((problem) => `- ${problem}`)].join("\n"));
|
|
88
116
|
log(`Starting point valid: ${base} matches origin, spec with ${spec.value.criteria.length} criteria, gh logged in`);
|
|
89
117
|
const baseCommit = await git.commitOf(dir, "HEAD");
|
|
@@ -91,6 +119,10 @@ async function prepare(definition, { dir, state, log }) {
|
|
|
91
119
|
const checks = await runChecks(dir, definition.verify, [], journalChecks(log, ` on ${base}`));
|
|
92
120
|
if (!checks.ok)
|
|
93
121
|
throw new Error(`${base} does not pass its own checks:\n${failureFeedback(checks.check, checks.cause, checks.output)}`);
|
|
122
|
+
// Kept in the run's folder, outside the repository: made before the run
|
|
123
|
+
// takes the tree, so that a failure leaves it on the main branch.
|
|
124
|
+
const browser = await runBrowser(dir, runDir);
|
|
125
|
+
const screenshotsDir = await screenshotsFolder(runDir);
|
|
94
126
|
// One run at a time per working tree: another one started during the checks
|
|
95
127
|
// may have moved it. Checking and taking the tree happen under one lock, so
|
|
96
128
|
// that two runs never both find it free; the branch starts from the approved
|
|
@@ -107,7 +139,11 @@ async function prepare(definition, { dir, state, log }) {
|
|
|
107
139
|
slug,
|
|
108
140
|
title: spec.value.title,
|
|
109
141
|
spec: text,
|
|
142
|
+
objective: spec.value.objective,
|
|
110
143
|
criteria: spec.value.criteria,
|
|
144
|
+
repository,
|
|
145
|
+
...(browser ? { browser } : {}),
|
|
146
|
+
screenshotsDir,
|
|
111
147
|
base,
|
|
112
148
|
baseCommit,
|
|
113
149
|
specPath: artifactPath(slug, "spec"),
|
|
@@ -127,56 +163,164 @@ async function guard(context) {
|
|
|
127
163
|
if (await git.hasChanges(context.dir, ".factory"))
|
|
128
164
|
throw new Error("The implementing agent changed .factory/: the run stops");
|
|
129
165
|
}
|
|
130
|
-
/**
|
|
131
|
-
|
|
132
|
-
|
|
166
|
+
/**
|
|
167
|
+
* Closes the agents' browser once an agent's call is over, failed or not:
|
|
168
|
+
* Playwright CLI keeps it open after the agent that opened it. Every session
|
|
169
|
+
* of the run's workspace is closed, those a stopped call left included.
|
|
170
|
+
*/
|
|
171
|
+
function closingBrowser(stage) {
|
|
172
|
+
return {
|
|
173
|
+
...stage,
|
|
174
|
+
async run(context) {
|
|
175
|
+
try {
|
|
176
|
+
return await stage.run(context);
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
const { browser } = facts(context.state);
|
|
180
|
+
const problem = browser && (await closeBrowser(browser));
|
|
181
|
+
if (problem)
|
|
182
|
+
context.log(`Could not close the agents' browser: ${problem}`);
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/** The agents that read the change without changing the repository: the review, then the description. */
|
|
188
|
+
const readers = {
|
|
189
|
+
review: {
|
|
190
|
+
name: "review",
|
|
191
|
+
agent: "reviewing",
|
|
192
|
+
again: "Review the change again",
|
|
193
|
+
},
|
|
194
|
+
describe: {
|
|
195
|
+
name: "description",
|
|
196
|
+
agent: "describing",
|
|
197
|
+
again: "Describe the change again",
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
/** Puts back the tree the reader reads, as the diff stage recorded it; returns the paths it put back. */
|
|
201
|
+
async function putBackReviewedTree(context, reader) {
|
|
202
|
+
await ensureOnPlanCommit(context, reader.agent);
|
|
133
203
|
return git.putBack(context.dir, facts(context.state).reviewedTree);
|
|
134
204
|
}
|
|
135
|
-
/** The
|
|
136
|
-
function
|
|
205
|
+
/** The reader changed the repository, which the run put back: it starts again in a new conversation. */
|
|
206
|
+
function readerModified(log, reader, changed, why) {
|
|
137
207
|
const paths = changed.join(", ");
|
|
138
208
|
const after = why ? ` ${why}` : "";
|
|
139
|
-
log(`The
|
|
209
|
+
log(`The ${reader.name} changed ${paths}${after}: put back`);
|
|
140
210
|
return {
|
|
141
211
|
outcome: "modified",
|
|
142
|
-
reason: `The
|
|
143
|
-
feedback: `A previous
|
|
212
|
+
reason: `The ${reader.name} changed the repository (${paths})${after}: put back, the ${reader.name} starts again`,
|
|
213
|
+
feedback: `A previous ${reader.name} changed ${paths}; the run put them back as they were. ${reader.again}, without modifying anything in the repository.`,
|
|
144
214
|
};
|
|
145
215
|
}
|
|
146
216
|
/**
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
217
|
+
* An agent that may run commands but never change the repository. The tree
|
|
218
|
+
* it reads is put back before its call and after it, even when the call
|
|
219
|
+
* fails; what it changed makes it start again.
|
|
150
220
|
*/
|
|
151
|
-
function
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
schema: reviewOutput,
|
|
155
|
-
session: reviewSession,
|
|
156
|
-
context: ({ state }) => {
|
|
157
|
-
const { slug, spec, changes, checks } = facts(state);
|
|
158
|
-
return { issue: slug, spec, changes, checks };
|
|
159
|
-
},
|
|
160
|
-
});
|
|
161
|
-
return {
|
|
162
|
-
...reviewer,
|
|
221
|
+
function reading(reader, stage) {
|
|
222
|
+
return closingBrowser({
|
|
223
|
+
...stage,
|
|
163
224
|
outcomes: ["ok", "modified"],
|
|
164
225
|
async run(context) {
|
|
165
|
-
// Left by a
|
|
166
|
-
// as that
|
|
167
|
-
const left = await putBackReviewedTree(context);
|
|
226
|
+
// Left by a call that stopped before the run put it back: it counts
|
|
227
|
+
// as that call's change.
|
|
228
|
+
const left = await putBackReviewedTree(context, reader);
|
|
168
229
|
if (left.length > 0)
|
|
169
|
-
return
|
|
170
|
-
const
|
|
171
|
-
const changed = await putBackReviewedTree(context);
|
|
230
|
+
return readerModified(context.log, reader, left, "before the run could put it back");
|
|
231
|
+
const ended = await stage.run(context).then((result) => ({ result }), (error) => ({ error }));
|
|
232
|
+
const changed = await putBackReviewedTree(context, reader);
|
|
172
233
|
if (changed.length > 0)
|
|
173
|
-
return
|
|
174
|
-
? `and its call failed (${
|
|
234
|
+
return readerModified(context.log, reader, changed, "error" in ended
|
|
235
|
+
? `and its call failed (${message(ended.error)})`
|
|
175
236
|
: undefined);
|
|
176
|
-
if ("error" in
|
|
177
|
-
throw
|
|
178
|
-
return
|
|
237
|
+
if ("error" in ended)
|
|
238
|
+
throw ended.error;
|
|
239
|
+
return ended.result;
|
|
240
|
+
},
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
/** The agents' browser, in the request of the agents that may use it. */
|
|
244
|
+
function browserContext(state) {
|
|
245
|
+
const { browser } = facts(state);
|
|
246
|
+
return browser ? { browser } : {};
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* The reviewing agent: it judges the change against the spec, from the code
|
|
250
|
+
* and the checks alone. From the second round on, it first reviews the change
|
|
251
|
+
* knowing nothing of the earlier reviews, then, in the same conversation,
|
|
252
|
+
* checks what the previous one found against the code as it is now, and gives
|
|
253
|
+
* its whole review again: nothing found earlier is lost on the way.
|
|
254
|
+
*/
|
|
255
|
+
function review(profile) {
|
|
256
|
+
const call = (context) => agent({ profile, schema: reviewOutput, session: reviewSession, context });
|
|
257
|
+
const fresh = call(({ state }) => {
|
|
258
|
+
const { slug, spec, changes, checks } = facts(state);
|
|
259
|
+
return { issue: slug, spec, changes, checks, ...browserContext(state) };
|
|
260
|
+
});
|
|
261
|
+
const recheck = call(({ state }) => ({
|
|
262
|
+
previous: facts(state).reviews?.at(-1),
|
|
263
|
+
}));
|
|
264
|
+
return reading(readers.review, {
|
|
265
|
+
...fresh,
|
|
266
|
+
async run(context) {
|
|
267
|
+
const first = await fresh.run(context);
|
|
268
|
+
if ((facts(context.state).reviews ?? []).length === 0)
|
|
269
|
+
return first;
|
|
270
|
+
return recheck.run(context);
|
|
179
271
|
},
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* The describing agent: once the change is approved, it explains it to a
|
|
276
|
+
* reader who forgot its issue, and takes its screenshots. It never reads the
|
|
277
|
+
* implementing agent's account of its own work.
|
|
278
|
+
*/
|
|
279
|
+
function describe(profile) {
|
|
280
|
+
return reading(readers.describe, agent({
|
|
281
|
+
profile,
|
|
282
|
+
schema: descriptionOutput,
|
|
283
|
+
session: describeSession,
|
|
284
|
+
context: ({ state }) => {
|
|
285
|
+
const f = facts(state);
|
|
286
|
+
return {
|
|
287
|
+
issue: f.slug,
|
|
288
|
+
spec: f.spec,
|
|
289
|
+
plan: f.plan,
|
|
290
|
+
changes: f.changes,
|
|
291
|
+
checks: f.checks,
|
|
292
|
+
review: f.review,
|
|
293
|
+
deviations: f.implementation.deviations,
|
|
294
|
+
repository: { public: f.repository.public },
|
|
295
|
+
screenshots: f.screenshotsDir,
|
|
296
|
+
...browserContext(state),
|
|
297
|
+
};
|
|
298
|
+
},
|
|
299
|
+
}));
|
|
300
|
+
}
|
|
301
|
+
/** What the pull request shows, from the run's data; its screenshots `pending` until attached. */
|
|
302
|
+
function pullRequestFacts(state, description, pending) {
|
|
303
|
+
const f = facts(state);
|
|
304
|
+
return {
|
|
305
|
+
objective: f.objective,
|
|
306
|
+
criteria: f.criteria,
|
|
307
|
+
deviations: f.implementation.deviations,
|
|
308
|
+
interpretations: f.plan.interpretations,
|
|
309
|
+
assumptions: f.plan.risks,
|
|
310
|
+
review: f.review,
|
|
311
|
+
acceptedReview: f.acceptedReview === true,
|
|
312
|
+
reviewRounds: reviewRounds(state),
|
|
313
|
+
resolved: (f.reviews ?? []).flatMap(({ resolved = [] }) => resolved),
|
|
314
|
+
checks: f.checks,
|
|
315
|
+
skippedChecks: f.skippedChecks,
|
|
316
|
+
files: f.changes.files,
|
|
317
|
+
description,
|
|
318
|
+
screenshotsPending: pending,
|
|
319
|
+
links: {
|
|
320
|
+
spec: `${f.repository.url}/blob/${f.baseCommit}/${f.specPath}`,
|
|
321
|
+
plan: `${f.repository.url}/blob/${f.planCommit}/${f.planPath}`,
|
|
322
|
+
},
|
|
323
|
+
runId: state.id,
|
|
180
324
|
};
|
|
181
325
|
}
|
|
182
326
|
/**
|
|
@@ -187,21 +331,25 @@ function review(profile) {
|
|
|
187
331
|
async function resumeProblem({ dir, state, }) {
|
|
188
332
|
if (state.stage === "prepare")
|
|
189
333
|
return undefined;
|
|
334
|
+
// Its pull request is open: only its screenshots remain to attach, from the
|
|
335
|
+
// run's folder, whatever the repository is on.
|
|
336
|
+
if (state.stage === "attach")
|
|
337
|
+
return undefined;
|
|
190
338
|
// Stopped once its last stage was done, such as by Ctrl-C.
|
|
191
339
|
const { pullRequest } = state.data;
|
|
192
340
|
if (typeof pullRequest === "string")
|
|
193
341
|
return `the run already delivered its pull request ${pullRequest}`;
|
|
194
|
-
// An earlier factory
|
|
195
|
-
//
|
|
196
|
-
if (
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
//
|
|
342
|
+
// An earlier factory read neither the repository on GitHub nor the spec's
|
|
343
|
+
// objective: the pull request this run would open needs them.
|
|
344
|
+
if (typeof state.data.repository !== "object")
|
|
345
|
+
return "the run started with an earlier version of the factory, whose data this one does not read: start a new run";
|
|
346
|
+
// The review and the description start from the tree the review reads,
|
|
347
|
+
// which Git may have pruned meanwhile.
|
|
200
348
|
const { reviewedTree } = state.data;
|
|
201
|
-
if (state.stage === "review" &&
|
|
349
|
+
if ((state.stage === "review" || state.stage === "describe") &&
|
|
202
350
|
typeof reviewedTree === "string" &&
|
|
203
351
|
!(await git.hasObject(dir, reviewedTree)))
|
|
204
|
-
return
|
|
352
|
+
return `the tree the ${state.stage === "review" ? "review" : "description"} reads is no longer in Git (removed by git gc): start a new run`;
|
|
205
353
|
const { slug, baseCommit, planPath } = facts(state);
|
|
206
354
|
// Until the plan is committed, the branch is at the run's starting commit.
|
|
207
355
|
const { planCommit } = state.data;
|
|
@@ -218,7 +366,7 @@ async function resumeProblem({ dir, state, }) {
|
|
|
218
366
|
problems.push(".factory/ has changes in progress, which a run never delivers: discard them");
|
|
219
367
|
return problems.length ? problems.join("; ") : undefined;
|
|
220
368
|
}
|
|
221
|
-
/** Plans, implements, checks and reviews an approved spec, then
|
|
369
|
+
/** Plans, implements, checks and reviews an approved spec, then describes it in the pull request it opens. */
|
|
222
370
|
export function implement(definition) {
|
|
223
371
|
return defineWorkflow({
|
|
224
372
|
name: DELIVERY,
|
|
@@ -236,7 +384,10 @@ export function implement(definition) {
|
|
|
236
384
|
{ name: "implement", stages: ["implement", "implemented"] },
|
|
237
385
|
{ name: "verify", stages: ["verify"] },
|
|
238
386
|
{ name: "review", stages: ["diff", "review", "reviewed"] },
|
|
239
|
-
{
|
|
387
|
+
{
|
|
388
|
+
name: "deliver",
|
|
389
|
+
stages: ["describe", "described", "deliver", "attach"],
|
|
390
|
+
},
|
|
240
391
|
],
|
|
241
392
|
nodes: {
|
|
242
393
|
prepare: node(step((context) => prepare(definition, context)), { ok: "plan" }),
|
|
@@ -262,14 +413,14 @@ export function implement(definition) {
|
|
|
262
413
|
log(`Committed plan.md (${plan.steps.length} steps) as ${short(planCommit)}`);
|
|
263
414
|
return { planCommit };
|
|
264
415
|
}), { ok: "implement" }),
|
|
265
|
-
implement: node(agent({
|
|
416
|
+
implement: node(closingBrowser(agent({
|
|
266
417
|
profile: definition.profiles.implement,
|
|
267
418
|
schema: implementationOutput,
|
|
268
419
|
context: ({ state }) => {
|
|
269
420
|
const { slug, spec, plan } = facts(state);
|
|
270
|
-
return { issue: slug, spec, plan };
|
|
421
|
+
return { issue: slug, spec, plan, ...browserContext(state) };
|
|
271
422
|
},
|
|
272
|
-
}), { ok: "implemented" }),
|
|
423
|
+
})), { ok: "implemented" }),
|
|
273
424
|
implemented: node(gate(["ok", "invalid"], async (context) => {
|
|
274
425
|
// First what the agent did, whatever it answered: a malformed
|
|
275
426
|
// response must not hide a change it may not make.
|
|
@@ -301,6 +452,9 @@ export function implement(definition) {
|
|
|
301
452
|
skippedChecks: checks.skipped.map(({ name }) => name),
|
|
302
453
|
},
|
|
303
454
|
};
|
|
455
|
+
// All it wrote, the agent receives its end only.
|
|
456
|
+
const kept = await keepFailedCheck(runDir, checks.check.name, checks.output);
|
|
457
|
+
log(`${checks.check.name} failed: ${checks.cause}; its output is in ${kept}`);
|
|
304
458
|
return {
|
|
305
459
|
outcome: "failed",
|
|
306
460
|
reason: `${checks.check.name} failed: ${checks.cause}`,
|
|
@@ -344,63 +498,131 @@ export function implement(definition) {
|
|
|
344
498
|
if (problem)
|
|
345
499
|
return { outcome: "invalid", reason: problem };
|
|
346
500
|
const changes = reviewChanges(parsed.data);
|
|
501
|
+
// Each review judged is kept, the last one apart for the stages after.
|
|
502
|
+
const judged = {
|
|
503
|
+
review: parsed.data,
|
|
504
|
+
reviews: [...(facts(state).reviews ?? []), parsed.data],
|
|
505
|
+
};
|
|
506
|
+
// The operator resumed the run to deliver it as the review left it.
|
|
507
|
+
if (changes && state.data.acceptedReview === true)
|
|
508
|
+
return {
|
|
509
|
+
outcome: "approved",
|
|
510
|
+
reason: "The operator accepted the review's unmet criteria and blocking findings",
|
|
511
|
+
data: judged,
|
|
512
|
+
};
|
|
347
513
|
if (changes)
|
|
348
514
|
return {
|
|
349
515
|
outcome: "changes",
|
|
350
516
|
reason: "The review requires changes",
|
|
351
517
|
feedback: changes,
|
|
352
|
-
data:
|
|
518
|
+
data: judged,
|
|
353
519
|
};
|
|
354
520
|
return {
|
|
355
521
|
outcome: "approved",
|
|
356
522
|
reason: "Every criterion is met and nothing blocks",
|
|
357
|
-
data:
|
|
523
|
+
data: judged,
|
|
358
524
|
};
|
|
359
525
|
}), {
|
|
360
|
-
approved: "
|
|
526
|
+
approved: "describe",
|
|
361
527
|
changes: retry("implement", 2),
|
|
362
528
|
invalid: retry("review", 2),
|
|
363
529
|
}),
|
|
364
|
-
|
|
365
|
-
|
|
530
|
+
describe: node(describe(definition.profiles.describe ?? definition.profiles.review), { ok: "described", modified: retry("describe", 1) }),
|
|
531
|
+
described: node(gate(["ok", "invalid"], async ({ state }) => {
|
|
532
|
+
const parsed = descriptionOutput.safeParse(state.output);
|
|
533
|
+
if (!parsed.success)
|
|
534
|
+
return {
|
|
535
|
+
outcome: "invalid",
|
|
536
|
+
reason: `Invalid structured output:\n${z.prettifyError(parsed.error)}`,
|
|
537
|
+
};
|
|
538
|
+
const description = parsed.data;
|
|
539
|
+
const { changes, screenshotsDir } = facts(state);
|
|
540
|
+
const problems = [
|
|
541
|
+
...descriptionProblems(description, changes.files),
|
|
542
|
+
...(await screenshotProblems(screenshotsDir, description.screenshots.map(({ file }) => file), maxScreenshotBytes)),
|
|
543
|
+
];
|
|
544
|
+
const length = pullRequestBody(pullRequestFacts(state, description, false)).length;
|
|
545
|
+
if (length > maxBodyLength)
|
|
546
|
+
problems.push(`The pull request's body would have ${length} characters, over ${maxBodyLength}: shorten the description`);
|
|
547
|
+
if (problems.length > 0)
|
|
548
|
+
return {
|
|
549
|
+
outcome: "invalid",
|
|
550
|
+
reason: [
|
|
551
|
+
"Invalid description:",
|
|
552
|
+
...problems.map((problem) => `- ${problem}`),
|
|
553
|
+
].join("\n"),
|
|
554
|
+
};
|
|
555
|
+
return {
|
|
556
|
+
outcome: "ok",
|
|
557
|
+
reason: "Structured output and invariants valid: description",
|
|
558
|
+
data: { description },
|
|
559
|
+
};
|
|
560
|
+
}), { ok: "deliver", invalid: retry("describe", 2) }),
|
|
561
|
+
deliver: node(code(["done", "attach"], async ({ dir, state, log }) => {
|
|
562
|
+
const { slug, base, plan, specPath, description } = facts(state);
|
|
366
563
|
const commit = await git.commit(dir, `${plan.commit}\n\nSpec: ${specPath}`);
|
|
367
564
|
log(`Committed "${plan.commit}" as ${short(commit)}`);
|
|
368
565
|
await git.forcePush(dir, slug);
|
|
369
566
|
log(`Pushed ${slug}, replacing any earlier version of the branch`);
|
|
567
|
+
// Its screenshots are attached once it is open: a failed upload
|
|
568
|
+
// leaves the pull request recorded, and resuming attaches them.
|
|
569
|
+
const attach = description.screenshots.length > 0;
|
|
370
570
|
const pullRequest = await github.openPullRequest(dir, {
|
|
371
571
|
base,
|
|
372
572
|
head: slug,
|
|
373
573
|
title: plan.commit,
|
|
374
|
-
body: pullRequestBody(
|
|
375
|
-
criteria,
|
|
376
|
-
implementation,
|
|
377
|
-
review,
|
|
378
|
-
checks,
|
|
379
|
-
skippedChecks,
|
|
380
|
-
reviewRounds: reviewRounds(state),
|
|
381
|
-
specPath,
|
|
382
|
-
planPath,
|
|
383
|
-
baseCommit,
|
|
384
|
-
runId: state.id,
|
|
385
|
-
}),
|
|
574
|
+
body: pullRequestBody(pullRequestFacts(state, description, attach)),
|
|
386
575
|
});
|
|
387
576
|
log(`Pull request: ${pullRequest}`);
|
|
388
577
|
await git.switchTo(dir, base);
|
|
389
578
|
log(`Back on ${base}`);
|
|
390
|
-
return {
|
|
579
|
+
return {
|
|
580
|
+
outcome: attach ? "attach" : "done",
|
|
581
|
+
reason: attach
|
|
582
|
+
? "Pull request open, its screenshots to attach"
|
|
583
|
+
: "Pull request open",
|
|
584
|
+
data: { pullRequest },
|
|
585
|
+
};
|
|
586
|
+
}), { done: END, attach: "attach" }),
|
|
587
|
+
attach: node(step(async ({ dir, state, log }) => {
|
|
588
|
+
const { pullRequest, description, screenshotsDir } = facts(state);
|
|
589
|
+
const files = description.screenshots.map(({ file }) => file);
|
|
590
|
+
try {
|
|
591
|
+
await github.attachImages(screenshotsDir, pullRequest, pullRequestBody(pullRequestFacts(state, description, false)), files);
|
|
592
|
+
}
|
|
593
|
+
catch (error) {
|
|
594
|
+
// gh writes the body even when only some uploads succeeded: the
|
|
595
|
+
// pull request says again that its screenshots are coming.
|
|
596
|
+
await github
|
|
597
|
+
.editBody(dir, pullRequest, pullRequestBody(pullRequestFacts(state, description, true)))
|
|
598
|
+
.catch((restore) => log(`Could not put back the pull request's body: ${message(restore)}`));
|
|
599
|
+
throw error;
|
|
600
|
+
}
|
|
601
|
+
log(`Attached ${files.length} screenshot${files.length === 1 ? "" : "s"} to ${pullRequest}`);
|
|
391
602
|
}), { ok: END }),
|
|
392
603
|
},
|
|
393
604
|
resumeProblem,
|
|
394
605
|
// Also called for a failed run, which opened no pull request.
|
|
395
606
|
presentResult: (state) => {
|
|
396
|
-
const { pullRequest, checks } = facts(state);
|
|
607
|
+
const { pullRequest, checks, description, acceptedReview, plan } = facts(state);
|
|
397
608
|
if (typeof pullRequest !== "string")
|
|
398
609
|
return [];
|
|
399
610
|
const rounds = reviewRounds(state);
|
|
611
|
+
const after = rounds === 0
|
|
612
|
+
? "at the first review"
|
|
613
|
+
: `after ${rounds} round${rounds === 1 ? "" : "s"} of changes`;
|
|
400
614
|
return [
|
|
401
615
|
`Pull request: ${pullRequest}`,
|
|
402
|
-
|
|
616
|
+
acceptedReview
|
|
617
|
+
? `Review: delivered by the operator with open findings ${after}`
|
|
618
|
+
: `Review: approved ${after}`,
|
|
403
619
|
`Checks passed: ${checks.map(({ name }) => name).join(", ")}`,
|
|
620
|
+
// Runs delivered by an earlier factory have no description, and their
|
|
621
|
+
// plans no interpretations.
|
|
622
|
+
...(description ? [mergeDangerLine(description)] : []),
|
|
623
|
+
...(plan?.interpretations?.length
|
|
624
|
+
? [interpretationsLine(plan.interpretations.length)]
|
|
625
|
+
: []),
|
|
404
626
|
];
|
|
405
627
|
},
|
|
406
628
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implement.js","sourceRoot":"","sources":["../../../src/app/workflows/implement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"implement.js","sourceRoot":"","sources":["../../../src/app/workflows/implement.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/help.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const help = "factory \u2014 this repository's issues, from spec to pull request, with .factory/\n\n factory init create .factory/ here and install it\n factory doctor [--json] check Node, workflows, prompts and runtimes\n factory run WORKFLOW [--INPUT VALUE\u2026] [--max-cost-usd USD] [--json]\n factory resume RUN_ID [--max-cost-usd USD] [--json]\n factory status [RUN_ID] [--json] list this repository's runs, or show one\n factory ui [--port N] serve the live read-only Kanban, runs under /runs/\n\nCommands other than init and help use the nearest .factory/ in the current directory\nor a parent, with the factory version installed there. factory doctor lists each\nworkflow's input options. factory run issue-save saves an issue or its spec;\nfactory run implement --issue SLUG takes a pushed spec to a pull request.\n.factory/.env is loaded; shell variables take precedence.\n--max-cost-usd fails the run once its agents' announced cost exceeds it, instead\nof the workflow's maxCostUsd. --json writes events, then the result, as JSON lines.\nCtrl-C stops a run, which ends failed; press it again to quit at once.\nfactory resume starts a failed run again at the stage where it stopped, with its\ndata and its agents' conversations.\nExit codes: 0 completed, 1 error or failed run, 130 second Ctrl-C.\n";
|
|
1
|
+
export declare const help = "factory \u2014 this repository's issues, from spec to pull request, with .factory/\n\n factory init create .factory/ here and install it\n factory doctor [--json] check Node, workflows, prompts and runtimes\n factory run WORKFLOW [--INPUT VALUE\u2026] [--max-cost-usd USD] [--json]\n factory resume RUN_ID [--max-cost-usd USD] [--accept-review] [--json]\n factory status [RUN_ID] [--json] list this repository's runs, or show one\n factory ui [--port N] serve the live read-only Kanban, runs under /runs/\n\nCommands other than init and help use the nearest .factory/ in the current directory\nor a parent, with the factory version installed there. factory doctor lists each\nworkflow's input options. factory run issue-save saves an issue or its spec;\nfactory run implement --issue SLUG takes a pushed spec to a pull request.\n.factory/.env is loaded; shell variables take precedence.\n--max-cost-usd fails the run once its agents' announced cost exceeds it, instead\nof the workflow's maxCostUsd. --json writes events, then the result, as JSON lines.\nCtrl-C stops a run, which ends failed; press it again to quit at once.\nfactory resume starts a failed run again at the stage where it stopped, with its\ndata and its agents' conversations; a run stopped at a maximum of corrections gets\none more. --accept-review delivers an implement run its review stopped by asking\nfor changes, with what it still asks for shown open in the pull request.\nExit codes: 0 completed, 1 error or failed run, 130 second Ctrl-C.\n";
|