@slowcook-ai/cli 0.7.14 → 0.7.17
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/commands/brew/agent.d.ts.map +1 -1
- package/dist/commands/brew/agent.js +80 -8
- package/dist/commands/brew/agent.js.map +1 -1
- package/dist/commands/brew/prompts.d.ts +1 -1
- package/dist/commands/brew/prompts.d.ts.map +1 -1
- package/dist/commands/brew/prompts.js +19 -0
- package/dist/commands/brew/prompts.js.map +1 -1
- package/dist/commands/testgen/agent.d.ts +57 -0
- package/dist/commands/testgen/agent.d.ts.map +1 -1
- package/dist/commands/testgen/agent.js +195 -2
- package/dist/commands/testgen/agent.js.map +1 -1
- package/dist/commands/testgen/index.d.ts +9 -0
- package/dist/commands/testgen/index.d.ts.map +1 -1
- package/dist/commands/testgen/index.js +12 -1
- package/dist/commands/testgen/index.js.map +1 -1
- package/dist/commands/testgen/prompts.d.ts.map +1 -1
- package/dist/commands/testgen/prompts.js +16 -0
- package/dist/commands/testgen/prompts.js.map +1 -1
- package/package.json +3 -3
|
@@ -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"}
|
|
@@ -216,6 +216,12 @@ export async function runBrew(ctx) {
|
|
|
216
216
|
});
|
|
217
217
|
stagnation += 1;
|
|
218
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}`);
|
|
219
225
|
// Fix 3 (0.7.14): voluntary-halt escape hatch. If the agent's
|
|
220
226
|
// rationale ends with "Considering halting voluntarily" the model
|
|
221
227
|
// has self-reported that it can't make progress — halt immediately
|
|
@@ -281,6 +287,7 @@ export async function runBrew(ctx) {
|
|
|
281
287
|
files_touched: diff.changedPaths,
|
|
282
288
|
});
|
|
283
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)}`);
|
|
284
291
|
continue;
|
|
285
292
|
}
|
|
286
293
|
const scopeHit = diff.changedPaths.find((p) => !isAllowedPath(p, ctx.allowedPaths) &&
|
|
@@ -306,6 +313,7 @@ export async function runBrew(ctx) {
|
|
|
306
313
|
files_touched: diff.changedPaths,
|
|
307
314
|
});
|
|
308
315
|
stagnation += 1;
|
|
316
|
+
appendRunLog(ctx, `ITER ${iteration} REJECT scope-violation ${scopeHit} (outside allowed_paths) spend_delta=$${turnResult.spendDelta.toFixed(2)}`);
|
|
309
317
|
continue;
|
|
310
318
|
}
|
|
311
319
|
const overflowed = diff.linesTotal > DIFF_LINE_CAP || diff.changedPaths.length > DIFF_FILE_CAP;
|
|
@@ -329,6 +337,7 @@ export async function runBrew(ctx) {
|
|
|
329
337
|
files_touched: diff.changedPaths,
|
|
330
338
|
});
|
|
331
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)}`);
|
|
332
341
|
continue;
|
|
333
342
|
}
|
|
334
343
|
// Run tests to see the outcome of this turn
|
|
@@ -521,6 +530,18 @@ async function runTurn(ctx, args) {
|
|
|
521
530
|
});
|
|
522
531
|
const filesTouched = new Set();
|
|
523
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 = [];
|
|
524
545
|
let overflowJustification;
|
|
525
546
|
let spendDelta = 0;
|
|
526
547
|
// Tool-use loop: call the model, execute tool_use blocks, feed tool_results back, repeat
|
|
@@ -546,21 +567,28 @@ async function runTurn(ctx, args) {
|
|
|
546
567
|
messages,
|
|
547
568
|
});
|
|
548
569
|
spendDelta += costUsdForResponse(response, ctx.model);
|
|
549
|
-
// Capture the assistant turn + any
|
|
570
|
+
// Capture the assistant turn + any text (for the latest-text fallback)
|
|
550
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
|
+
}
|
|
551
580
|
const toolBlocks = response.content.filter((b) => b.type === "tool_use");
|
|
552
581
|
if (toolBlocks.length === 0) {
|
|
553
|
-
// Text-only ending →
|
|
554
|
-
|
|
555
|
-
.filter((b) => b.type === "text")
|
|
556
|
-
.map((b) => b.text)
|
|
557
|
-
.join("\n")
|
|
558
|
-
.trim();
|
|
559
|
-
rationale = text.slice(0, 2000);
|
|
582
|
+
// Text-only ending → this is the real rationale
|
|
583
|
+
rationale = textInThisRound.slice(0, 2000);
|
|
560
584
|
break;
|
|
561
585
|
}
|
|
562
586
|
const toolResults = [];
|
|
563
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}`);
|
|
564
592
|
const result = handleToolUse(ctx, tool);
|
|
565
593
|
if (tool.name === "write_file") {
|
|
566
594
|
const input = tool.input;
|
|
@@ -583,6 +611,21 @@ async function runTurn(ctx, args) {
|
|
|
583
611
|
if (response.stop_reason !== "tool_use")
|
|
584
612
|
break;
|
|
585
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
|
+
}
|
|
586
629
|
return {
|
|
587
630
|
filesTouched: [...filesTouched],
|
|
588
631
|
rationale,
|
|
@@ -1000,6 +1043,35 @@ function runTestSuite(ctx) {
|
|
|
1000
1043
|
* the turn prompt to surface vitest's actual failure output for the
|
|
1001
1044
|
* current target test (and optionally for other red tests).
|
|
1002
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
|
+
}
|
|
1003
1075
|
function buildFailureMap(tests) {
|
|
1004
1076
|
const map = new Map();
|
|
1005
1077
|
for (const t of tests) {
|
|
@@ -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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"}
|
|
@@ -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## 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";
|
|
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## Schema-assertion tests (target file lives under `tests/schema/`)\n\nWhen the target test is a schema assertion (path `tests/schema/story-N.test.ts`), it reads `supabase/migrations/*.sql` and asserts specific columns appear. Constraints:\n\n- **Write a new migration file** \u2014 never edit an existing one. Pick the next unused number (`NNNNN_` prefix, zero-padded to match neighbours): `list_directory supabase/migrations/`, find the max, add 1.\n- **Minimal DDL** \u2014 just `ALTER TABLE <t> ADD COLUMN <c> <type> ...;`. If the test asserts multiple columns, one migration file can add several in a single `ALTER TABLE` with comma-separated clauses, or multiple statements in the same file.\n- **Spec invariants drive the TYPE / constraints** (e.g. \"boolean not null default false\", \"timestamptz nullable\"). The schema-assertion test only checks NAME, not type \u2014 but the invariants must still be honoured by the migration you write.\n- **Backfill if invariants require it** \u2014 if an invariant says \"...and backfills existing rows to false\", write an `UPDATE` in the same migration, or use `DEFAULT` on `ADD COLUMN` to cover both new + existing rows in one shot.\n- **Never touch `supabase/migrations/00001_*`** through whatever number exists \u2014 those are historical. Append-only is the convention.\n\n## Page-link assertion (target file ends in `-page.test.ts` under `tests/integration/`)\n\nWhen the target test is a page-link assertion, it reads a Next.js page file and asserts the page IMPORTS + MOUNTS a named component. Fix by editing the page:\n\n- **Add the import** from the specifier the test names (`@/components/...`).\n- **Render the component** in the page's JSX (`<ComponentName .../>` or `<ComponentName>...children...</ComponentName>`).\n- **If the page is a server component fetching data**, pass the fetched data to the component as a prop. Don't convert the page to a client component to avoid the fetch \u2014 that breaks the rest of the page.\n- **Existing layout stays** \u2014 don't refactor unrelated sections. Wedge the component in alongside what's already there (a new `<section>` block is typical).\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;
|
|
@@ -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,y4VAsHvB,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"}
|
|
@@ -73,6 +73,25 @@ Considering halting voluntarily
|
|
|
73
73
|
|
|
74
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
75
|
|
|
76
|
+
## Schema-assertion tests (target file lives under \`tests/schema/\`)
|
|
77
|
+
|
|
78
|
+
When the target test is a schema assertion (path \`tests/schema/story-N.test.ts\`), it reads \`supabase/migrations/*.sql\` and asserts specific columns appear. Constraints:
|
|
79
|
+
|
|
80
|
+
- **Write a new migration file** — never edit an existing one. Pick the next unused number (\`NNNNN_\` prefix, zero-padded to match neighbours): \`list_directory supabase/migrations/\`, find the max, add 1.
|
|
81
|
+
- **Minimal DDL** — just \`ALTER TABLE <t> ADD COLUMN <c> <type> ...;\`. If the test asserts multiple columns, one migration file can add several in a single \`ALTER TABLE\` with comma-separated clauses, or multiple statements in the same file.
|
|
82
|
+
- **Spec invariants drive the TYPE / constraints** (e.g. "boolean not null default false", "timestamptz nullable"). The schema-assertion test only checks NAME, not type — but the invariants must still be honoured by the migration you write.
|
|
83
|
+
- **Backfill if invariants require it** — if an invariant says "...and backfills existing rows to false", write an \`UPDATE\` in the same migration, or use \`DEFAULT\` on \`ADD COLUMN\` to cover both new + existing rows in one shot.
|
|
84
|
+
- **Never touch \`supabase/migrations/00001_*\`** through whatever number exists — those are historical. Append-only is the convention.
|
|
85
|
+
|
|
86
|
+
## Page-link assertion (target file ends in \`-page.test.ts\` under \`tests/integration/\`)
|
|
87
|
+
|
|
88
|
+
When the target test is a page-link assertion, it reads a Next.js page file and asserts the page IMPORTS + MOUNTS a named component. Fix by editing the page:
|
|
89
|
+
|
|
90
|
+
- **Add the import** from the specifier the test names (\`@/components/...\`).
|
|
91
|
+
- **Render the component** in the page's JSX (\`<ComponentName .../>\` or \`<ComponentName>...children...</ComponentName>\`).
|
|
92
|
+
- **If the page is a server component fetching data**, pass the fetched data to the component as a prop. Don't convert the page to a client component to avoid the fetch — that breaks the rest of the page.
|
|
93
|
+
- **Existing layout stays** — don't refactor unrelated sections. Wedge the component in alongside what's already there (a new \`<section>\` block is typical).
|
|
94
|
+
|
|
76
95
|
## UI component tests (tier-1 UI, target file ends in \`.test.tsx\`)
|
|
77
96
|
|
|
78
97
|
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:
|
|
@@ -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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"}
|
|
@@ -3,6 +3,7 @@ import type { LlmClient } from "../refine/llm.js";
|
|
|
3
3
|
export declare const LABEL_TESTS_READY = "tests-ready";
|
|
4
4
|
export declare const LABEL_OVERRIDE_FREEZE = "override-freeze";
|
|
5
5
|
export declare const TESTS_INTEGRATION_DIR = "tests/integration";
|
|
6
|
+
export declare const TESTS_SCHEMA_DIR = "tests/schema";
|
|
6
7
|
export declare const MANIFESTS_DIR = ".brewing/manifests";
|
|
7
8
|
export declare const MOCK_HELPERS_DIR = "tests/helpers/mocks";
|
|
8
9
|
/**
|
|
@@ -69,6 +70,14 @@ export declare function buildProjectContext(repoRoot: string): string;
|
|
|
69
70
|
* (see TESTGEN_SYSTEM for the exact format); slowcook parses, de-duplicates
|
|
70
71
|
* against existing files, and writes only what's new.
|
|
71
72
|
*/
|
|
73
|
+
export interface PageLinkHint {
|
|
74
|
+
/** Page file the story's UI lives on (Next.js App Router). */
|
|
75
|
+
page: string;
|
|
76
|
+
/** Component name the page must import + mount. */
|
|
77
|
+
component: string;
|
|
78
|
+
/** Import specifier (e.g. "@/components/profile/ProfileEditForm"). */
|
|
79
|
+
importFrom: string;
|
|
80
|
+
}
|
|
72
81
|
export interface TestgenBundle {
|
|
73
82
|
/** Handler test file content. Empty string when mode is `"ui-only"`. */
|
|
74
83
|
testContent: string;
|
|
@@ -87,6 +96,14 @@ export interface TestgenBundle {
|
|
|
87
96
|
path: string;
|
|
88
97
|
contents: string;
|
|
89
98
|
}>;
|
|
99
|
+
/**
|
|
100
|
+
* Optional page-link hint — when present, testgen templates a static
|
|
101
|
+
* assertion that asserts the named page file imports AND mounts the
|
|
102
|
+
* named component. Catches the "tests green but page doesn't render the
|
|
103
|
+
* component" class of gap (rewo story-006, 2026-04-23). See
|
|
104
|
+
* docs/plans/0.7.17-pipeline-gap-assertions.md §1.
|
|
105
|
+
*/
|
|
106
|
+
pageLink: PageLinkHint | null;
|
|
90
107
|
}
|
|
91
108
|
/**
|
|
92
109
|
* Parse XML-tagged multi-artifact output into a TestgenBundle.
|
|
@@ -108,6 +125,46 @@ export interface TestgenBundle {
|
|
|
108
125
|
* we strip those too — tier-1 test / helper / stub / UI files are raw TS/TSX.
|
|
109
126
|
*/
|
|
110
127
|
export declare function parseTestgenBundle(raw: string, storyId: string, mode?: TestgenMode): TestgenBundle;
|
|
128
|
+
/**
|
|
129
|
+
* Extract column names from DDL-shaped invariants so
|
|
130
|
+
* `buildSchemaAssertionTestContent` can assert each column ends up in
|
|
131
|
+
* `supabase/migrations/`. Deliberately narrow:
|
|
132
|
+
*
|
|
133
|
+
* - Handles "Migration adds `profiles.handle_confirmed ...`"
|
|
134
|
+
* - Handles "Migration adds `profiles.handle_changed_at timestamptz`"
|
|
135
|
+
* - Handles "add column handle_confirmed boolean"
|
|
136
|
+
* - Handles "alter table profiles add column handle text"
|
|
137
|
+
*
|
|
138
|
+
* Returns unique column names (deduped, original order). Empty array means
|
|
139
|
+
* the spec's invariants don't describe DDL — caller skips schema assertion.
|
|
140
|
+
*
|
|
141
|
+
* Intentionally lax on TABLE name: rewo has exactly one mutated table per
|
|
142
|
+
* story so far (`profiles`); if/when that stops holding, we can either
|
|
143
|
+
* tighten the regex or include table names in the test assertions.
|
|
144
|
+
*/
|
|
145
|
+
export declare function extractDdlColumnsFromInvariants(invariants: string[]): string[];
|
|
146
|
+
/**
|
|
147
|
+
* Produce the `tests/schema/story-N.test.ts` file contents, or null when
|
|
148
|
+
* the spec doesn't describe DDL (no invariants matched). The test reads
|
|
149
|
+
* `supabase/migrations/*.sql` and asserts each column mentioned in the
|
|
150
|
+
* invariants appears in some migration's `alter table ... add column ...`
|
|
151
|
+
* statement. Shallow — doesn't check TYPE or NOT NULL — but catches the
|
|
152
|
+
* "forgot to write the migration entirely" case that bit story-005/006.
|
|
153
|
+
*/
|
|
154
|
+
export declare function buildSchemaAssertionTestContent(spec: Spec): {
|
|
155
|
+
path: string;
|
|
156
|
+
contents: string;
|
|
157
|
+
} | null;
|
|
158
|
+
/**
|
|
159
|
+
* Produce the `tests/integration/story-N-page.test.ts` file contents from
|
|
160
|
+
* a `<page_link>` hint. Asserts both IMPORT (so the page file references
|
|
161
|
+
* the component) and JSX USAGE (so it actually mounts it) — an unused
|
|
162
|
+
* import is as broken as a missing one.
|
|
163
|
+
*/
|
|
164
|
+
export declare function buildPageLinkTestContent(spec: Spec, hint: PageLinkHint): {
|
|
165
|
+
path: string;
|
|
166
|
+
contents: string;
|
|
167
|
+
};
|
|
111
168
|
/**
|
|
112
169
|
* Tier-1 conformance lint. Run on every generated test file before commit.
|
|
113
170
|
* Catches patterns the prompt forbids — inline `vi.mock`, `fetch(...)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/testgen/agent.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAUlD,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAClD,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,GAAG,EAAE,OAAO,CAAC;IACb,2EAA2E;IAC3E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,GAAG,EAAE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GACzG;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/testgen/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { TESTGEN_SYSTEM } from "./prompts.js";
|
|
|
9
9
|
export const LABEL_TESTS_READY = "tests-ready";
|
|
10
10
|
export const LABEL_OVERRIDE_FREEZE = "override-freeze";
|
|
11
11
|
export const TESTS_INTEGRATION_DIR = "tests/integration";
|
|
12
|
+
export const TESTS_SCHEMA_DIR = "tests/schema";
|
|
12
13
|
export const MANIFESTS_DIR = ".brewing/manifests";
|
|
13
14
|
export const MOCK_HELPERS_DIR = "tests/helpers/mocks";
|
|
14
15
|
/**
|
|
@@ -74,9 +75,23 @@ export async function runTestgen(ctx) {
|
|
|
74
75
|
const uiIds = mode !== "handler-only" && bundle.uiTestContent
|
|
75
76
|
? extractTestIdsFromFile(uiTestPath, bundle.uiTestContent)
|
|
76
77
|
: [];
|
|
78
|
+
// 0.7.17: deterministic pipeline-gap assertion files. Both are
|
|
79
|
+
// idempotent — regenerate on each testgen run so changes to the spec
|
|
80
|
+
// refresh the assertions. Brewing iterates against them like any
|
|
81
|
+
// other tier-1 test.
|
|
82
|
+
const extraTestFiles = [];
|
|
83
|
+
if (bundle.pageLink) {
|
|
84
|
+
extraTestFiles.push(buildPageLinkTestContent(spec, bundle.pageLink));
|
|
85
|
+
}
|
|
86
|
+
const schemaArtifact = buildSchemaAssertionTestContent(spec);
|
|
87
|
+
if (schemaArtifact) {
|
|
88
|
+
extraTestFiles.push(schemaArtifact);
|
|
89
|
+
}
|
|
90
|
+
const extraIds = extraTestFiles.flatMap((f) => extractTestIdsFromFile(f.path, f.contents).map((id) => ({ id, file: f.path })));
|
|
77
91
|
const manifestTests = [
|
|
78
92
|
...handlerIds.map((id) => ({ id, file: testPath })),
|
|
79
93
|
...uiIds.map((id) => ({ id, file: uiTestPath })),
|
|
94
|
+
...extraIds,
|
|
80
95
|
];
|
|
81
96
|
const manifest = buildManifest({
|
|
82
97
|
slowcookVersion: ctx.cliVersion,
|
|
@@ -98,6 +113,7 @@ export async function runTestgen(ctx) {
|
|
|
98
113
|
uiTestPath: mode === "handler-only" ? "" : uiTestPath,
|
|
99
114
|
uiFileContents: mode === "handler-only" ? "" : bundle.uiTestContent,
|
|
100
115
|
uiStubs: uiStubsToWrite,
|
|
116
|
+
extraTestFiles,
|
|
101
117
|
});
|
|
102
118
|
for (const superseded of spec.supersedes) {
|
|
103
119
|
toRemove.push(superseded);
|
|
@@ -122,6 +138,9 @@ export async function runTestgen(ctx) {
|
|
|
122
138
|
for (const stub of g.uiStubs) {
|
|
123
139
|
writeFileAt(ctx.repoRoot, stub.path, stub.contents);
|
|
124
140
|
}
|
|
141
|
+
for (const extra of g.extraTestFiles) {
|
|
142
|
+
writeFileAt(ctx.repoRoot, extra.path, extra.contents);
|
|
143
|
+
}
|
|
125
144
|
}
|
|
126
145
|
const actuallyRemoved = [];
|
|
127
146
|
for (const id of toRemove) {
|
|
@@ -146,6 +165,8 @@ export async function runTestgen(ctx) {
|
|
|
146
165
|
await ctx.forge.git.stage(g.uiTestPath);
|
|
147
166
|
for (const stub of g.uiStubs)
|
|
148
167
|
await ctx.forge.git.stage(stub.path);
|
|
168
|
+
for (const extra of g.extraTestFiles)
|
|
169
|
+
await ctx.forge.git.stage(extra.path);
|
|
149
170
|
}
|
|
150
171
|
for (const id of actuallyRemoved) {
|
|
151
172
|
await ctx.forge.git.stage(join(TESTS_INTEGRATION_DIR, `story-${id}.test.ts`));
|
|
@@ -186,6 +207,9 @@ export async function runTestgen(ctx) {
|
|
|
186
207
|
fileParts.push(`\`${g.testPath}\``);
|
|
187
208
|
if (g.uiTestPath)
|
|
188
209
|
fileParts.push(`\`${g.uiTestPath}\``);
|
|
210
|
+
for (const extra of g.extraTestFiles) {
|
|
211
|
+
fileParts.push(`\`${extra.path}\``);
|
|
212
|
+
}
|
|
189
213
|
const modeNote = g.mode === "ui-only"
|
|
190
214
|
? " *(UI tests only — handler tests already merged)*"
|
|
191
215
|
: g.mode === "full"
|
|
@@ -295,7 +319,15 @@ function collectTargetSpecs(ctx) {
|
|
|
295
319
|
spec = readSpec(ctx.repoRoot, id);
|
|
296
320
|
}
|
|
297
321
|
catch {
|
|
298
|
-
//
|
|
322
|
+
// Spec file missing. With --all this is "index references a deleted
|
|
323
|
+
// spec" — silently skip so the batch continues. With an explicit
|
|
324
|
+
// --spec <id> this is a typo'd operator command; throwing is the
|
|
325
|
+
// right feedback. Silent no-op (pre-0.7.17) masked the story-005
|
|
326
|
+
// dogfood failure on 2026-04-23.
|
|
327
|
+
if (ctx.specId) {
|
|
328
|
+
throw new Error(`No spec found for story id '${id}' (looked at specs/story-${id}.yaml). ` +
|
|
329
|
+
`Pass --spec with the bare id (e.g. --spec 005) or without the 'story-' prefix.`);
|
|
330
|
+
}
|
|
299
331
|
continue;
|
|
300
332
|
}
|
|
301
333
|
const hasUi = specHasUiBehavior(spec);
|
|
@@ -585,7 +617,31 @@ export function parseTestgenBundle(raw, storyId, mode = "handler-only") {
|
|
|
585
617
|
if (p && c.trim())
|
|
586
618
|
uiStubs.push({ path: p, contents: stripInnerFence(c) });
|
|
587
619
|
}
|
|
588
|
-
|
|
620
|
+
// <page_link> — single optional block. Form:
|
|
621
|
+
// <page_link>
|
|
622
|
+
// <page>src/app/(main)/profile/page.tsx</page>
|
|
623
|
+
// <component>ProfileEditForm</component>
|
|
624
|
+
// <import_from>@/components/profile/ProfileEditForm</import_from>
|
|
625
|
+
// </page_link>
|
|
626
|
+
// When present, testgen deterministically templates an assertion file
|
|
627
|
+
// from it. Absent = story has no page-integration concern (e.g. pure
|
|
628
|
+
// handler story; or the spec didn't describe a route).
|
|
629
|
+
let pageLink = null;
|
|
630
|
+
const pageLinkMatch = body.match(/<page_link>([\s\S]*?)<\/page_link>/);
|
|
631
|
+
if (pageLinkMatch && pageLinkMatch[1]) {
|
|
632
|
+
const inner = pageLinkMatch[1];
|
|
633
|
+
const page = inner.match(/<page>\s*([^<\s][^<]*?)\s*<\/page>/)?.[1]?.trim();
|
|
634
|
+
const component = inner
|
|
635
|
+
.match(/<component>\s*([^<\s][^<]*?)\s*<\/component>/)?.[1]
|
|
636
|
+
?.trim();
|
|
637
|
+
const importFrom = inner
|
|
638
|
+
.match(/<import_from>\s*([^<\s][^<]*?)\s*<\/import_from>/)?.[1]
|
|
639
|
+
?.trim();
|
|
640
|
+
if (page && component && importFrom) {
|
|
641
|
+
pageLink = { page, component, importFrom };
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
return { testContent, stubs, helpers, uiTestContent, uiStubs, pageLink };
|
|
589
645
|
}
|
|
590
646
|
function stripInnerFence(raw) {
|
|
591
647
|
const t = raw.trim();
|
|
@@ -594,6 +650,143 @@ function stripInnerFence(raw) {
|
|
|
594
650
|
return fence[1];
|
|
595
651
|
return t + "\n"; // ensure trailing newline for file writes
|
|
596
652
|
}
|
|
653
|
+
// ----------------- 0.7.17: pipeline-gap assertions -----------------
|
|
654
|
+
/**
|
|
655
|
+
* Extract column names from DDL-shaped invariants so
|
|
656
|
+
* `buildSchemaAssertionTestContent` can assert each column ends up in
|
|
657
|
+
* `supabase/migrations/`. Deliberately narrow:
|
|
658
|
+
*
|
|
659
|
+
* - Handles "Migration adds `profiles.handle_confirmed ...`"
|
|
660
|
+
* - Handles "Migration adds `profiles.handle_changed_at timestamptz`"
|
|
661
|
+
* - Handles "add column handle_confirmed boolean"
|
|
662
|
+
* - Handles "alter table profiles add column handle text"
|
|
663
|
+
*
|
|
664
|
+
* Returns unique column names (deduped, original order). Empty array means
|
|
665
|
+
* the spec's invariants don't describe DDL — caller skips schema assertion.
|
|
666
|
+
*
|
|
667
|
+
* Intentionally lax on TABLE name: rewo has exactly one mutated table per
|
|
668
|
+
* story so far (`profiles`); if/when that stops holding, we can either
|
|
669
|
+
* tighten the regex or include table names in the test assertions.
|
|
670
|
+
*/
|
|
671
|
+
export function extractDdlColumnsFromInvariants(invariants) {
|
|
672
|
+
const cols = [];
|
|
673
|
+
const seen = new Set();
|
|
674
|
+
for (const raw of invariants) {
|
|
675
|
+
const text = raw || "";
|
|
676
|
+
// "Migration adds `profiles.handle_confirmed boolean ...`"
|
|
677
|
+
const re1 = /\b(?:migration\s+adds?|adds?)\s+`?[\w]+\.([a-z_][a-z0-9_]*)\b/gi;
|
|
678
|
+
let m;
|
|
679
|
+
while ((m = re1.exec(text)) !== null) {
|
|
680
|
+
const name = m[1]?.toLowerCase();
|
|
681
|
+
if (name && !seen.has(name)) {
|
|
682
|
+
seen.add(name);
|
|
683
|
+
cols.push(name);
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
// "add column handle boolean" / "ALTER TABLE ... ADD COLUMN ... handle"
|
|
687
|
+
const re2 = /\badd\s+column\s+`?([a-z_][a-z0-9_]*)\b/gi;
|
|
688
|
+
while ((m = re2.exec(text)) !== null) {
|
|
689
|
+
const name = m[1]?.toLowerCase();
|
|
690
|
+
if (name && !seen.has(name)) {
|
|
691
|
+
seen.add(name);
|
|
692
|
+
cols.push(name);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
return cols;
|
|
697
|
+
}
|
|
698
|
+
/**
|
|
699
|
+
* Produce the `tests/schema/story-N.test.ts` file contents, or null when
|
|
700
|
+
* the spec doesn't describe DDL (no invariants matched). The test reads
|
|
701
|
+
* `supabase/migrations/*.sql` and asserts each column mentioned in the
|
|
702
|
+
* invariants appears in some migration's `alter table ... add column ...`
|
|
703
|
+
* statement. Shallow — doesn't check TYPE or NOT NULL — but catches the
|
|
704
|
+
* "forgot to write the migration entirely" case that bit story-005/006.
|
|
705
|
+
*/
|
|
706
|
+
export function buildSchemaAssertionTestContent(spec) {
|
|
707
|
+
const invariants = Array.isArray(spec.invariants) ? spec.invariants : [];
|
|
708
|
+
const columns = extractDdlColumnsFromInvariants(invariants);
|
|
709
|
+
if (columns.length === 0)
|
|
710
|
+
return null;
|
|
711
|
+
const path = join(TESTS_SCHEMA_DIR, `story-${spec.story_id}.test.ts`);
|
|
712
|
+
const columnChecks = columns
|
|
713
|
+
.map((c) => ` it("migration adds column ${c}", () => {\n` +
|
|
714
|
+
` expect(sql).toMatch(/\\badd\\s+column\\s+[\`\"']?${c}\\b/i);\n` +
|
|
715
|
+
` });`)
|
|
716
|
+
.join("\n\n");
|
|
717
|
+
const contents = `// slowcook 0.7.17 schema assertion — story-${spec.story_id}\n` +
|
|
718
|
+
`//\n` +
|
|
719
|
+
`// Auto-emitted by testgen when spec invariants describe DDL. Ensures\n` +
|
|
720
|
+
`// supabase/migrations/ actually contains an \`add column\` statement for\n` +
|
|
721
|
+
`// every column the spec names. Catches the pipeline-gap where handler\n` +
|
|
722
|
+
`// tests mock the DB and ship green without the migration ever landing\n` +
|
|
723
|
+
`// (rewo story-005/006, 2026-04-23). Regenerate by re-running testgen.\n` +
|
|
724
|
+
`\n` +
|
|
725
|
+
`import { describe, it, expect } from "vitest";\n` +
|
|
726
|
+
`import { readdirSync, readFileSync, existsSync } from "node:fs";\n` +
|
|
727
|
+
`import { join } from "node:path";\n` +
|
|
728
|
+
`\n` +
|
|
729
|
+
`describe("story-${spec.story_id} schema migration", () => {\n` +
|
|
730
|
+
` const dir = "supabase/migrations";\n` +
|
|
731
|
+
` const sql = existsSync(dir)\n` +
|
|
732
|
+
` ? readdirSync(dir)\n` +
|
|
733
|
+
` .filter((f) => f.endsWith(".sql"))\n` +
|
|
734
|
+
` .map((f) => readFileSync(join(dir, f), "utf8"))\n` +
|
|
735
|
+
` .join("\\n")\n` +
|
|
736
|
+
` : "";\n` +
|
|
737
|
+
`\n` +
|
|
738
|
+
columnChecks +
|
|
739
|
+
`\n` +
|
|
740
|
+
`});\n`;
|
|
741
|
+
return { path, contents };
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* Produce the `tests/integration/story-N-page.test.ts` file contents from
|
|
745
|
+
* a `<page_link>` hint. Asserts both IMPORT (so the page file references
|
|
746
|
+
* the component) and JSX USAGE (so it actually mounts it) — an unused
|
|
747
|
+
* import is as broken as a missing one.
|
|
748
|
+
*/
|
|
749
|
+
export function buildPageLinkTestContent(spec, hint) {
|
|
750
|
+
const path = join(TESTS_INTEGRATION_DIR, `story-${spec.story_id}-page.test.ts`);
|
|
751
|
+
const { page, component, importFrom } = hint;
|
|
752
|
+
// Escape import path for regex — user-controlled (testgen LLM output).
|
|
753
|
+
const importFromEscaped = importFrom.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
754
|
+
const componentEscaped = component.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
755
|
+
const contents = `// slowcook 0.7.17 page-link assertion — story-${spec.story_id}\n` +
|
|
756
|
+
`//\n` +
|
|
757
|
+
`// Auto-emitted by testgen when the UI bundle carries a <page_link>\n` +
|
|
758
|
+
`// hint. Asserts the story's page file imports AND mounts the component\n` +
|
|
759
|
+
`// the tier-1 UI tests exercise — tier-1 tests render the component\n` +
|
|
760
|
+
`// directly, so a page that never wires the component still passes\n` +
|
|
761
|
+
`// tier-1. Catches the rewo story-006 integration gap (2026-04-23).\n` +
|
|
762
|
+
`\n` +
|
|
763
|
+
`import { describe, it, expect } from "vitest";\n` +
|
|
764
|
+
`import { readFileSync, existsSync } from "node:fs";\n` +
|
|
765
|
+
`\n` +
|
|
766
|
+
`describe("story-${spec.story_id} page integration", () => {\n` +
|
|
767
|
+
` const page = ${JSON.stringify(page)};\n` +
|
|
768
|
+
` const component = ${JSON.stringify(component)};\n` +
|
|
769
|
+
`\n` +
|
|
770
|
+
` it("page file exists", () => {\n` +
|
|
771
|
+
` expect(existsSync(page)).toBe(true);\n` +
|
|
772
|
+
` });\n` +
|
|
773
|
+
`\n` +
|
|
774
|
+
` it("imports " + component + " from " + ${JSON.stringify(importFrom)}, () => {\n` +
|
|
775
|
+
` const src = existsSync(page) ? readFileSync(page, "utf8") : "";\n` +
|
|
776
|
+
` const importRe = new RegExp(\n` +
|
|
777
|
+
` "import\\\\s+(?:\\\\w+|\\\\{[^}]*\\\\b" + ${JSON.stringify(componentEscaped)} + "\\\\b[^}]*\\\\})" +\n` +
|
|
778
|
+
` "\\\\s+from\\\\s+[\\\"']" + ${JSON.stringify(importFromEscaped)} + "[\\\"']"\n` +
|
|
779
|
+
` );\n` +
|
|
780
|
+
` expect(src).toMatch(importRe);\n` +
|
|
781
|
+
` });\n` +
|
|
782
|
+
`\n` +
|
|
783
|
+
` it("mounts <" + component + " /> in the rendered tree", () => {\n` +
|
|
784
|
+
` const src = existsSync(page) ? readFileSync(page, "utf8") : "";\n` +
|
|
785
|
+
` expect(src).toMatch(new RegExp("<\\\\s*" + ${JSON.stringify(componentEscaped)} + "\\\\b"));\n` +
|
|
786
|
+
` });\n` +
|
|
787
|
+
`});\n`;
|
|
788
|
+
return { path, contents };
|
|
789
|
+
}
|
|
597
790
|
/**
|
|
598
791
|
* Two scan modes:
|
|
599
792
|
* - \`code\`: run against sanitised source (comments + string-literal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/testgen/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/testgen/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Accept `--spec 005`, `--spec story-005`, or `--spec Story-005` and return
|
|
3
|
+
* the bare id (`005`). Upstream `readSpec` / `handlerTestPathFor` prepend
|
|
4
|
+
* `story-` themselves, so passing the prefixed form silently mismatches
|
|
5
|
+
* everything and testgen no-ops. Normalising at the arg boundary means the
|
|
6
|
+
* operator's mental model ("story-005") matches the file on disk without a
|
|
7
|
+
* trap between the two. See docs/plans/0.7.17-pipeline-gap-assertions.md §2a.
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeSpecId(raw: string): string;
|
|
1
10
|
export declare function testgen(argv: string[], cliVersion: string): Promise<void>;
|
|
2
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/testgen/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/testgen/index.ts"],"names":[],"mappings":"AA8FA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAiBD,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkF/E"}
|
|
@@ -14,7 +14,7 @@ function parseArgs(argv) {
|
|
|
14
14
|
const arg = argv[i];
|
|
15
15
|
const next = argv[i + 1];
|
|
16
16
|
if (arg === "--spec" && next) {
|
|
17
|
-
args.specId = next;
|
|
17
|
+
args.specId = normalizeSpecId(next);
|
|
18
18
|
i++;
|
|
19
19
|
}
|
|
20
20
|
else if (arg === "--all") {
|
|
@@ -87,6 +87,17 @@ Exit codes:
|
|
|
87
87
|
2 script error (bad args, missing env, network failure)
|
|
88
88
|
`);
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Accept `--spec 005`, `--spec story-005`, or `--spec Story-005` and return
|
|
92
|
+
* the bare id (`005`). Upstream `readSpec` / `handlerTestPathFor` prepend
|
|
93
|
+
* `story-` themselves, so passing the prefixed form silently mismatches
|
|
94
|
+
* everything and testgen no-ops. Normalising at the arg boundary means the
|
|
95
|
+
* operator's mental model ("story-005") matches the file on disk without a
|
|
96
|
+
* trap between the two. See docs/plans/0.7.17-pipeline-gap-assertions.md §2a.
|
|
97
|
+
*/
|
|
98
|
+
export function normalizeSpecId(raw) {
|
|
99
|
+
return raw.replace(/^story-/i, "");
|
|
100
|
+
}
|
|
90
101
|
function detectOwnerRepo(cwd) {
|
|
91
102
|
try {
|
|
92
103
|
const url = execSync("git remote get-url origin", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/testgen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAuB,MAAM,YAAY,CAAC;AAY7D,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAAgB;QACxB,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,KAAK;QACV,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;QACvB,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,iBAAiB;KACzB,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/testgen/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/commands/testgen/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,cAAc,GAAI,gBAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/commands/testgen/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,cAAc,GAAI,gBAAgB,MAAM,WA0RuM,CAAC"}
|
|
@@ -49,6 +49,12 @@ Emit EXACTLY the artifacts below, each inside its own XML-tagged block. No prose
|
|
|
49
49
|
<ui_stub path="src/components/<feature>/<Component>.tsx">
|
|
50
50
|
{full contents of a minimal throwing React component — only when the component the UI test imports doesn't exist yet}
|
|
51
51
|
</ui_stub>
|
|
52
|
+
|
|
53
|
+
<page_link>
|
|
54
|
+
<page>src/app/(main)/<route>/page.tsx</page>
|
|
55
|
+
<component>{ComponentName}</component>
|
|
56
|
+
<import_from>@/components/<path>/<Component></import_from>
|
|
57
|
+
</page_link>
|
|
52
58
|
\`\`\`
|
|
53
59
|
|
|
54
60
|
Which blocks to emit is driven by the mode (from the user message) + the spec. \`<test_file>\` is mandatory in modes \`"full"\` and \`"handler-only"\`. \`<ui_test_file>\` is mandatory in modes \`"full"\` and \`"ui-only"\`. Other blocks are conditional per-file existence. The project context below lists existing files — anything on that list, do NOT regenerate; just import from it.
|
|
@@ -238,6 +244,16 @@ export default function PlaceholderComponent(): never {
|
|
|
238
244
|
|
|
239
245
|
The \`@slowcook-stub\` marker on line 1 is load-bearing — brewing detects and replaces only files with the marker. Don't omit.
|
|
240
246
|
|
|
247
|
+
### Page-link hint (\`<page_link>\`) — emit when the story has a route
|
|
248
|
+
|
|
249
|
+
The tier-1 UI test file renders the component directly (\`renderWithProviders(<Foo .../>)\`), so a page that never mounts the component still passes tier-1. To catch this integration gap, emit **exactly one** \`<page_link>\` block per UI story that names:
|
|
250
|
+
|
|
251
|
+
- **\`<page>\`** — the Next.js App Router page file the user will actually land on. For authenticated app pages use \`src/app/(main)/<route>/page.tsx\`; for public pages use \`src/app/<route>/page.tsx\`. Route segments from the URL become directory names (\`/u/[handle]\` → \`src/app/(main)/u/[handle]/page.tsx\`).
|
|
252
|
+
- **\`<component>\`** — the JSX component name that should be mounted inside the page.
|
|
253
|
+
- **\`<import_from>\`** — the import specifier the page should use (typically the same one the UI test uses: \`@/components/<feature>/<Component>\`).
|
|
254
|
+
|
|
255
|
+
Skip \`<page_link>\` only when the story is pure-handler (no \`ui_behavior\`) or explicitly a non-route component (e.g., a shared widget reused across pages). Testgen auto-templates an assertion file from the hint — no test code inside the \`<page_link>\` block.
|
|
256
|
+
|
|
241
257
|
If the component expects props (destructured in the test), include them in the signature with \`unknown\` types so the file type-checks:
|
|
242
258
|
|
|
243
259
|
\`\`\`tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/commands/testgen/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAsB,EAAE,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/commands/testgen/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgRxD,cAAc;;;;;;;;;;4PAU4O,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slowcook-ai/cli",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.17",
|
|
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.11",
|
|
43
|
+
"@slowcook-ai/stack-ts": "^0.7.16"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|