@slowcook-ai/cli 0.16.0-alpha.3 → 0.17.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +10 -0
  2. package/dist/cli.js +49 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/brew/agent.d.ts +25 -1
  5. package/dist/commands/brew/agent.d.ts.map +1 -1
  6. package/dist/commands/brew/agent.js +123 -20
  7. package/dist/commands/brew/agent.js.map +1 -1
  8. package/dist/commands/brew/halt.d.ts +1 -1
  9. package/dist/commands/brew/halt.d.ts.map +1 -1
  10. package/dist/commands/brew/halt.js +13 -0
  11. package/dist/commands/brew/halt.js.map +1 -1
  12. package/dist/commands/check/index.d.ts +14 -0
  13. package/dist/commands/check/index.d.ts.map +1 -0
  14. package/dist/commands/check/index.js +75 -0
  15. package/dist/commands/check/index.js.map +1 -0
  16. package/dist/commands/check/mock-isolation.d.ts +52 -0
  17. package/dist/commands/check/mock-isolation.d.ts.map +1 -0
  18. package/dist/commands/check/mock-isolation.js +186 -0
  19. package/dist/commands/check/mock-isolation.js.map +1 -0
  20. package/dist/commands/init/mock.d.ts.map +1 -1
  21. package/dist/commands/init/mock.js +47 -13
  22. package/dist/commands/init/mock.js.map +1 -1
  23. package/dist/commands/on-mockup-approved/index.d.ts +25 -0
  24. package/dist/commands/on-mockup-approved/index.d.ts.map +1 -0
  25. package/dist/commands/on-mockup-approved/index.js +359 -0
  26. package/dist/commands/on-mockup-approved/index.js.map +1 -0
  27. package/dist/commands/plate/classify.d.ts +65 -0
  28. package/dist/commands/plate/classify.d.ts.map +1 -0
  29. package/dist/commands/plate/classify.js +194 -0
  30. package/dist/commands/plate/classify.js.map +1 -0
  31. package/dist/commands/plate/index.d.ts.map +1 -1
  32. package/dist/commands/plate/index.js +259 -34
  33. package/dist/commands/plate/index.js.map +1 -1
  34. package/dist/commands/port/index.d.ts +30 -0
  35. package/dist/commands/port/index.d.ts.map +1 -0
  36. package/dist/commands/port/index.js +237 -0
  37. package/dist/commands/port/index.js.map +1 -0
  38. package/dist/commands/port/transform.d.ts +68 -0
  39. package/dist/commands/port/transform.d.ts.map +1 -0
  40. package/dist/commands/port/transform.js +122 -0
  41. package/dist/commands/port/transform.js.map +1 -0
  42. package/dist/commands/preview/config.d.ts +73 -0
  43. package/dist/commands/preview/config.d.ts.map +1 -0
  44. package/dist/commands/preview/config.js +200 -0
  45. package/dist/commands/preview/config.js.map +1 -0
  46. package/dist/commands/preview/deploy.d.ts +35 -0
  47. package/dist/commands/preview/deploy.d.ts.map +1 -0
  48. package/dist/commands/preview/deploy.js +247 -0
  49. package/dist/commands/preview/deploy.js.map +1 -0
  50. package/dist/commands/preview/index.d.ts +9 -0
  51. package/dist/commands/preview/index.d.ts.map +1 -0
  52. package/dist/commands/preview/index.js +67 -0
  53. package/dist/commands/preview/index.js.map +1 -0
  54. package/dist/commands/preview/ssh.d.ts +49 -0
  55. package/dist/commands/preview/ssh.d.ts.map +1 -0
  56. package/dist/commands/preview/ssh.js +99 -0
  57. package/dist/commands/preview/ssh.js.map +1 -0
  58. package/dist/commands/preview/teardown.d.ts +25 -0
  59. package/dist/commands/preview/teardown.d.ts.map +1 -0
  60. package/dist/commands/preview/teardown.js +164 -0
  61. package/dist/commands/preview/teardown.js.map +1 -0
  62. package/dist/commands/recon/index.d.ts +60 -0
  63. package/dist/commands/recon/index.d.ts.map +1 -0
  64. package/dist/commands/recon/index.js +278 -0
  65. package/dist/commands/recon/index.js.map +1 -0
  66. package/dist/commands/refine/context.d.ts +12 -0
  67. package/dist/commands/refine/context.d.ts.map +1 -1
  68. package/dist/commands/refine/context.js +72 -0
  69. package/dist/commands/refine/context.js.map +1 -1
  70. package/dist/commands/refine/history-index.d.ts +84 -0
  71. package/dist/commands/refine/history-index.d.ts.map +1 -0
  72. package/dist/commands/refine/history-index.js +289 -0
  73. package/dist/commands/refine/history-index.js.map +1 -0
  74. package/dist/commands/refine/index.d.ts.map +1 -1
  75. package/dist/commands/refine/index.js +28 -0
  76. package/dist/commands/refine/index.js.map +1 -1
  77. package/dist/commands/run-mock/index.d.ts +34 -0
  78. package/dist/commands/run-mock/index.d.ts.map +1 -0
  79. package/dist/commands/run-mock/index.js +308 -0
  80. package/dist/commands/run-mock/index.js.map +1 -0
  81. package/dist/commands/vibe/emit.d.ts +6 -0
  82. package/dist/commands/vibe/emit.d.ts.map +1 -1
  83. package/dist/commands/vibe/emit.js +12 -0
  84. package/dist/commands/vibe/emit.js.map +1 -1
  85. package/dist/commands/vibe/index.d.ts.map +1 -1
  86. package/dist/commands/vibe/index.js +180 -47
  87. package/dist/commands/vibe/index.js.map +1 -1
  88. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/plate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8OH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiM7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/plate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAyQH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmW7E"}
