@slowcook-ai/cli 0.7.10 → 0.7.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/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/brew/agent.d.ts.map +1 -1
- package/dist/commands/brew/agent.js +170 -9
- package/dist/commands/brew/agent.js.map +1 -1
- package/dist/commands/brew/halt.d.ts +1 -1
- package/dist/commands/brew/halt.d.ts.map +1 -1
- package/dist/commands/brew/halt.js +26 -0
- package/dist/commands/brew/halt.js.map +1 -1
- package/dist/commands/brew/prompts.d.ts +15 -1
- package/dist/commands/brew/prompts.d.ts.map +1 -1
- package/dist/commands/brew/prompts.js +46 -0
- package/dist/commands/brew/prompts.js.map +1 -1
- package/dist/commands/dispatch/index.d.ts +2 -0
- package/dist/commands/dispatch/index.d.ts.map +1 -0
- package/dist/commands/dispatch/index.js +227 -0
- package/dist/commands/dispatch/index.js.map +1 -0
- package/package.json +3 -3
package/dist/cli.js
CHANGED
|
@@ -13,6 +13,7 @@ import { testgen } from "./commands/testgen/index.js";
|
|
|
13
13
|
import { catchup } from "./commands/catchup/index.js";
|
|
14
14
|
import { brew } from "./commands/brew/index.js";
|
|
15
15
|
import { map } from "./commands/map/index.js";
|
|
16
|
+
import { dispatch } from "./commands/dispatch/index.js";
|
|
16
17
|
// Read VERSION from package.json at runtime so the CLI's self-reported
|
|
17
18
|
// version, the spec's `refined_by` field, and the init template's workflow
|
|
18
19
|
// pin all stay in lockstep with the package version. Prevents the silent
|
|
@@ -45,6 +46,7 @@ Usage:
|
|
|
45
46
|
slowcook catchup [--dry-run] [--cwd <path>]
|
|
46
47
|
slowcook brew --story <id> [--budget-usd <n>] [--max-iterations <n>] [--model <id>]
|
|
47
48
|
slowcook map (generate|check) [--cwd <path>] [--out <path>] [--md <path>]
|
|
49
|
+
slowcook dispatch <step> [inputs...]
|
|
48
50
|
slowcook version
|
|
49
51
|
slowcook help
|
|
50
52
|
|
|
@@ -60,6 +62,7 @@ Commands available in ${VERSION}:
|
|
|
60
62
|
catchup Detect + run pipeline steps that should have triggered but didn't.
|
|
61
63
|
brew Ratcheted implementation loop: flip red tests to green for one story.
|
|
62
64
|
map Generate / check the repo-wide code map (APIs, pages, components, helpers, types).
|
|
65
|
+
dispatch Trigger a slowcook GitHub Actions workflow remotely (brew / testgen / refine).
|
|
63
66
|
|
|
64
67
|
Coming in later versions:
|
|
65
68
|
review, dashboard
|
|
@@ -103,6 +106,9 @@ async function main() {
|
|
|
103
106
|
case "map":
|
|
104
107
|
await map(args.slice(1), VERSION);
|
|
105
108
|
return;
|
|
109
|
+
case "dispatch":
|
|
110
|
+
await dispatch(args.slice(1));
|
|
111
|
+
return;
|
|
106
112
|
case "version":
|
|
107
113
|
case "--version":
|
|
108
114
|
case "-v":
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/agent.ts"],"names":[],"mappings":"AAaA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAKL,KAAK,UAAU,EAEhB,MAAM,WAAW,CAAC;AAKnB,4EAA4E;AAE5E,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uEAAuE;IACvE,WAAW,EAAE,WAAW,CAAC;IACzB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,iEAAiE;AAEjE,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAkC3C,wBAAsB,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/agent.ts"],"names":[],"mappings":"AAaA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAKL,KAAK,UAAU,EAEhB,MAAM,WAAW,CAAC;AAKnB,4EAA4E;AAE5E,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uEAAuE;IACvE,WAAW,EAAE,WAAW,CAAC;IACzB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,iEAAiE;AAEjE,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAkC3C,wBAAsB,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CA6kBpE;AAkPD,sFAAsF;AAEtF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,iBAAiB,CA2CnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmDpE;AAikBD,wEAAwE;AAExE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAe7D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAI7D;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhE"}
|
|
@@ -65,6 +65,10 @@ export async function runBrew(ctx) {
|
|
|
65
65
|
summary: `Test runner failed to produce usable output on the baseline run. Error: ${baseline.error ?? "(unknown)"}. Fix the runner before brewing.`,
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
+
// Fix 1 (0.7.14): keep a lookup of failure messages per test id so
|
|
69
|
+
// each iteration's turn prompt can include the target test's failure
|
|
70
|
+
// output. Seeds from baseline; refreshes after each test run below.
|
|
71
|
+
let failureMessagesByTestId = buildFailureMap(baseline.tests);
|
|
68
72
|
let greenSet = new Set(baseline.tests.filter((t) => t.status === "passed").map((t) => t.id));
|
|
69
73
|
let redSet = new Set(baseline.tests.filter((t) => t.status !== "passed").map((t) => t.id));
|
|
70
74
|
const discoveredIds = new Set([...greenSet, ...redSet]);
|
|
@@ -101,6 +105,11 @@ export async function runBrew(ctx) {
|
|
|
101
105
|
const storyRedSet = () => new Set([...redSet].filter((t) => expectedTestIds.has(t)));
|
|
102
106
|
let spendUsd = 0;
|
|
103
107
|
let stagnation = 0;
|
|
108
|
+
/** How many consecutive iterations produced zero file edits. Resets on
|
|
109
|
+
* any iteration with files_touched > 0 (regardless of outcome). The
|
|
110
|
+
* agent going silent for 2+ turns signals analysis paralysis — more
|
|
111
|
+
* iterations won't recover, so halt early and save budget. */
|
|
112
|
+
let consecutiveNoEdits = 0;
|
|
104
113
|
const iterationLogs = [];
|
|
105
114
|
const priorAttempts = [];
|
|
106
115
|
let currentTarget = pickTarget(storyRedSet(), null);
|
|
@@ -164,10 +173,22 @@ export async function runBrew(ctx) {
|
|
|
164
173
|
}
|
|
165
174
|
// Snapshot before turn (for revert)
|
|
166
175
|
const snapshot = snapshotAllowedPaths(ctx);
|
|
167
|
-
// Run one agent turn
|
|
176
|
+
// Run one agent turn. Fix 1 (0.7.14): include the target test's
|
|
177
|
+
// failure message + a few peripheral ones so the agent sees ground
|
|
178
|
+
// truth instead of having to reason abstractly.
|
|
179
|
+
const targetFailureMessage = failureMessagesByTestId.get(currentTarget);
|
|
180
|
+
const otherStoryFailures = [...redSet]
|
|
181
|
+
.filter((t) => t !== currentTarget && expectedTestIds.has(t))
|
|
182
|
+
.slice(0, 5)
|
|
183
|
+
.map((id) => ({
|
|
184
|
+
test_id: id,
|
|
185
|
+
message: failureMessagesByTestId.get(id) ?? "(no failure message captured)",
|
|
186
|
+
}));
|
|
168
187
|
const turnResult = await runTurn(ctx, {
|
|
169
188
|
iteration,
|
|
170
189
|
target: currentTarget,
|
|
190
|
+
targetFailureMessage,
|
|
191
|
+
otherFailureMessages: otherStoryFailures,
|
|
171
192
|
greenList: [...greenSet],
|
|
172
193
|
redList: [...redSet],
|
|
173
194
|
priorAttempts,
|
|
@@ -194,8 +215,55 @@ export async function runBrew(ctx) {
|
|
|
194
215
|
files_touched: [],
|
|
195
216
|
});
|
|
196
217
|
stagnation += 1;
|
|
218
|
+
consecutiveNoEdits += 1;
|
|
219
|
+
// Log the no-edits event so CI stdout shows the stall live.
|
|
220
|
+
// Without this, the dominant-pattern stall (agent reasoning but
|
|
221
|
+
// never calling a tool) looks identical in logs to a fast
|
|
222
|
+
// successful turn — only the spend-delta on the NEXT iter's
|
|
223
|
+
// START line reveals tokens were burned.
|
|
224
|
+
appendRunLog(ctx, `ITER ${iteration} NO-EDITS (agent made no tool calls this turn) spend_delta=$${turnResult.spendDelta.toFixed(2)} consecutive_no_edits=${consecutiveNoEdits} stagnation=${stagnation}/${STAGNATION_CAP}`);
|
|
225
|
+
// Fix 3 (0.7.14): voluntary-halt escape hatch. If the agent's
|
|
226
|
+
// rationale ends with "Considering halting voluntarily" the model
|
|
227
|
+
// has self-reported that it can't make progress — halt immediately
|
|
228
|
+
// with a diagnostic reason rather than burning more budget.
|
|
229
|
+
const selfReportStuck = /considering\s+halting\s+voluntarily/i.test(turnResult.rationale);
|
|
230
|
+
if (selfReportStuck) {
|
|
231
|
+
appendRunLog(ctx, `ITER ${iteration} AGENT_SELF_REPORTED_STUCK — halting early (rationale contains 'Considering halting voluntarily')`);
|
|
232
|
+
return haltFor(ctx, {
|
|
233
|
+
reason: "AGENT_SELF_REPORTED_STUCK",
|
|
234
|
+
iterations: iteration,
|
|
235
|
+
checkpoints: iterationLogs.filter((l) => l.outcome === "checkpoint").length,
|
|
236
|
+
greenCount: greenSet.size,
|
|
237
|
+
totalCount: expectedTestIds.size,
|
|
238
|
+
spendUsd,
|
|
239
|
+
iterationLogs,
|
|
240
|
+
summary: `Agent voluntarily halted on iter ${iteration} — rationale contained 'Considering halting voluntarily'. Target: ${currentTarget}. Full rationale in last_agent_rationale describes the specific mismatch it couldn't resolve.`,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
// Fix 4 (0.7.14): two consecutive zero-edit iterations → halt.
|
|
244
|
+
// Model spent context tokens reasoning but never emitted a tool
|
|
245
|
+
// call. Further iterations won't spontaneously produce useful
|
|
246
|
+
// output; surface the stall instead of paying for it.
|
|
247
|
+
if (consecutiveNoEdits >= 2) {
|
|
248
|
+
appendRunLog(ctx, `ITER ${iteration} AGENT_STALLED_NO_EDITS — halting after ${consecutiveNoEdits} consecutive zero-edit iterations`);
|
|
249
|
+
return haltFor(ctx, {
|
|
250
|
+
reason: "AGENT_STALLED_NO_EDITS",
|
|
251
|
+
iterations: iteration,
|
|
252
|
+
checkpoints: iterationLogs.filter((l) => l.outcome === "checkpoint").length,
|
|
253
|
+
greenCount: greenSet.size,
|
|
254
|
+
totalCount: expectedTestIds.size,
|
|
255
|
+
spendUsd,
|
|
256
|
+
iterationLogs,
|
|
257
|
+
summary: `Agent went silent for ${consecutiveNoEdits} consecutive iterations (no tool-use edits despite burning context tokens) on target: ${currentTarget}. Not a productive pattern — halting early to preserve budget.`,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
197
260
|
continue;
|
|
198
261
|
}
|
|
262
|
+
// Reset the no-edits counter whenever the agent emitted anything,
|
|
263
|
+
// even if later stages revert for other reasons (frozen-path, overflow,
|
|
264
|
+
// regression, no-progress). The counter tracks "did the agent actually
|
|
265
|
+
// produce tool calls," not "did the iteration succeed."
|
|
266
|
+
consecutiveNoEdits = 0;
|
|
199
267
|
// Constraint checks on the applied diff
|
|
200
268
|
const diff = computeDiff(snapshot);
|
|
201
269
|
const frozenHit = diff.changedPaths.find((p) => isFrozenPath(p, ctx.frozenPaths));
|
|
@@ -219,6 +287,7 @@ export async function runBrew(ctx) {
|
|
|
219
287
|
files_touched: diff.changedPaths,
|
|
220
288
|
});
|
|
221
289
|
stagnation += 1;
|
|
290
|
+
appendRunLog(ctx, `ITER ${iteration} REJECT frozen-path ${frozenHit} (also touched ${diff.changedPaths.length - 1} other file(s)) spend_delta=$${turnResult.spendDelta.toFixed(2)}`);
|
|
222
291
|
continue;
|
|
223
292
|
}
|
|
224
293
|
const scopeHit = diff.changedPaths.find((p) => !isAllowedPath(p, ctx.allowedPaths) &&
|
|
@@ -244,6 +313,7 @@ export async function runBrew(ctx) {
|
|
|
244
313
|
files_touched: diff.changedPaths,
|
|
245
314
|
});
|
|
246
315
|
stagnation += 1;
|
|
316
|
+
appendRunLog(ctx, `ITER ${iteration} REJECT scope-violation ${scopeHit} (outside allowed_paths) spend_delta=$${turnResult.spendDelta.toFixed(2)}`);
|
|
247
317
|
continue;
|
|
248
318
|
}
|
|
249
319
|
const overflowed = diff.linesTotal > DIFF_LINE_CAP || diff.changedPaths.length > DIFF_FILE_CAP;
|
|
@@ -267,6 +337,7 @@ export async function runBrew(ctx) {
|
|
|
267
337
|
files_touched: diff.changedPaths,
|
|
268
338
|
});
|
|
269
339
|
stagnation += 1;
|
|
340
|
+
appendRunLog(ctx, `ITER ${iteration} REJECT overflow ${diff.linesTotal} lines × ${diff.changedPaths.length} files (caps: ${DIFF_LINE_CAP}×${DIFF_FILE_CAP}) — agent didn't call justify_diff_overflow spend_delta=$${turnResult.spendDelta.toFixed(2)}`);
|
|
270
341
|
continue;
|
|
271
342
|
}
|
|
272
343
|
// Run tests to see the outcome of this turn
|
|
@@ -295,6 +366,11 @@ export async function runBrew(ctx) {
|
|
|
295
366
|
summary: `Test runner broke mid-brew after iteration ${iteration}. Error: ${result.error ?? "(unknown)"}.`,
|
|
296
367
|
});
|
|
297
368
|
}
|
|
369
|
+
// 0.7.14 Fix 1: refresh failure-message map from the latest run so
|
|
370
|
+
// the next iteration's turn prompt has up-to-date `Received:` payloads.
|
|
371
|
+
// (Survives revert-to-snapshot — the MAP is memoised, not the test
|
|
372
|
+
// runtime state.)
|
|
373
|
+
failureMessagesByTestId = buildFailureMap(result.tests);
|
|
298
374
|
const newGreen = new Set(result.tests.filter((t) => t.status === "passed").map((t) => t.id));
|
|
299
375
|
const newRed = new Set(result.tests.filter((t) => t.status !== "passed").map((t) => t.id));
|
|
300
376
|
const regressions = [...greenSet].filter((t) => !newGreen.has(t));
|
|
@@ -449,9 +525,23 @@ async function runTurn(ctx, args) {
|
|
|
449
525
|
budget_spent_usd: args.spendUsd,
|
|
450
526
|
budget_cap_usd: ctx.budgetUsd,
|
|
451
527
|
previous_attempts: args.priorAttempts.slice(-3),
|
|
528
|
+
target_failure_message: args.targetFailureMessage,
|
|
529
|
+
other_failure_messages: args.otherFailureMessages,
|
|
452
530
|
});
|
|
453
531
|
const filesTouched = new Set();
|
|
454
532
|
let rationale = "";
|
|
533
|
+
/** 0.7.15: fallback rationale — the most recent text block from any
|
|
534
|
+
* round. Previously rationale was only captured on text-only
|
|
535
|
+
* completion; when the agent hit the 12-round tool-loop cap without
|
|
536
|
+
* emitting a text-only response, rationale stayed empty and the halt
|
|
537
|
+
* report was diagnostic-blind. Now we track the last text across all
|
|
538
|
+
* rounds so the operator always has something to read. */
|
|
539
|
+
let latestTextBlock = "";
|
|
540
|
+
/** 0.7.15: per-turn tool-call trace for the iter log. Gives the
|
|
541
|
+
* operator visibility into what the agent is DOING on a stuck turn —
|
|
542
|
+
* not just "no edits." Previously only write_file calls were
|
|
543
|
+
* observable via filesTouched; now every tool call is logged. */
|
|
544
|
+
const toolCallTrace = [];
|
|
455
545
|
let overflowJustification;
|
|
456
546
|
let spendDelta = 0;
|
|
457
547
|
// Tool-use loop: call the model, execute tool_use blocks, feed tool_results back, repeat
|
|
@@ -477,21 +567,28 @@ async function runTurn(ctx, args) {
|
|
|
477
567
|
messages,
|
|
478
568
|
});
|
|
479
569
|
spendDelta += costUsdForResponse(response, ctx.model);
|
|
480
|
-
// Capture the assistant turn + any
|
|
570
|
+
// Capture the assistant turn + any text (for the latest-text fallback)
|
|
481
571
|
messages.push({ role: "assistant", content: response.content });
|
|
572
|
+
const textInThisRound = response.content
|
|
573
|
+
.filter((b) => b.type === "text")
|
|
574
|
+
.map((b) => b.text)
|
|
575
|
+
.join("\n")
|
|
576
|
+
.trim();
|
|
577
|
+
if (textInThisRound) {
|
|
578
|
+
latestTextBlock = textInThisRound.slice(0, 2000);
|
|
579
|
+
}
|
|
482
580
|
const toolBlocks = response.content.filter((b) => b.type === "tool_use");
|
|
483
581
|
if (toolBlocks.length === 0) {
|
|
484
|
-
// Text-only ending →
|
|
485
|
-
|
|
486
|
-
.filter((b) => b.type === "text")
|
|
487
|
-
.map((b) => b.text)
|
|
488
|
-
.join("\n")
|
|
489
|
-
.trim();
|
|
490
|
-
rationale = text.slice(0, 2000);
|
|
582
|
+
// Text-only ending → this is the real rationale
|
|
583
|
+
rationale = textInThisRound.slice(0, 2000);
|
|
491
584
|
break;
|
|
492
585
|
}
|
|
493
586
|
const toolResults = [];
|
|
494
587
|
for (const tool of toolBlocks) {
|
|
588
|
+
// 0.7.15: trace every tool call so "no-edits" iterations aren't
|
|
589
|
+
// silent in the log — operator sees what the agent explored.
|
|
590
|
+
const inputSummary = summarizeToolInput(tool);
|
|
591
|
+
toolCallTrace.push(`${tool.name}${inputSummary}`);
|
|
495
592
|
const result = handleToolUse(ctx, tool);
|
|
496
593
|
if (tool.name === "write_file") {
|
|
497
594
|
const input = tool.input;
|
|
@@ -514,6 +611,21 @@ async function runTurn(ctx, args) {
|
|
|
514
611
|
if (response.stop_reason !== "tool_use")
|
|
515
612
|
break;
|
|
516
613
|
}
|
|
614
|
+
// If we hit the tool-round cap without a text-only completion, fall
|
|
615
|
+
// back to the latest text we saw. Better than an empty rationale —
|
|
616
|
+
// the operator at least knows what the agent was thinking before it
|
|
617
|
+
// got stuck in exploration.
|
|
618
|
+
if (!rationale && latestTextBlock) {
|
|
619
|
+
rationale = `[no text-only completion within ${12} tool rounds; last text from exploration:]\n\n${latestTextBlock}`;
|
|
620
|
+
}
|
|
621
|
+
// Log the tool-call trace so the iter log shows exploration patterns.
|
|
622
|
+
// Trimmed + head-only to avoid flooding the log on long turns.
|
|
623
|
+
if (toolCallTrace.length > 0) {
|
|
624
|
+
const trimmed = toolCallTrace.length > 20
|
|
625
|
+
? [...toolCallTrace.slice(0, 20), `… (+${toolCallTrace.length - 20} more)`]
|
|
626
|
+
: toolCallTrace;
|
|
627
|
+
appendRunLog(ctx, `ITER ${args.iteration} TOOLS ${trimmed.length}/${toolCallTrace.length} calls: ${trimmed.join(", ")}`);
|
|
628
|
+
}
|
|
517
629
|
return {
|
|
518
630
|
filesTouched: [...filesTouched],
|
|
519
631
|
rationale,
|
|
@@ -906,6 +1018,12 @@ function regenerateCodeMap(ctx, when) {
|
|
|
906
1018
|
* logging failed.
|
|
907
1019
|
*/
|
|
908
1020
|
function appendRunLog(ctx, line) {
|
|
1021
|
+
// Mirror to stdout so GH Actions / terminal tails show per-iteration
|
|
1022
|
+
// progress (spend deltas, files touched, green-count deltas, ratchet
|
|
1023
|
+
// outcomes) live — not just the iteration headers that were the only
|
|
1024
|
+
// previous stdout signal. Operators could read this trail only by
|
|
1025
|
+
// downloading the halt artifact before 0.7.13.
|
|
1026
|
+
process.stdout.write(` ${line}\n`);
|
|
909
1027
|
if (!ctx.runLogPath)
|
|
910
1028
|
return;
|
|
911
1029
|
try {
|
|
@@ -920,6 +1038,49 @@ function appendRunLog(ctx, line) {
|
|
|
920
1038
|
function runTestSuite(ctx) {
|
|
921
1039
|
return runTests(ctx.stackConfig, { cwd: ctx.repoRoot });
|
|
922
1040
|
}
|
|
1041
|
+
/**
|
|
1042
|
+
* Build a test-id → failure-message lookup from a RunResult. Used by
|
|
1043
|
+
* the turn prompt to surface vitest's actual failure output for the
|
|
1044
|
+
* current target test (and optionally for other red tests).
|
|
1045
|
+
*/
|
|
1046
|
+
/**
|
|
1047
|
+
* 0.7.15: compact one-line summary of a tool-use block's input for
|
|
1048
|
+
* logging. Keeps the per-turn tool trace readable — no JSON payload
|
|
1049
|
+
* dumps, just the operation + the relevant path/name/method.
|
|
1050
|
+
*/
|
|
1051
|
+
function summarizeToolInput(tool) {
|
|
1052
|
+
const input = tool.input;
|
|
1053
|
+
const pick = (keys) => {
|
|
1054
|
+
for (const k of keys) {
|
|
1055
|
+
const v = input[k];
|
|
1056
|
+
if (typeof v === "string" && v)
|
|
1057
|
+
return `(${k}=${v.slice(0, 80)})`;
|
|
1058
|
+
}
|
|
1059
|
+
return "";
|
|
1060
|
+
};
|
|
1061
|
+
switch (tool.name) {
|
|
1062
|
+
case "find_handler":
|
|
1063
|
+
return `(${input.method ?? "?"} ${input.path ?? "?"})`;
|
|
1064
|
+
case "outline_file":
|
|
1065
|
+
case "read_file":
|
|
1066
|
+
case "write_file":
|
|
1067
|
+
case "list_directory":
|
|
1068
|
+
return pick(["path"]);
|
|
1069
|
+
case "justify_diff_overflow":
|
|
1070
|
+
return pick(["reason_category"]);
|
|
1071
|
+
default:
|
|
1072
|
+
return "";
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
function buildFailureMap(tests) {
|
|
1076
|
+
const map = new Map();
|
|
1077
|
+
for (const t of tests) {
|
|
1078
|
+
if (t.status !== "passed" && t.failure_message) {
|
|
1079
|
+
map.set(t.id, t.failure_message);
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
return map;
|
|
1083
|
+
}
|
|
923
1084
|
/** ------------------------- Target selection ------------------------- */
|
|
924
1085
|
function pickTarget(redTests, previous) {
|
|
925
1086
|
if (redTests.size === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/brew/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/brew/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export interface HaltReport {
|
|
|
22
22
|
/** Suggested human actions. At least one MUST be present — if not, it's a halt-logic bug. */
|
|
23
23
|
suggested_actions: SuggestedAction[];
|
|
24
24
|
}
|
|
25
|
-
export type HaltReason = "SUCCESS_ALL_GREEN" | "BUDGET_EXHAUSTED" | "ITERATION_CAP" | "STAGNATION_CAP" | "WALL_CLOCK" | "TESTS_NEVER_GREEN" | "TEST_RUNNER_BROKEN" | "MANIFEST_DRIFT" | "VIOLATION_STREAK" | "API_ERROR";
|
|
25
|
+
export type HaltReason = "SUCCESS_ALL_GREEN" | "BUDGET_EXHAUSTED" | "ITERATION_CAP" | "STAGNATION_CAP" | "WALL_CLOCK" | "TESTS_NEVER_GREEN" | "TEST_RUNNER_BROKEN" | "MANIFEST_DRIFT" | "VIOLATION_STREAK" | "API_ERROR" | "AGENT_STALLED_NO_EDITS" | "AGENT_SELF_REPORTED_STUCK";
|
|
26
26
|
export interface IterationDiff {
|
|
27
27
|
iteration: number;
|
|
28
28
|
target_test_id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"halt.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/halt.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,MAAM,CAAC;IAC9B;0EACsE;IACtE,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6FAA6F;IAC7F,iBAAiB,EAAE,eAAe,EAAE,CAAC;CACtC;AAED,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"halt.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/halt.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,MAAM,CAAC;IAC9B;0EACsE;IACtE,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6FAA6F;IAC7F,iBAAiB,EAAE,eAAe,EAAE,CAAC;CACtC;AAED,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,WAAW,GAEX,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EACH,YAAY,GACZ,qBAAqB,GACrB,sBAAsB,GACtB,mBAAmB,GACnB,sBAAsB,GACtB,oBAAoB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb;8EAC0E;IAC1E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAGtE;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAkE/D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAClD,eAAe,EAAE,CA2InB"}
|
|
@@ -182,6 +182,32 @@ export function defaultSuggestedActions(reason, ctx) {
|
|
|
182
182
|
description: "If the error was environmental (credit, rate limit), fix it and re-trigger brew. The run was aborted cleanly — no state on disk to clean up besides the (empty) brew branch.",
|
|
183
183
|
},
|
|
184
184
|
];
|
|
185
|
+
case "AGENT_STALLED_NO_EDITS":
|
|
186
|
+
return [
|
|
187
|
+
{
|
|
188
|
+
id: "inspect_last_rationale",
|
|
189
|
+
label: "Read the agent's last rationale in the halt report",
|
|
190
|
+
description: "Agent went silent — produced no tool-use edits for 2+ consecutive iterations despite burning context tokens. Often signals the model decided it's stuck but didn't surface it. The halt report's `last_agent_rationale` + the iteration_diffs show what the agent was reasoning about.",
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
id: "hand_patch_or_different_target",
|
|
194
|
+
label: "Hand-patch the blocker or choose a different target test",
|
|
195
|
+
description: "If the agent's rationale hints at a specific mismatch (e.g., 'test expects X but component renders Y'), hand-patch that difference + re-run. Otherwise split the target test into smaller assertions so progress is more incremental.",
|
|
196
|
+
},
|
|
197
|
+
];
|
|
198
|
+
case "AGENT_SELF_REPORTED_STUCK":
|
|
199
|
+
return [
|
|
200
|
+
{
|
|
201
|
+
id: "read_self_reported_reason",
|
|
202
|
+
label: "Read the agent's self-reported stuck reason",
|
|
203
|
+
description: "Agent voluntarily halted via the 'Considering halting voluntarily' escape hatch. Its rationale describes a specific mismatch it couldn't resolve — that's your diagnostic starting point.",
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
id: "clarify_spec_or_hand_patch",
|
|
207
|
+
label: "Clarify the spec + add context, or hand-patch",
|
|
208
|
+
description: "If the agent's described mismatch is a genuine spec ambiguity, add detail and re-run. If it's a concrete bug the agent can't see (test assertion vs component output), hand-patch and let brew continue on the remaining red.",
|
|
209
|
+
},
|
|
210
|
+
];
|
|
185
211
|
}
|
|
186
212
|
}
|
|
187
213
|
//# sourceMappingURL=halt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"halt.js","sourceRoot":"","sources":["../../../src/commands/brew/halt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"halt.js","sourceRoot":"","sources":["../../../src/commands/brew/halt.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* to reading and writing files, plus one "justify-overflow" tool for when it
|
|
8
8
|
* needs to break the graduality cap.
|
|
9
9
|
*/
|
|
10
|
-
export declare const BREW_SYSTEM = "You are the brewing implementer agent for slowcook \u2014 a rigorous TDD-first coding harness.\n\n## Your task per turn\n\nYou will be told one specific failing test (the **target**). Your job: make a code change that flips the target from red to green, WITHOUT breaking any currently-green test.\n\nAfter your turn ends, slowcook runs the test suite and applies a mechanical ratchet:\n\n- If any previously-green test now fails \u2192 your changes are **reverted entirely**.\n- If the target went green (and no regressions) \u2192 your changes become a **checkpoint**.\n- If nothing changed green/red \u2192 your changes are **reverted** (no progress = no commit).\n\nThis means: **you only keep changes that advance the green set.** Make real progress per turn, not exploratory edits.\n\n## Tools\n\n- **find_handler({ method, path })** \u2014 **call this FIRST for every `api_contract` entry in the spec.** Returns the exact handler file + function the brewing agent should edit (e.g. `POST /api/rewos` \u2192 `src/app/api/rewos/route.ts` :: `POST`). Saves the exploratory iteration where you'd otherwise grep for the route.\n- **outline_file(path)** \u2014 **prefer this over read_file for initial exploration.** Returns a compact outline (imports, top-level exports, signatures with line numbers) \u2014 ~200 tokens. Use this to decide whether a file is relevant before you read it fully.\n- **read_file(path)** \u2014 read a file's full contents. Only call this when you need to see inside a specific function body that outline_file flagged. Reading a file you don't need is the single biggest driver of wasted budget.\n- **list_directory(path)** \u2014 see what's in a directory. Useful when outline_file + find_handler don't give enough.\n- **write_file(path, contents)** \u2014 create or fully replace a file. Always read or outline first, then write the complete updated contents.\n- **justify_diff_overflow({ reason_category, affected_scope, narrative, proposed_substories_if_split? })** \u2014 call ONLY if your intended change must exceed the graduality soft-cap (200 lines across \u22645 files). Explain why.\n\nYou do NOT run tests. Slowcook runs them after your turn and tells you the result in the next turn's prompt.\n\n## Exploration strategy (cheap first, expensive last)\n\n**Start every turn by reading `.brewing/code-map.json`** (or its rendered\nsibling `.brewing/code-map.md`). Slowcook regenerates that file before\neach iteration \u2014 it's the up-to-date list of every API route, page,\ncomponent, helper, and domain type in the project, with JSDoc summaries,\nfile paths, and signatures. Think of it as the project's self-updating\nSwagger-for-everything. One `read_file` on it replaces a dozen exploratory\nreads.\n\nThen, in order:\n\n1. **Code map first** \u2014 `read_file('.brewing/code-map.json')`. Skim to\n see what already exists.\n2. For each api_contract entry relevant to the target test, **find_handler**\n to confirm the exact file + function (the code map also has this, but\n find_handler is a one-call shortcut).\n3. **outline_file** on each file the code map / find_handler points to,\n plus obvious neighbours (utils, types, helpers the spec references).\n4. **read_file** only the specific files + functions the outline flagged\n as needing changes.\n5. **write_file** the minimum change.\n\nA human doesn't read every file in a package to fix one test; neither should you.\n\n## UI component tests (tier-1 UI, target file ends in `.test.tsx`)\n\nWhen the target test is a UI component test (file path ends in `-ui.test.tsx`), you're editing React/TSX \u2014 typically `src/components/**/*.tsx` or client pages at `src/app/**/page.tsx`. Constraints:\n\n- **Import path is the single source of truth** \u2014 the test file imports the component from some path; create / edit the file at that path. Don't rename.\n- **Stubs you find with a `@slowcook-stub` marker on line 1 are yours to replace.** Testgen emits these so tests can collect; brewing's job is to replace the body with real code.\n- **Helpers under `tests/helpers/` (e.g. `renderWithProviders`, `mockFetch`, `realShapedFetch`, `axe`) are fixed test infra** \u2014 never edit them. If a test imports from there, trust the import.\n- **Mocked `fetch` via `vi.stubGlobal`** means your component calls `fetch(\"/api/\u2026\")` like normal; the mock intercepts. Don't add branching for test-mode \u2014 call fetch cleanly in production shape.\n- **Accessibility asserts** (the mandatory axe test) care about semantic HTML \u2014 use `<main>`, `<nav>`, `<button>`, `<label htmlFor>`, proper heading hierarchy, `aria-*` attributes where needed. A non-accessible component fails the axe test.\n- **`\"use client\"` directive** at the top of the file when the component uses hooks (useState, useEffect, onClick handlers, etc.). Next.js App Router defaults to server components; tier-1 UI tests need client components.\n- **Props types** come from the spec + the test file's usage. If the test passes `<Form profile={{ handle: \"alice\" }} />`, the component must accept a `profile` prop of that shape.\n\n## Constraints\n\n- **One target per turn.** The prompt names ONE failing test. Work on that one. Incidental green flips on other tests are fine but not the goal.\n- **Minimum diff.** Smallest change that flips the target. Don't refactor. Don't anticipate future tests.\n- **Stay within `allowed_paths` from the spec.** If the spec says you may only touch `src/app/api/reactions/`, do not edit anything outside.\n- **Never modify frozen paths.** `tests/`, `.brewing/`, `vitest.config.*`, `package.json` scripts \u2014 read them, never write them. Slowcook will mechanically reject any such diff.\n- **Never use `test.skip` / `.todo` / `.only` / environment branches like `if (NODE_ENV === 'test')`.** Slowcook's static scan catches these and will reject the turn.\n\n## Output conventions\n\n- Use tools to make changes. Do not paste code in your text reply \u2014 slowcook only applies changes that come through `write_file`.\n- At the end of your turn, include a one-paragraph **rationale** explaining what you changed and why. Slowcook uses this for halt reports if brewing stalls.\n- If you need more information (read files, list directories), use the read tools first, THEN edit. Don't guess at file contents.\n\n## Failure recovery guidance\n\n- If you receive a prompt showing your previous turn was **reverted**, read the failure reason carefully. Typical causes:\n 1. **Regression** \u2014 one of your edits broke a currently-green test. Look at which test; your change touched its dependency.\n 2. **No progress** \u2014 your edits didn't change any test outcome. The code path you changed may not be exercised by the target test.\n 3. **Frozen-path violation** \u2014 you edited a file you shouldn't have. Don't.\n- On no-progress reverts, consider whether the target test is reachable from the code path you're editing, or whether it's testing a layer your code doesn't touch (e.g., the test calls `fetch('http://localhost:3000')` but no server is running).\n";
|
|
10
|
+
export declare const BREW_SYSTEM = "You are the brewing implementer agent for slowcook \u2014 a rigorous TDD-first coding harness.\n\n## Your task per turn\n\nYou will be told one specific failing test (the **target**). Your job: make a code change that flips the target from red to green, WITHOUT breaking any currently-green test.\n\nAfter your turn ends, slowcook runs the test suite and applies a mechanical ratchet:\n\n- If any previously-green test now fails \u2192 your changes are **reverted entirely**.\n- If the target went green (and no regressions) \u2192 your changes become a **checkpoint**.\n- If nothing changed green/red \u2192 your changes are **reverted** (no progress = no commit).\n\nThis means: **you only keep changes that advance the green set.** Make real progress per turn, not exploratory edits.\n\n## Tools\n\n- **find_handler({ method, path })** \u2014 **call this FIRST for every `api_contract` entry in the spec.** Returns the exact handler file + function the brewing agent should edit (e.g. `POST /api/rewos` \u2192 `src/app/api/rewos/route.ts` :: `POST`). Saves the exploratory iteration where you'd otherwise grep for the route.\n- **outline_file(path)** \u2014 **prefer this over read_file for initial exploration.** Returns a compact outline (imports, top-level exports, signatures with line numbers) \u2014 ~200 tokens. Use this to decide whether a file is relevant before you read it fully.\n- **read_file(path)** \u2014 read a file's full contents. Only call this when you need to see inside a specific function body that outline_file flagged. Reading a file you don't need is the single biggest driver of wasted budget.\n- **list_directory(path)** \u2014 see what's in a directory. Useful when outline_file + find_handler don't give enough.\n- **write_file(path, contents)** \u2014 create or fully replace a file. Always read or outline first, then write the complete updated contents.\n- **justify_diff_overflow({ reason_category, affected_scope, narrative, proposed_substories_if_split? })** \u2014 call ONLY if your intended change must exceed the graduality soft-cap (200 lines across \u22645 files). Explain why.\n\nYou do NOT run tests. Slowcook runs them after your turn and tells you the result in the next turn's prompt.\n\n## Exploration strategy (cheap first, expensive last)\n\n**Start every turn by reading `.brewing/code-map.json`** (or its rendered\nsibling `.brewing/code-map.md`). Slowcook regenerates that file before\neach iteration \u2014 it's the up-to-date list of every API route, page,\ncomponent, helper, and domain type in the project, with JSDoc summaries,\nfile paths, and signatures. Think of it as the project's self-updating\nSwagger-for-everything. One `read_file` on it replaces a dozen exploratory\nreads.\n\nThen, in order:\n\n1. **Code map first** \u2014 `read_file('.brewing/code-map.json')`. Skim to\n see what already exists.\n2. For each api_contract entry relevant to the target test, **find_handler**\n to confirm the exact file + function (the code map also has this, but\n find_handler is a one-call shortcut).\n3. **outline_file** on each file the code map / find_handler points to,\n plus obvious neighbours (utils, types, helpers the spec references).\n4. **read_file** only the specific files + functions the outline flagged\n as needing changes.\n5. **write_file** the minimum change.\n\nA human doesn't read every file in a package to fix one test; neither should you.\n\n## When you're stuck (same target, 2+ iterations without progress)\n\n**Check the `Why the target failed last run` section in every turn prompt FIRST.** The test's `Received:` / error message tells you what the assertion actually saw \u2014 that's ground truth. Don't spend iterations re-reading your own code looking for a bug you missed when the failure message is right there.\n\n**Specific anti-pattern to avoid:** \"the code LOOKS like it shouldn't render X, but the test says X is in the document\" \u2014 do NOT interpret this as \"there must be a subtle JSX evaluation bug.\" It almost always means another element matches the same query selector. Read the `Received:` payload to see which element the selector hit.\n\n**If after reading the failure message you genuinely can't tell what's in the DOM:** insert a `console.log(screen.debug())` in the test file OR a distinctive `data-testid=\"probe-iter-N\"` attribute in the component as a **one-iteration diagnostic**. The ratchet will revert your change (it's not a green gain), and on the NEXT iteration's prompt you'll see the DOM output in the failure message. Diagnostic probing is cheap; analysis paralysis is expensive.\n\n**If you still can't reconcile after 3 iterations on the same target \u2014 halt voluntarily.** End your rationale with a new line containing exactly:\n\n```\nConsidering halting voluntarily\n```\n\nFollowed by a concrete description of the specific mismatch you can't resolve (e.g. \"test queries getByRole('alert'); my component has one `role=\"alert\"` element gated on `!handle_confirmed`; I can't see what's in the rendered DOM when handle_confirmed=true.\"). Slowcook will halt immediately and surface your description to the operator. This saves ~15 iterations of silent spending; the operator picks up the diagnostic you handed them and either hand-patches the blocker or clarifies the spec.\n\n## UI component tests (tier-1 UI, target file ends in `.test.tsx`)\n\nWhen the target test is a UI component test (file path ends in `-ui.test.tsx`), you're editing React/TSX \u2014 typically `src/components/**/*.tsx` or client pages at `src/app/**/page.tsx`. Constraints:\n\n- **Import path is the single source of truth** \u2014 the test file imports the component from some path; create / edit the file at that path. Don't rename.\n- **Stubs you find with a `@slowcook-stub` marker on line 1 are yours to replace.** Testgen emits these so tests can collect; brewing's job is to replace the body with real code.\n- **Helpers under `tests/helpers/` (e.g. `renderWithProviders`, `mockFetch`, `realShapedFetch`, `axe`) are fixed test infra** \u2014 never edit them. If a test imports from there, trust the import.\n- **Mocked `fetch` via `vi.stubGlobal`** means your component calls `fetch(\"/api/\u2026\")` like normal; the mock intercepts. Don't add branching for test-mode \u2014 call fetch cleanly in production shape.\n- **Accessibility asserts** (the mandatory axe test) care about semantic HTML \u2014 use `<main>`, `<nav>`, `<button>`, `<label htmlFor>`, proper heading hierarchy, `aria-*` attributes where needed. A non-accessible component fails the axe test.\n- **`\"use client\"` directive** at the top of the file when the component uses hooks (useState, useEffect, onClick handlers, etc.). Next.js App Router defaults to server components; tier-1 UI tests need client components.\n- **Props types** come from the spec + the test file's usage. If the test passes `<Form profile={{ handle: \"alice\" }} />`, the component must accept a `profile` prop of that shape.\n\n## Constraints\n\n- **One target per turn.** The prompt names ONE failing test. Work on that one. Incidental green flips on other tests are fine but not the goal.\n- **Minimum diff.** Smallest change that flips the target. Don't refactor. Don't anticipate future tests.\n- **Stay within `allowed_paths` from the spec.** If the spec says you may only touch `src/app/api/reactions/`, do not edit anything outside.\n- **Never modify frozen paths.** `tests/`, `.brewing/`, `vitest.config.*`, `package.json` scripts \u2014 read them, never write them. Slowcook will mechanically reject any such diff.\n- **Never use `test.skip` / `.todo` / `.only` / environment branches like `if (NODE_ENV === 'test')`.** Slowcook's static scan catches these and will reject the turn.\n\n## Output conventions\n\n- Use tools to make changes. Do not paste code in your text reply \u2014 slowcook only applies changes that come through `write_file`.\n- At the end of your turn, include a one-paragraph **rationale** explaining what you changed and why. Slowcook uses this for halt reports if brewing stalls.\n- If you need more information (read files, list directories), use the read tools first, THEN edit. Don't guess at file contents.\n\n## Failure recovery guidance\n\n- If you receive a prompt showing your previous turn was **reverted**, read the failure reason carefully. Typical causes:\n 1. **Regression** \u2014 one of your edits broke a currently-green test. Look at which test; your change touched its dependency.\n 2. **No progress** \u2014 your edits didn't change any test outcome. The code path you changed may not be exercised by the target test.\n 3. **Frozen-path violation** \u2014 you edited a file you shouldn't have. Don't.\n- On no-progress reverts, consider whether the target test is reachable from the code path you're editing, or whether it's testing a layer your code doesn't touch (e.g., the test calls `fetch('http://localhost:3000')` but no server is running).\n";
|
|
11
11
|
export declare const BREW_TOOLS: ({
|
|
12
12
|
name: string;
|
|
13
13
|
description: string;
|
|
@@ -129,5 +129,19 @@ export declare function turnPrompt(args: {
|
|
|
129
129
|
note: string;
|
|
130
130
|
files_touched: string[];
|
|
131
131
|
}>;
|
|
132
|
+
/** 0.7.14 Fix 1: the target test's failure message from the most
|
|
133
|
+
* recent run. Includes vitest's assertion output — crucially, the
|
|
134
|
+
* `Received:` payload for UI tests showing what was actually in the
|
|
135
|
+
* DOM vs what the test expected. Without this the agent reasons
|
|
136
|
+
* abstractly about its own code and can't reconcile with the test
|
|
137
|
+
* verdict (observed as paralysis on rewo story-006). */
|
|
138
|
+
target_failure_message?: string;
|
|
139
|
+
/** 0.7.14 Fix 1: failure messages for OTHER red story tests (not the
|
|
140
|
+
* target). Shown truncated so the agent has peripheral vision into
|
|
141
|
+
* related problems without losing focus on the target. */
|
|
142
|
+
other_failure_messages?: Array<{
|
|
143
|
+
test_id: string;
|
|
144
|
+
message: string;
|
|
145
|
+
}>;
|
|
132
146
|
}): string;
|
|
133
147
|
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,WAAW,6xRAmGvB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiGtB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,qBAAqB,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;QAC9E,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,CAAC;IACH;;;;;4DAKwD;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;8DAE0D;IAC1D,sBAAsB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE,GAAG,MAAM,CAuFT"}
|
|
@@ -57,6 +57,22 @@ Then, in order:
|
|
|
57
57
|
|
|
58
58
|
A human doesn't read every file in a package to fix one test; neither should you.
|
|
59
59
|
|
|
60
|
+
## When you're stuck (same target, 2+ iterations without progress)
|
|
61
|
+
|
|
62
|
+
**Check the \`Why the target failed last run\` section in every turn prompt FIRST.** The test's \`Received:\` / error message tells you what the assertion actually saw — that's ground truth. Don't spend iterations re-reading your own code looking for a bug you missed when the failure message is right there.
|
|
63
|
+
|
|
64
|
+
**Specific anti-pattern to avoid:** "the code LOOKS like it shouldn't render X, but the test says X is in the document" — do NOT interpret this as "there must be a subtle JSX evaluation bug." It almost always means another element matches the same query selector. Read the \`Received:\` payload to see which element the selector hit.
|
|
65
|
+
|
|
66
|
+
**If after reading the failure message you genuinely can't tell what's in the DOM:** insert a \`console.log(screen.debug())\` in the test file OR a distinctive \`data-testid="probe-iter-N"\` attribute in the component as a **one-iteration diagnostic**. The ratchet will revert your change (it's not a green gain), and on the NEXT iteration's prompt you'll see the DOM output in the failure message. Diagnostic probing is cheap; analysis paralysis is expensive.
|
|
67
|
+
|
|
68
|
+
**If you still can't reconcile after 3 iterations on the same target — halt voluntarily.** End your rationale with a new line containing exactly:
|
|
69
|
+
|
|
70
|
+
\`\`\`
|
|
71
|
+
Considering halting voluntarily
|
|
72
|
+
\`\`\`
|
|
73
|
+
|
|
74
|
+
Followed by a concrete description of the specific mismatch you can't resolve (e.g. "test queries getByRole('alert'); my component has one \`role=\"alert\"\` element gated on \`!handle_confirmed\`; I can't see what's in the rendered DOM when handle_confirmed=true."). Slowcook will halt immediately and surface your description to the operator. This saves ~15 iterations of silent spending; the operator picks up the diagnostic you handed them and either hand-patches the blocker or clarifies the spec.
|
|
75
|
+
|
|
60
76
|
## UI component tests (tier-1 UI, target file ends in \`.test.tsx\`)
|
|
61
77
|
|
|
62
78
|
When the target test is a UI component test (file path ends in \`-ui.test.tsx\`), you're editing React/TSX — typically \`src/components/**/*.tsx\` or client pages at \`src/app/**/page.tsx\`. Constraints:
|
|
@@ -204,6 +220,36 @@ export function turnPrompt(args) {
|
|
|
204
220
|
sections.push(` (in ${args.target_test_file})`);
|
|
205
221
|
sections.push("```");
|
|
206
222
|
sections.push("");
|
|
223
|
+
// Fix 1 (0.7.14): the failure message is the single highest-leverage
|
|
224
|
+
// piece of data for avoiding analysis paralysis. Vitest's output includes
|
|
225
|
+
// the `Received:` payload (e.g., the actual DOM snippet for UI tests) —
|
|
226
|
+
// without this the agent reasons about abstract code instead of
|
|
227
|
+
// observed reality.
|
|
228
|
+
if (args.target_failure_message) {
|
|
229
|
+
sections.push("### Why the target failed last run");
|
|
230
|
+
sections.push("```");
|
|
231
|
+
sections.push(args.target_failure_message.trim());
|
|
232
|
+
sections.push("```");
|
|
233
|
+
sections.push("");
|
|
234
|
+
sections.push("Read the `Received:` / error message CAREFULLY before inspecting code. The test's verdict is ground truth; your mental model of the code is not.");
|
|
235
|
+
sections.push("");
|
|
236
|
+
}
|
|
237
|
+
if (args.other_failure_messages && args.other_failure_messages.length > 0) {
|
|
238
|
+
sections.push("<details><summary>Other red tests' failure messages (peripheral vision)</summary>");
|
|
239
|
+
sections.push("");
|
|
240
|
+
for (const f of args.other_failure_messages.slice(0, 5)) {
|
|
241
|
+
sections.push(`**\`${f.test_id}\`:**`);
|
|
242
|
+
sections.push("```");
|
|
243
|
+
sections.push(f.message.slice(0, 400));
|
|
244
|
+
sections.push("```");
|
|
245
|
+
sections.push("");
|
|
246
|
+
}
|
|
247
|
+
if (args.other_failure_messages.length > 5) {
|
|
248
|
+
sections.push(`_+ ${args.other_failure_messages.length - 5} more red tests._`);
|
|
249
|
+
}
|
|
250
|
+
sections.push("</details>");
|
|
251
|
+
sections.push("");
|
|
252
|
+
}
|
|
207
253
|
sections.push("### Spec (the contract)");
|
|
208
254
|
sections.push("```yaml");
|
|
209
255
|
sections.push(args.spec_yaml.trim());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/commands/brew/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/commands/brew/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/dispatch/index.ts"],"names":[],"mappings":"AAwKA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwF5D"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { execSync } from "node:child_process";
|
|
2
|
+
import { Octokit } from "@octokit/rest";
|
|
3
|
+
function buildStepConfig(step, args) {
|
|
4
|
+
switch (step) {
|
|
5
|
+
case "brew":
|
|
6
|
+
return {
|
|
7
|
+
workflow: "slowcook-brew.yml",
|
|
8
|
+
inputs: {
|
|
9
|
+
story_id: args.story ?? args.story_id ?? "",
|
|
10
|
+
budget_usd: args["budget-usd"] ?? args.budget ?? "10",
|
|
11
|
+
max_iterations: args["max-iterations"] ?? args.iterations ?? "10",
|
|
12
|
+
model: args.model ?? "claude-sonnet-4-6",
|
|
13
|
+
},
|
|
14
|
+
requiredInputs: ["story_id"],
|
|
15
|
+
};
|
|
16
|
+
case "testgen":
|
|
17
|
+
return {
|
|
18
|
+
workflow: "slowcook-testgen.yml",
|
|
19
|
+
inputs: {},
|
|
20
|
+
requiredInputs: [],
|
|
21
|
+
};
|
|
22
|
+
case "refine":
|
|
23
|
+
return {
|
|
24
|
+
workflow: "slowcook-refine.yml",
|
|
25
|
+
inputs: {
|
|
26
|
+
issue_number: args.issue ?? args.issue_number ?? "",
|
|
27
|
+
},
|
|
28
|
+
requiredInputs: ["issue_number"],
|
|
29
|
+
};
|
|
30
|
+
default: {
|
|
31
|
+
const exhaustive = step;
|
|
32
|
+
throw new Error(`Unknown step: ${exhaustive}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function parseArgs(argv) {
|
|
37
|
+
const result = {
|
|
38
|
+
step: null,
|
|
39
|
+
args: {},
|
|
40
|
+
ref: "main",
|
|
41
|
+
help: false,
|
|
42
|
+
};
|
|
43
|
+
if (argv.length === 0) {
|
|
44
|
+
result.help = true;
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
const first = argv[0];
|
|
48
|
+
if (first === "-h" || first === "--help") {
|
|
49
|
+
result.help = true;
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
if (first !== "brew" && first !== "testgen" && first !== "refine") {
|
|
53
|
+
throw new Error(`Unknown step '${first}'. Supported: brew, testgen, refine.`);
|
|
54
|
+
}
|
|
55
|
+
result.step = first;
|
|
56
|
+
for (let i = 1; i < argv.length; i++) {
|
|
57
|
+
const arg = argv[i];
|
|
58
|
+
if (arg === "-h" || arg === "--help") {
|
|
59
|
+
result.help = true;
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
if (arg === "--ref") {
|
|
63
|
+
const next = argv[i + 1];
|
|
64
|
+
if (!next)
|
|
65
|
+
throw new Error("--ref requires a value");
|
|
66
|
+
result.ref = next;
|
|
67
|
+
i++;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (arg && arg.startsWith("--")) {
|
|
71
|
+
const key = arg.slice(2);
|
|
72
|
+
const next = argv[i + 1];
|
|
73
|
+
if (next === undefined || next.startsWith("--")) {
|
|
74
|
+
// Boolean flag with no value — rare; treat as "true"
|
|
75
|
+
result.args[key] = "true";
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
result.args[key] = next;
|
|
79
|
+
i++;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
function printHelp() {
|
|
86
|
+
console.log(`
|
|
87
|
+
slowcook dispatch — trigger a slowcook GitHub Actions workflow remotely
|
|
88
|
+
|
|
89
|
+
Usage:
|
|
90
|
+
slowcook dispatch <step> [options]
|
|
91
|
+
|
|
92
|
+
Steps:
|
|
93
|
+
brew --story <id> [--budget-usd <n>] [--max-iterations <n>] [--model <id>]
|
|
94
|
+
testgen (no inputs; runs testgen --all against current main)
|
|
95
|
+
refine --issue <number> (requires slowcook-refine.yml with workflow_dispatch; 0.7.13+)
|
|
96
|
+
|
|
97
|
+
Common options:
|
|
98
|
+
--ref <ref> Git ref to dispatch against (default: main)
|
|
99
|
+
--help, -h Show this help
|
|
100
|
+
|
|
101
|
+
Environment:
|
|
102
|
+
GITHUB_TOKEN Required. Token with actions:write scope.
|
|
103
|
+
|
|
104
|
+
Examples:
|
|
105
|
+
slowcook dispatch brew --story 006 --max-iterations 20
|
|
106
|
+
slowcook dispatch brew --story 006 --budget-usd 15 --model claude-opus-4-7
|
|
107
|
+
slowcook dispatch testgen
|
|
108
|
+
slowcook dispatch refine --issue 47
|
|
109
|
+
|
|
110
|
+
Exit codes:
|
|
111
|
+
0 dispatched successfully
|
|
112
|
+
2 script error (bad args, missing token, API failure)
|
|
113
|
+
`);
|
|
114
|
+
}
|
|
115
|
+
function detectOwnerRepo(cwd) {
|
|
116
|
+
try {
|
|
117
|
+
const url = execSync("git remote get-url origin", {
|
|
118
|
+
cwd,
|
|
119
|
+
encoding: "utf8",
|
|
120
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
121
|
+
}).trim();
|
|
122
|
+
const m = url.match(/github\.com[:/]([^/]+)\/([^/.]+)(?:\.git)?$/);
|
|
123
|
+
if (m && m[1] && m[2])
|
|
124
|
+
return { owner: m[1], repo: m[2] };
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
/* ignore */
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
export async function dispatch(argv) {
|
|
132
|
+
let parsed;
|
|
133
|
+
try {
|
|
134
|
+
parsed = parseArgs(argv);
|
|
135
|
+
}
|
|
136
|
+
catch (e) {
|
|
137
|
+
console.error(e.message);
|
|
138
|
+
printHelp();
|
|
139
|
+
process.exit(2);
|
|
140
|
+
}
|
|
141
|
+
if (parsed.help || !parsed.step) {
|
|
142
|
+
printHelp();
|
|
143
|
+
process.exit(parsed.step ? 0 : (parsed.help ? 0 : 2));
|
|
144
|
+
}
|
|
145
|
+
const token = process.env["GITHUB_TOKEN"];
|
|
146
|
+
if (!token) {
|
|
147
|
+
console.error("GITHUB_TOKEN environment variable is not set.");
|
|
148
|
+
console.error("Get one with `gh auth token` or create a PAT with `actions:write` scope.");
|
|
149
|
+
process.exit(2);
|
|
150
|
+
}
|
|
151
|
+
const detected = detectOwnerRepo(process.cwd());
|
|
152
|
+
if (!detected) {
|
|
153
|
+
console.error("Could not detect owner/repo from git remote 'origin'. Run from inside a git repo with a GitHub remote.");
|
|
154
|
+
process.exit(2);
|
|
155
|
+
}
|
|
156
|
+
const { owner, repo } = detected;
|
|
157
|
+
const cfg = buildStepConfig(parsed.step, parsed.args);
|
|
158
|
+
const missing = cfg.requiredInputs.filter((k) => !cfg.inputs[k]);
|
|
159
|
+
if (missing.length > 0) {
|
|
160
|
+
console.error(`Missing required input(s) for '${parsed.step}': ${missing.join(", ")}.`);
|
|
161
|
+
printHelp();
|
|
162
|
+
process.exit(2);
|
|
163
|
+
}
|
|
164
|
+
const octokit = new Octokit({ auth: token, userAgent: "slowcook-ai/cli" });
|
|
165
|
+
try {
|
|
166
|
+
await octokit.actions.createWorkflowDispatch({
|
|
167
|
+
owner,
|
|
168
|
+
repo,
|
|
169
|
+
workflow_id: cfg.workflow,
|
|
170
|
+
ref: parsed.ref,
|
|
171
|
+
inputs: cfg.inputs,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
catch (e) {
|
|
175
|
+
const status = e.status;
|
|
176
|
+
const msg = e.message;
|
|
177
|
+
if (status === 404) {
|
|
178
|
+
console.error(`Workflow '${cfg.workflow}' not found in ${owner}/${repo} (or missing 'workflow_dispatch' trigger). Verify the workflow exists on the ${parsed.ref} branch.`);
|
|
179
|
+
}
|
|
180
|
+
else if (status === 403) {
|
|
181
|
+
console.error(`GITHUB_TOKEN lacks permission to dispatch workflows in ${owner}/${repo}. Needs 'actions:write' scope.`);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
console.error(`Dispatch failed (${status ?? "no-status"}): ${msg}`);
|
|
185
|
+
}
|
|
186
|
+
process.exit(2);
|
|
187
|
+
}
|
|
188
|
+
console.log(`Dispatched '${parsed.step}' (${cfg.workflow}) on ${owner}/${repo} @ ${parsed.ref}.`);
|
|
189
|
+
const inputLines = Object.entries(cfg.inputs).filter(([, v]) => v);
|
|
190
|
+
if (inputLines.length > 0) {
|
|
191
|
+
console.log("Inputs:");
|
|
192
|
+
for (const [k, v] of inputLines)
|
|
193
|
+
console.log(` ${k}: ${v}`);
|
|
194
|
+
}
|
|
195
|
+
// Best-effort: fetch the most recent run for this workflow and print
|
|
196
|
+
// its URL so the operator can click through without hunting. Polls a
|
|
197
|
+
// couple of times because the dispatched run may not appear instantly.
|
|
198
|
+
const runUrl = await findRecentRunUrl(octokit, owner, repo, cfg.workflow);
|
|
199
|
+
if (runUrl) {
|
|
200
|
+
console.log(`\nRun: ${runUrl}`);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
console.log(`\nVisit https://github.com/${owner}/${repo}/actions/workflows/${cfg.workflow} to watch.`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
async function findRecentRunUrl(octokit, owner, repo, workflow) {
|
|
207
|
+
for (let attempt = 0; attempt < 4; attempt++) {
|
|
208
|
+
await new Promise((resolve) => setTimeout(resolve, 500 + attempt * 500));
|
|
209
|
+
try {
|
|
210
|
+
const res = await octokit.actions.listWorkflowRuns({
|
|
211
|
+
owner,
|
|
212
|
+
repo,
|
|
213
|
+
workflow_id: workflow,
|
|
214
|
+
per_page: 3,
|
|
215
|
+
});
|
|
216
|
+
const run = res.data.workflow_runs.find((r) => r.event === "workflow_dispatch" &&
|
|
217
|
+
(r.status === "queued" || r.status === "in_progress"));
|
|
218
|
+
if (run)
|
|
219
|
+
return run.html_url;
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
/* ignore; try again */
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dispatch/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slowcook-ai/cli",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.15",
|
|
4
4
|
"description": "CLI for the slowcook brewing harness",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "aminazar",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"yaml": "^2.6.0",
|
|
40
40
|
"zod": "^3.23.8",
|
|
41
41
|
"@slowcook-ai/core": "^0.7.1",
|
|
42
|
-
"@slowcook-ai/
|
|
43
|
-
"@slowcook-ai/
|
|
42
|
+
"@slowcook-ai/forge-github": "^0.7.10",
|
|
43
|
+
"@slowcook-ai/stack-ts": "^0.7.11"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|