@@ -12,8 +12,11 @@ import { execSync } from "node:child_process";
12
12
  import { existsSync, readFileSync } from "node:fs";
13
13
  import { join } from "node:path";
14
14
  import { GitHubAdapter } from "@slowcook-ai/forge-github";
15
+ import { parseReviewComment, formatPlateReplyBlock, } from "@slowcook-ai/review-overlay";
15
16
  import { runPlate } from "./agent.js";
16
17
  import { writeVibeFiles } from "../vibe/emit.js";
18
+ import { classifyComment } from "./classify.js";
19
+ const APPROVED_LABEL = "slowcook-mockup-approved";
17
20
  function parseArgs(argv) {
18
21
  const args = {
19
22
  prNumber: -1,
@@ -149,7 +152,7 @@ function fetchTimelineComments(prNumber) {
149
152
  const arr = JSON.parse(json);
150
153
  return arr
151
154
  .filter((c) => c.user.type !== "Bot")
152
- .map((c) => ({ author: c.user.login, body: c.body, createdAt: c.created_at }));
155
+ .map((c) => ({ id: c.id, author: c.user.login, body: c.body, createdAt: c.created_at }));
153
156
  }
154
157
  function fetchInlineComments(prNumber) {
155
158
  const json = execSync(`gh api repos/{owner}/{repo}/pulls/${prNumber}/comments --paginate`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
@@ -157,6 +160,7 @@ function fetchInlineComments(prNumber) {
157
160
  return arr
158
161
  .filter((c) => c.user.type !== "Bot")
159
162
  .map((c) => ({
163
+ id: c.id,
160
164
  author: c.user.login,
161
165
  body: c.body,
162
166
  createdAt: c.created_at,
@@ -174,31 +178,44 @@ function lastPlateCommitDate(repoRoot, branch) {
174
178
  }
175
179
  }
176
180
  function listBranchFiles(repoRoot, branch) {
177
- // Files plate is allowed to amend live under src/ + src/lib/data/*.mock.ts.
178
- // We list everything under src/ on the branch and let the agent's own
179
- // hard rules govern what to amend.
181
+ // 0.16.0-α.7 α.14 files plate amends now live under mock/, not src/.
182
+ // The 0.16 architecture keeps mock + production in separate
183
+ // filesystems; brew + slowcook port handle the src/ side.
184
+ // Vibe writes: mock/scenarios/story-N.ts (always), mock/src/lib/
185
+ // scenario-registry.ts (extends), mock/src/components/.../*.tsx
186
+ // (rarely — only new primitives). Plate amends any of these.
187
+ //
188
+ // 0.16.0-α.14 fix: list ALL paths in the branch and filter in code.
189
+ // Previous version passed `mock/**/*.tsx` as a git ls-tree pathspec,
190
+ // which doesn't expand `**` globs by default. Result was zero matches
191
+ // (caught on rewo PR #147 dogfood). The fix is mechanical: drop the
192
+ // pathspec, list everything, filter via the existing regex predicates.
193
+ // Negligible perf cost on a per-PR branch with O(thousands) of files.
180
194
  const out = [];
181
- const patterns = ["src/**/*.tsx", "src/**/*.ts"];
182
- for (const pat of patterns) {
183
- const lsOut = execSync(`git -C ${JSON.stringify(repoRoot)} ls-tree -r --name-only ${JSON.stringify(branch)} -- ${JSON.stringify(pat)}`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
184
- for (const line of lsOut.split("\n")) {
185
- const trimmed = line.trim();
186
- if (!trimmed)
187
- continue;
188
- // Only include files that vibe would have written: page.tsx,
189
- // src/components/**, src/lib/data/*.mock.ts. Skip the brew-target
190
- // <domain>.ts stubs (plate must not touch them).
191
- const isPage = /\/page\.tsx$/.test(trimmed);
192
- const isComponent = trimmed.startsWith("src/components/");
193
- const isMockData = /^src\/lib\/data\/[^/]+\.mock\.ts$/.test(trimmed);
194
- if (!isPage && !isComponent && !isMockData)
195
- continue;
196
- try {
197
- const contents = execSync(`git -C ${JSON.stringify(repoRoot)} show ${JSON.stringify(branch + ":" + trimmed)}`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
198
- out.push({ path: trimmed, contents });
199
- }
200
- catch { /* skip files git can't show (binary, deleted) */ }
195
+ let lsOut;
196
+ try {
197
+ lsOut = execSync(`git -C ${JSON.stringify(repoRoot)} ls-tree -r --name-only ${JSON.stringify(branch)}`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
198
+ }
199
+ catch {
200
+ return out;
201
+ }
202
+ for (const line of lsOut.split("\n")) {
203
+ const trimmed = line.trim();
204
+ if (!trimmed)
205
+ continue;
206
+ // Only include files vibe writes / plate may amend.
207
+ const isScenario = /^mock\/scenarios\/story-[\w-]+\.ts$/.test(trimmed);
208
+ const isRegistry = trimmed === "mock/src/lib/scenario-registry.ts";
209
+ const isMockComponent = trimmed.startsWith("mock/src/components/") && /\.tsx$/.test(trimmed);
210
+ const isMockPage = /^mock\/src\/app\/.*page\.tsx$/.test(trimmed);
211
+ const isMockLib = trimmed.startsWith("mock/src/lib/") && /\.tsx?$/.test(trimmed);
212
+ if (!isScenario && !isRegistry && !isMockComponent && !isMockPage && !isMockLib)
213
+ continue;
214
+ try {
215
+ const contents = execSync(`git -C ${JSON.stringify(repoRoot)} show ${JSON.stringify(branch + ":" + trimmed)}`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
216
+ out.push({ path: trimmed, contents });
201
217
  }
218
+ catch { /* skip files git can't show (binary, deleted) */ }
202
219
  }
203
220
  return out;
204
221
  }
@@ -230,6 +247,15 @@ export async function plate(argv, cliVersion) {
230
247
  console.error(`PR #${pr.number} head branch '${pr.headBranch}' doesn't match slowcook/mockup/story-N convention. Refusing to act.`);
231
248
  process.exit(2);
232
249
  }
250
+ // 0.16.0-α.7 — refuse to amend after the PM applied the
251
+ // slowcook-mockup-approved label. A stray review-overlay comment
252
+ // (or accidental /plate) shouldn't bounce a finalized mockup.
253
+ // PM can remove the label to reopen plate iteration.
254
+ if (pr.labels.includes(APPROVED_LABEL)) {
255
+ console.log(`PR #${pr.number} carries label \`${APPROVED_LABEL}\`. Plate refuses to amend approved mockups. ` +
256
+ `Remove the label to reopen iteration.`);
257
+ return;
258
+ }
233
259
  const storyId = pr.headBranch.replace(/^slowcook\/mockup\/story-/, "");
234
260
  // Fetch the spec from main (the source of truth).
235
261
  execSync(`git -C ${JSON.stringify(args.repoRoot)} fetch origin main`, {
@@ -274,14 +300,91 @@ export async function plate(argv, cliVersion) {
274
300
  console.log(`Filtering feedback to comments newer than last plate commit at ${cutoffDate}.`);
275
301
  }
276
302
  const filterByDate = (c) => cutoffDate ? c.createdAt > cutoffDate : true;
303
+ const rawTimeline = fetchTimelineComments(pr.number).filter(filterByDate);
304
+ const inlineComments = fetchInlineComments(pr.number).filter(filterByDate);
305
+ // 0.16.0-α.7 — split timeline comments into review-overlay (structured,
306
+ // classified) vs free-prose (unstructured, treated as before).
307
+ const overlayComments = [];
308
+ const proseTimeline = [];
309
+ for (const c of rawTimeline) {
310
+ const payload = parseReviewComment(c.body);
311
+ if (payload) {
312
+ const cls = classifyComment({ prose: payload.prose, specYaml });
313
+ overlayComments.push({
314
+ payload,
315
+ classification: cls.classification,
316
+ rationale: cls.rationale,
317
+ matchedSpecTerms: cls.matchedSpecTerms,
318
+ raw: c,
319
+ });
320
+ }
321
+ else {
322
+ proseTimeline.push(c);
323
+ }
324
+ }
325
+ const specAltering = overlayComments.filter((o) => o.classification === "spec-altering");
326
+ const cosmeticOrDivergent = overlayComments.filter((o) => o.classification !== "spec-altering");
327
+ console.log(`Feedback to act on: ${proseTimeline.length} prose comment(s), ${overlayComments.length} review-overlay comment(s) ` +
328
+ `(${cosmeticOrDivergent.length} amendable, ${specAltering.length} spec-altering — escalating), ` +
329
+ `${inlineComments.length} inline comment(s).`);
330
+ // 0.16.0-α.7 — for each spec-altering comment, post an escalation
331
+ // reply on the PR and EXCLUDE it from the agent's feedback. The PM
332
+ // can confirm via /plate confirm-spec-change (handled in α.7.1)
333
+ // OR via amending the spec PR upstream.
334
+ if (specAltering.length > 0) {
335
+ const githubAdapter = new GitHubAdapter({ owner, repo, token: githubToken });
336
+ for (const sa of specAltering) {
337
+ await githubAdapter.createIssueComment(pr.number, buildEscalationBody({ ...sa, commentId: sa.raw.id }, cliVersion));
338
+ }
339
+ console.log(`Posted ${specAltering.length} escalation reply/replies for spec-altering comments. They will NOT influence this plate amendment.`);
340
+ }
341
+ // 0.16.0-α.15 — track every overlay comment ID this run touched so the
342
+ // final plate-reply breadcrumb block lists each one with its outcome.
343
+ // The overlay's pin layer reads this to render the right status icon
344
+ // on each pin (no timestamp heuristics).
345
+ const breadcrumbReplies = [];
346
+ for (const sa of specAltering) {
347
+ breadcrumbReplies.push({
348
+ to_comment_id: sa.raw.id,
349
+ status: "spec-altering",
350
+ summary: `Escalated: ${sa.rationale}`,
351
+ });
352
+ }
353
+ // For mock-divergence + cosmetic, render their structured prose into
354
+ // the timeline-comment shape the agent already understands. The
355
+ // classification rationale becomes a hint the agent sees in context.
356
+ const classifiedTimelineForAgent = [
357
+ ...proseTimeline,
358
+ ...cosmeticOrDivergent.map((o) => {
359
+ // 0.5.0+ — payload.element is optional (general comments).
360
+ // Render an anchor preview when present; "general note" tag
361
+ // otherwise.
362
+ const el = o.payload.element;
363
+ const anchorPreview = el
364
+ ? `selector \`${el.selector}\` (${el.tag}${el.text_hint ? ` · "${el.text_hint}"` : ""})`
365
+ : "general note (no element anchor)";
366
+ return {
367
+ author: o.raw.author,
368
+ body: `[${o.classification}] ${anchorPreview}:\n\n` +
369
+ o.payload.prose +
370
+ `\n\n_(Plate classifier: ${o.rationale})_`,
371
+ createdAt: o.raw.createdAt,
372
+ };
373
+ }),
374
+ ];
277
375
  const feedback = {
278
- timelineComments: fetchTimelineComments(pr.number).filter(filterByDate),
279
- inlineComments: fetchInlineComments(pr.number).filter(filterByDate),
280
- screenshots: [], // α.3.1 will populate from comment attachments
376
+ timelineComments: classifiedTimelineForAgent,
377
+ inlineComments,
378
+ screenshots: [], // α.3.1 / α.7.x will populate from comment attachments
281
379
  };
282
- console.log(`Feedback to act on: ${feedback.timelineComments.length} timeline comment(s), ${feedback.inlineComments.length} inline comment(s).`);
283
- if (feedback.timelineComments.length === 0 && feedback.inlineComments.length === 0) {
284
- console.log("Nothing to amend. Exiting cleanly.");
380
+ if (feedback.timelineComments.length === 0 &&
381
+ feedback.inlineComments.length === 0) {
382
+ if (specAltering.length > 0) {
383
+ console.log("Only spec-altering feedback present — escalations posted; no amendment to make.");
384
+ }
385
+ else {
386
+ console.log("Nothing to amend. Exiting cleanly.");
387
+ }
285
388
  return;
286
389
  }
287
390
  const ctx = {
@@ -309,7 +412,18 @@ export async function plate(argv, cliVersion) {
309
412
  const forge = new GitHubAdapter({ owner, repo, token: githubToken });
310
413
  if (result.kind === "no-op") {
311
414
  console.log(`Plate decided not to amend (spend $${result.spendUsd.toFixed(4)}). Posting summary as PR reply.`);
312
- await forge.createIssueComment(pr.number, plateReplyBody(result.summary, result.spendUsd, cliVersion, []));
415
+ for (const o of cosmeticOrDivergent) {
416
+ breadcrumbReplies.push({
417
+ to_comment_id: o.raw.id,
418
+ status: "noop",
419
+ summary: result.summary.split("\n")[0].slice(0, 200),
420
+ });
421
+ }
422
+ await forge.createIssueComment(pr.number, plateReplyBody(result.summary, result.spendUsd, cliVersion, [], {
423
+ version: cliVersion,
424
+ amendment_commit: null,
425
+ replies: breadcrumbReplies,
426
+ }));
313
427
  return;
314
428
  }
315
429
  // Amended: write files + commit + force-push.
@@ -327,7 +441,18 @@ export async function plate(argv, cliVersion) {
327
441
  const changed = await forge.git.hasStagedChanges();
328
442
  if (!changed) {
329
443
  console.log("No-op amendment (re-emitted byte-identical files). Posting note instead of commit.");
330
- await forge.createIssueComment(pr.number, plateReplyBody(`${result.summary}\n\n_(plate produced byte-identical files — no commit. Re-comment with sharper feedback if you wanted a change.)_`, result.spendUsd, cliVersion, result.changeRequests.map((cr) => ({ component: cr.component, path: cr.path, rationale: cr.rationale }))));
444
+ for (const o of cosmeticOrDivergent) {
445
+ breadcrumbReplies.push({
446
+ to_comment_id: o.raw.id,
447
+ status: "noop",
448
+ summary: "Plate considered the comment but produced no diff (re-emit byte-identical).",
449
+ });
450
+ }
451
+ await forge.createIssueComment(pr.number, plateReplyBody(`${result.summary}\n\n_(plate produced byte-identical files — no commit. Re-comment with sharper feedback if you wanted a change.)_`, result.spendUsd, cliVersion, result.changeRequests.map((cr) => ({ component: cr.component, path: cr.path, rationale: cr.rationale })), {
452
+ version: cliVersion,
453
+ amendment_commit: null,
454
+ replies: breadcrumbReplies,
455
+ }));
331
456
  return;
332
457
  }
333
458
  }
@@ -336,10 +461,106 @@ export async function plate(argv, cliVersion) {
336
461
  // amended repeatedly across iterations. Same shape as refine's
337
462
  // amendment force-push pattern.
338
463
  execSync(`git -C ${JSON.stringify(args.repoRoot)} push --force-with-lease origin ${JSON.stringify(pr.headBranch)}`, { stdio: "inherit" });
339
- await forge.createIssueComment(pr.number, plateReplyBody(result.summary, result.spendUsd, cliVersion, result.changeRequests.map((cr) => ({ component: cr.component, path: cr.path, rationale: cr.rationale }))));
464
+ // 0.16.0-α.15 capture the just-pushed commit SHA for the breadcrumb.
465
+ let amendmentSha = null;
466
+ try {
467
+ amendmentSha = execSync(`git -C ${JSON.stringify(args.repoRoot)} rev-parse HEAD`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim();
468
+ }
469
+ catch { /* best-effort */ }
470
+ // Each cosmetic/divergent overlay comment gets an "applied" breadcrumb
471
+ // (the LLM's prose summary attributes specifics; for the pin layer's
472
+ // status icon this is sufficient).
473
+ for (const o of cosmeticOrDivergent) {
474
+ breadcrumbReplies.push({
475
+ to_comment_id: o.raw.id,
476
+ status: "applied",
477
+ summary: shortSummaryFor(o, result.summary),
478
+ files_touched: result.files.map((f) => f.path),
479
+ });
480
+ }
481
+ await forge.createIssueComment(pr.number, plateReplyBody(result.summary, result.spendUsd, cliVersion, result.changeRequests.map((cr) => ({ component: cr.component, path: cr.path, rationale: cr.rationale })), {
482
+ version: cliVersion,
483
+ amendment_commit: amendmentSha,
484
+ replies: breadcrumbReplies,
485
+ }));
340
486
  console.log(`Plate amendment pushed + summary posted on PR #${pr.number}.`);
341
487
  }
342
- function plateReplyBody(summary, spendUsd, cliVersion, changeRequests) {
488
+ /**
489
+ * 0.16.0-α.15 — pluck a one-line summary for an overlay comment from
490
+ * the LLM's run-level summary. Best-effort: when the summary mentions
491
+ * the comment's author / selector, use that line; otherwise fall back
492
+ * to a generic "Plate amendment applied" line.
493
+ */
494
+ function shortSummaryFor(o, runSummary) {
495
+ const lines = runSummary.split(/\r?\n/);
496
+ const sel = o.payload.element?.selector ?? null;
497
+ for (const line of lines) {
498
+ if ((sel && line.includes(sel)) || line.includes(`@${o.raw.author}`)) {
499
+ return line.replace(/^[-*]\s*/, "").slice(0, 200);
500
+ }
501
+ }
502
+ return "Plate amendment applied (see commit + summary above).";
503
+ }
504
+ /**
505
+ * 0.16.0-α.7 — build the escalation reply for a spec-altering review-
506
+ * overlay comment. The PM either:
507
+ * (a) confirms via /plate confirm-spec-change → α.7.1+ (TODO)
508
+ * (b) amends the spec via /refine on the spec PR upstream
509
+ * (c) discards via /plate keep-spec
510
+ *
511
+ * Until α.7.1 lands, options (a) + (c) are advisory; option (b) is
512
+ * the working path. The PM must amend the spec, re-merge, and the
513
+ * mockup PR's vibe will get the new spec on next iteration.
514
+ */
515
+ function buildEscalationBody(sa, cliVersion) {
516
+ const lines = [];
517
+ lines.push("### slowcook · plate · spec-altering feedback (escalated)");
518
+ lines.push("");
519
+ lines.push(`Plate classified the previous review-overlay comment ` +
520
+ `${sa.payload.element ? `on \`${sa.payload.element.selector}\` ` : "(general note) "}` +
521
+ `as **spec-altering** and is NOT amending the mock for it. The reasoning:`);
522
+ lines.push("");
523
+ lines.push(`> ${sa.rationale}`);
524
+ if (sa.matchedSpecTerms.length > 0) {
525
+ lines.push("");
526
+ lines.push(`Matched spec terms: ${sa.matchedSpecTerms.map((t) => `\`${t}\``).join(", ")}`);
527
+ }
528
+ lines.push("");
529
+ lines.push("**To proceed, choose one:**");
530
+ lines.push("");
531
+ lines.push(`- **Amend the spec** (recommended): \`/refine\` on the spec PR upstream and the next mockup iteration picks up the new contract.`);
532
+ lines.push(`- **Keep the spec, discard this comment**: comment \`/plate keep-spec\` and plate will skip this on the next iteration.`);
533
+ lines.push(`- **Confirm the spec change inline**: comment \`/plate confirm-spec-change\` (lands in α.7.1; until then use the spec PR path).`);
534
+ lines.push("");
535
+ lines.push(`<!-- slowcook:cost agent=plate type=escalation cli=${cliVersion} -->`);
536
+ // 0.16.0-α.15 — breadcrumb so the overlay's pin layer correlates
537
+ // this escalation to the originating overlay comment by id (no
538
+ // timestamp heuristics). One reply entry per escalation comment.
539
+ if (sa.commentId !== undefined) {
540
+ const reply = {
541
+ version: cliVersion,
542
+ amendment_commit: null,
543
+ replies: [
544
+ {
545
+ to_comment_id: sa.commentId,
546
+ status: "spec-altering",
547
+ summary: `Escalated: ${sa.rationale}`.slice(0, 240),
548
+ },
549
+ ],
550
+ };
551
+ lines.push("");
552
+ lines.push(formatPlateReplyBlock(reply));
553
+ }
554
+ return lines.join("\n");
555
+ }
556
+ function plateReplyBody(summary, spendUsd, cliVersion, changeRequests,
557
+ /**
558
+ * 0.16.0-α.15 — breadcrumb so the overlay's pin layer (review-overlay
559
+ * 0.3.0+) can correlate replies to their original overlay comments by
560
+ * id, no timestamp heuristics. When undefined, no breadcrumb block is
561
+ * emitted (back-compat with non-overlay /plate triggers).
562
+ */
563
+ plateReply) {
343
564
  const parts = [];
344
565
  parts.push("### slowcook · plate amendment");
345
566
  parts.push("");
@@ -359,6 +580,10 @@ function plateReplyBody(summary, spendUsd, cliVersion, changeRequests) {
359
580
  }
360
581
  parts.push("");
361
582
  parts.push(`<!-- slowcook:cost agent=plate usd=${spendUsd.toFixed(4)} model=claude-opus-4-7 cli=${cliVersion} -->`);
583
+ if (plateReply && plateReply.replies.length > 0) {
584
+ parts.push("");
585
+ parts.push(formatPlateReplyBlock(plateReply));
586
+ }
362
587
  return parts.join("\n");
363
588
  }
364
589
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/plate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/plate/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * `slowcook port` — deterministic mock → src copy step.
3
+ *
4
+ * Runs as a CI step before brew on the brew PR's branch. No LLM.
5
+ * Same input → same output.
6
+ *
7
+ * Walks `mock/src/components/` + `mock/src/app/`, copies each file to
8
+ * the mirrored src/ path, applying small import + hook rewrites so the
9
+ * production component reads via `@/lib/data#useDataDomain` instead of
10
+ * the mock-runtime hook. Brew writes the actual data layer.
11
+ *
12
+ * Excluded from the copy:
13
+ * - mock/scenarios/, mock/src/lib/scenario-registry* (mock-only infra)
14
+ * - any mock file with a `@slowcook-port-skip` marker in its first
15
+ * 20 lines (file-level opt-out for shims like mock-emotions.ts)
16
+ *
17
+ * Conflict resolution at the destination (no abort, no hardcoded
18
+ * exclusions for layout.tsx / page.tsx / globals.css):
19
+ * - destination missing → CREATE
20
+ * - destination matches our output → NO-OP
21
+ * - destination has @slowcook-port-from → UPDATE
22
+ * - destination is hand-written (no marker)→ SKIP with notice
23
+ * (consumer's prod file is the source of truth; --force to override)
24
+ *
25
+ * What "deterministic" buys us: the diff is auditable in the PR, brew
26
+ * has a clear scope, and a future tooling pass could re-run port to
27
+ * detect drift.
28
+ */
29
+ export declare function port(argv: string[], _cliVersion: string): Promise<void>;
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/port/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA6FH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD7E"}