@slowcook-ai/cli 0.16.0-alpha.1 → 0.16.0-alpha.10

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 (54) hide show
  1. package/README.md +10 -0
  2. package/dist/cli.js +18 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/brew/agent.d.ts.map +1 -1
  5. package/dist/commands/brew/agent.js +26 -3
  6. package/dist/commands/brew/agent.js.map +1 -1
  7. package/dist/commands/init/mock.js +14 -6
  8. package/dist/commands/init/mock.js.map +1 -1
  9. package/dist/commands/plate/classify.d.ts +65 -0
  10. package/dist/commands/plate/classify.d.ts.map +1 -0
  11. package/dist/commands/plate/classify.js +194 -0
  12. package/dist/commands/plate/classify.js.map +1 -0
  13. package/dist/commands/plate/index.d.ts.map +1 -1
  14. package/dist/commands/plate/index.js +121 -17
  15. package/dist/commands/plate/index.js.map +1 -1
  16. package/dist/commands/port/index.d.ts +21 -0
  17. package/dist/commands/port/index.d.ts.map +1 -0
  18. package/dist/commands/port/index.js +203 -0
  19. package/dist/commands/port/index.js.map +1 -0
  20. package/dist/commands/port/transform.d.ts +51 -0
  21. package/dist/commands/port/transform.d.ts.map +1 -0
  22. package/dist/commands/port/transform.js +102 -0
  23. package/dist/commands/port/transform.js.map +1 -0
  24. package/dist/commands/preview/config.d.ts +73 -0
  25. package/dist/commands/preview/config.d.ts.map +1 -0
  26. package/dist/commands/preview/config.js +200 -0
  27. package/dist/commands/preview/config.js.map +1 -0
  28. package/dist/commands/preview/deploy.d.ts +35 -0
  29. package/dist/commands/preview/deploy.d.ts.map +1 -0
  30. package/dist/commands/preview/deploy.js +247 -0
  31. package/dist/commands/preview/deploy.js.map +1 -0
  32. package/dist/commands/preview/index.d.ts +9 -0
  33. package/dist/commands/preview/index.d.ts.map +1 -0
  34. package/dist/commands/preview/index.js +67 -0
  35. package/dist/commands/preview/index.js.map +1 -0
  36. package/dist/commands/preview/ssh.d.ts +49 -0
  37. package/dist/commands/preview/ssh.d.ts.map +1 -0
  38. package/dist/commands/preview/ssh.js +99 -0
  39. package/dist/commands/preview/ssh.js.map +1 -0
  40. package/dist/commands/preview/teardown.d.ts +25 -0
  41. package/dist/commands/preview/teardown.d.ts.map +1 -0
  42. package/dist/commands/preview/teardown.js +164 -0
  43. package/dist/commands/preview/teardown.js.map +1 -0
  44. package/dist/commands/refine/proposals-synth.js +17 -1
  45. package/dist/commands/refine/proposals-synth.js.map +1 -1
  46. package/dist/commands/refine/spec-yaml.d.ts +100 -100
  47. package/dist/commands/vibe/emit.d.ts +6 -0
  48. package/dist/commands/vibe/emit.d.ts.map +1 -1
  49. package/dist/commands/vibe/emit.js +12 -0
  50. package/dist/commands/vibe/emit.js.map +1 -1
  51. package/dist/commands/vibe/index.d.ts.map +1 -1
  52. package/dist/commands/vibe/index.js +143 -44
  53. package/dist/commands/vibe/index.js.map +1 -1
  54. package/package.json +6 -5
@@ -0,0 +1,194 @@
1
+ /**
2
+ * PM-comment classifier — 0.16.0-α.7.
3
+ *
4
+ * Each element-anchored review-overlay comment on a slowcook-mockup PR
5
+ * gets categorized so plate knows what to do with it:
6
+ *
7
+ * - "cosmetic" → amend the mock with minimum diff
8
+ * - "spec-altering" → ESCALATE: would invalidate a spec assertion or
9
+ * acceptance scenario; PM must confirm the spec
10
+ * change before plate touches the mock
11
+ * - "mock-divergence" → the mock diverged from the spec; align mock
12
+ * to spec; note in summary why the PM ask is
13
+ * being interpreted this way
14
+ *
15
+ * α.7 ships a deterministic heuristic. Each classification has a clear
16
+ * rationale string so the escalation comment can quote the trigger.
17
+ *
18
+ * Heuristic structure:
19
+ * 1. Parse the spec YAML to extract the salient assertion targets:
20
+ * - acceptance_scenarios prose lines
21
+ * - api_contract response field names
22
+ * - invariants prose
23
+ * - ui_behavior viewport prose
24
+ * → a flat set of "spec terms" (lowercased, normalized words).
25
+ * 2. Score the comment prose against those terms:
26
+ * - any direct mention of an acceptance keyword phrase → spec-altering
27
+ * - mention of a domain noun + a "remove/change/replace" → spec-altering
28
+ * - mentions only adjective/style words (color, padding, → cosmetic
29
+ * font, spacing, alignment, shadow, etc.)
30
+ * - else → mock-divergence
31
+ *
32
+ * The heuristic is intentionally conservative on spec-altering: false
33
+ * positives only cost a PM confirm round; false negatives let plate
34
+ * silently weaken the spec, which is the failure mode the architecture
35
+ * is designed to prevent. When in doubt → escalate.
36
+ *
37
+ * No LLM dep here — pure functions over inputs. LLM-backed classifier
38
+ * is a future α.7.1 upgrade if heuristic shows real misses.
39
+ */
40
+ const COSMETIC_WORDS = [
41
+ "color", "colour", "shade", "tint", "hue", "rgb", "hex",
42
+ "padding", "margin", "spacing", "gap", "indent",
43
+ "font", "typeface", "weight", "italic", "underline",
44
+ "alignment", "align", "center", "centre", "left-aligned", "right-aligned",
45
+ "shadow", "border", "outline", "radius", "rounded",
46
+ "size", "smaller", "bigger", "larger", "tighter", "looser",
47
+ "background", "bg",
48
+ "icon", "emoji",
49
+ "feel", "vibe", "look",
50
+ "ratio", "scale",
51
+ ];
52
+ const STRUCTURAL_VERBS = [
53
+ "remove", "removed", "delete", "deleted", "drop",
54
+ "replace", "swap", "switch",
55
+ "add", "introduce", "include",
56
+ "change", "rename",
57
+ "split", "merge", "combine",
58
+ "block", "prevent", "disallow",
59
+ "require", "enforce",
60
+ ];
61
+ export function classifyComment(args) {
62
+ const proseNorm = normalize(args.prose);
63
+ const specTerms = extractSpecTerms(args.specYaml);
64
+ const matched = [];
65
+ for (const term of specTerms) {
66
+ if (proseNorm.includes(term))
67
+ matched.push(term);
68
+ }
69
+ const cosmeticHits = COSMETIC_WORDS.filter((w) => containsWord(proseNorm, w));
70
+ const structuralVerb = STRUCTURAL_VERBS.find((v) => containsWord(proseNorm, v));
71
+ // Rule 1 — spec term + structural verb → spec-altering. Highest
72
+ // priority; this is the failure mode we MUST escalate. "Remove the
73
+ // pinned strip" / "replace pinned with bookmarked" etc.
74
+ if (matched.length > 0 && structuralVerb) {
75
+ return {
76
+ classification: "spec-altering",
77
+ rationale: `Mentions spec term${matched.length > 1 ? "s" : ""} (${matched.slice(0, 5).map((m) => `"${m}"`).join(", ")}) ` +
78
+ `together with structural verb "${structuralVerb}". This would change the spec's contract; ` +
79
+ `PM must confirm before the mock changes.`,
80
+ matchedSpecTerms: matched,
81
+ };
82
+ }
83
+ // Rule 2 — cosmetic word present (with or without spec term, but
84
+ // no structural verb) → cosmetic. A PM saying "the Pinned button
85
+ // background should be coral" is naming the element AND asking for
86
+ // a style change; that's still cosmetic. Amend the mock with min diff.
87
+ if (cosmeticHits.length > 0) {
88
+ return {
89
+ classification: "cosmetic",
90
+ rationale: `Style-only feedback (matched: ${cosmeticHits.slice(0, 5).map((w) => `"${w}"`).join(", ")})` +
91
+ (matched.length > 0
92
+ ? `; spec term${matched.length > 1 ? "s" : ""} (${matched.slice(0, 3).map((m) => `"${m}"`).join(", ")}) named the element but no structural verb present.`
93
+ : `; no spec terms triggered.`),
94
+ matchedSpecTerms: matched,
95
+ };
96
+ }
97
+ // Rule 3 — spec terms with no cosmetic word and no structural verb
98
+ // → mock-divergence. The PM is talking about something the spec
99
+ // mentions but neither styling it nor changing the contract.
100
+ // Likely "mock shows X but spec says Y."
101
+ if (matched.length > 0) {
102
+ return {
103
+ classification: "mock-divergence",
104
+ rationale: `Mentions spec term${matched.length > 1 ? "s" : ""} (${matched.slice(0, 5).map((m) => `"${m}"`).join(", ")}) ` +
105
+ `without a structural verb or styling cue. Likely the mock diverged from spec; align mock to spec.`,
106
+ matchedSpecTerms: matched,
107
+ };
108
+ }
109
+ // Rule 4 — fallthrough. No signal in any direction. Default to
110
+ // mock-divergence so plate's LLM still gets the chance to reason
111
+ // about both spec + comment in context (false-positive cost is low).
112
+ return {
113
+ classification: "mock-divergence",
114
+ rationale: `No clear spec or style signal in the prose. Defaulting to mock-divergence so plate has a chance to reconcile against the spec.`,
115
+ matchedSpecTerms: [],
116
+ };
117
+ }
118
+ /**
119
+ * Extract candidate "spec terms" — lowercase, deduplicated significant
120
+ * tokens from the spec sections plate cares about. Used by the
121
+ * classifier to detect overlap between PM prose and spec assertions.
122
+ */
123
+ export function extractSpecTerms(specYaml) {
124
+ const sections = ["acceptance_scenarios", "invariants", "api_contract"];
125
+ const terms = new Set();
126
+ // Also include ui_behavior viewport prose — a comment about
127
+ // "remove the desktop_light pinned strip" is spec-altering.
128
+ for (const sec of [...sections, "ui_behavior"]) {
129
+ const body = extractYamlSection(specYaml, sec);
130
+ if (!body)
131
+ continue;
132
+ for (const tok of tokenize(body)) {
133
+ if (isStopword(tok))
134
+ continue;
135
+ if (tok.length < 4)
136
+ continue; // skip short noise
137
+ terms.add(tok);
138
+ }
139
+ }
140
+ return Array.from(terms);
141
+ }
142
+ function extractYamlSection(yaml, sectionName) {
143
+ // Find the line `sectionName:` at indent 0; capture indented body
144
+ // until the next zero-indent line.
145
+ const lines = yaml.split(/\r?\n/);
146
+ const out = [];
147
+ let inSection = false;
148
+ for (const raw of lines) {
149
+ const m = raw.match(/^(\s*)([a-zA-Z_][\w]*)\s*:/);
150
+ if (m && m[1].length === 0) {
151
+ if (m[2] === sectionName) {
152
+ inSection = true;
153
+ continue;
154
+ }
155
+ else if (inSection) {
156
+ // hit a sibling top-level key
157
+ break;
158
+ }
159
+ }
160
+ if (inSection)
161
+ out.push(raw);
162
+ }
163
+ return out.join("\n");
164
+ }
165
+ function normalize(s) {
166
+ return s.toLowerCase().replace(/\s+/g, " ").trim();
167
+ }
168
+ function tokenize(s) {
169
+ // Split on non-word; preserve underscores (snake_case identifiers)
170
+ return s
171
+ .toLowerCase()
172
+ .split(/[^a-z0-9_]+/)
173
+ .filter((w) => w.length > 0);
174
+ }
175
+ function containsWord(haystackNorm, needle) {
176
+ // Word-boundary check; needle is already lowercase.
177
+ const re = new RegExp(`(^|[^a-z0-9_])${escapeRe(needle)}([^a-z0-9_]|$)`);
178
+ return re.test(haystackNorm);
179
+ }
180
+ function escapeRe(s) {
181
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
182
+ }
183
+ const STOPWORDS = new Set([
184
+ "the", "a", "an", "and", "or", "but", "of", "in", "on", "at", "to", "for", "with", "by", "is", "are", "was", "were", "be", "been", "being", "have", "has", "had", "do", "does", "did", "this", "that", "these", "those", "it", "its", "as", "if", "then", "else", "when", "while", "each", "every", "any", "all", "not", "no", "yes", "true", "false", "null", "can", "will", "may", "must", "should", "would", "also", "only", "very", "more", "most", "such", "than", "into", "from", "over", "under", "between", "through", "because", "since", "once", "yaml", "example", "note", "todo", "null_", "status", "approved", "draft", "paused", "active",
185
+ ]);
186
+ function isStopword(w) {
187
+ if (STOPWORDS.has(w))
188
+ return true;
189
+ // Pure-numeric tokens are noise
190
+ if (/^[0-9]+$/.test(w))
191
+ return true;
192
+ return false;
193
+ }
194
+ //# sourceMappingURL=classify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/commands/plate/classify.ts"],"names":[],"mappings":"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"}
@@ -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;AAoPH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0R7E"}
@@ -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 } 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,
@@ -174,24 +177,26 @@ function lastPlateCommitDate(repoRoot, branch) {
174
177
  }
175
178
  }
176
179
  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.
180
+ // 0.16.0-α.7 files plate amends now live under mock/, not src/.
181
+ // The 0.16 architecture keeps mock + production in separate
182
+ // filesystems; brew + slowcook port handle the src/ side.
183
+ // Vibe writes: mock/scenarios/story-N.ts (always), mock/src/lib/
184
+ // scenario-registry.ts (extends), mock/src/components/.../*.tsx
185
+ // (rarely — only new primitives). Plate amends any of these.
180
186
  const out = [];
181
- const patterns = ["src/**/*.tsx", "src/**/*.ts"];
187
+ const patterns = ["mock/**/*.tsx", "mock/**/*.ts"];
182
188
  for (const pat of patterns) {
183
189
  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
190
  for (const line of lsOut.split("\n")) {
185
191
  const trimmed = line.trim();
186
192
  if (!trimmed)
187
193
  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)
194
+ // Only include files vibe writes / plate may amend.
195
+ const isScenario = /^mock\/scenarios\/story-[\w-]+\.ts$/.test(trimmed);
196
+ const isRegistry = trimmed === "mock/src/lib/scenario-registry.ts";
197
+ const isMockComponent = trimmed.startsWith("mock/src/components/") && /\.tsx$/.test(trimmed);
198
+ const isMockPage = /^mock\/src\/app\/.*page\.tsx$/.test(trimmed);
199
+ if (!isScenario && !isRegistry && !isMockComponent && !isMockPage)
195
200
  continue;
196
201
  try {
197
202
  const contents = execSync(`git -C ${JSON.stringify(repoRoot)} show ${JSON.stringify(branch + ":" + trimmed)}`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
@@ -230,6 +235,15 @@ export async function plate(argv, cliVersion) {
230
235
  console.error(`PR #${pr.number} head branch '${pr.headBranch}' doesn't match slowcook/mockup/story-N convention. Refusing to act.`);
231
236
  process.exit(2);
232
237
  }
238
+ // 0.16.0-α.7 — refuse to amend after the PM applied the
239
+ // slowcook-mockup-approved label. A stray review-overlay comment
240
+ // (or accidental /plate) shouldn't bounce a finalized mockup.
241
+ // PM can remove the label to reopen plate iteration.
242
+ if (pr.labels.includes(APPROVED_LABEL)) {
243
+ console.log(`PR #${pr.number} carries label \`${APPROVED_LABEL}\`. Plate refuses to amend approved mockups. ` +
244
+ `Remove the label to reopen iteration.`);
245
+ return;
246
+ }
233
247
  const storyId = pr.headBranch.replace(/^slowcook\/mockup\/story-/, "");
234
248
  // Fetch the spec from main (the source of truth).
235
249
  execSync(`git -C ${JSON.stringify(args.repoRoot)} fetch origin main`, {
@@ -274,14 +288,71 @@ export async function plate(argv, cliVersion) {
274
288
  console.log(`Filtering feedback to comments newer than last plate commit at ${cutoffDate}.`);
275
289
  }
276
290
  const filterByDate = (c) => cutoffDate ? c.createdAt > cutoffDate : true;
291
+ const rawTimeline = fetchTimelineComments(pr.number).filter(filterByDate);
292
+ const inlineComments = fetchInlineComments(pr.number).filter(filterByDate);
293
+ // 0.16.0-α.7 — split timeline comments into review-overlay (structured,
294
+ // classified) vs free-prose (unstructured, treated as before).
295
+ const overlayComments = [];
296
+ const proseTimeline = [];
297
+ for (const c of rawTimeline) {
298
+ const payload = parseReviewComment(c.body);
299
+ if (payload) {
300
+ const cls = classifyComment({ prose: payload.prose, specYaml });
301
+ overlayComments.push({
302
+ payload,
303
+ classification: cls.classification,
304
+ rationale: cls.rationale,
305
+ matchedSpecTerms: cls.matchedSpecTerms,
306
+ raw: c,
307
+ });
308
+ }
309
+ else {
310
+ proseTimeline.push(c);
311
+ }
312
+ }
313
+ const specAltering = overlayComments.filter((o) => o.classification === "spec-altering");
314
+ const cosmeticOrDivergent = overlayComments.filter((o) => o.classification !== "spec-altering");
315
+ console.log(`Feedback to act on: ${proseTimeline.length} prose comment(s), ${overlayComments.length} review-overlay comment(s) ` +
316
+ `(${cosmeticOrDivergent.length} amendable, ${specAltering.length} spec-altering — escalating), ` +
317
+ `${inlineComments.length} inline comment(s).`);
318
+ // 0.16.0-α.7 — for each spec-altering comment, post an escalation
319
+ // reply on the PR and EXCLUDE it from the agent's feedback. The PM
320
+ // can confirm via /plate confirm-spec-change (handled in α.7.1)
321
+ // OR via amending the spec PR upstream.
322
+ if (specAltering.length > 0) {
323
+ const githubAdapter = new GitHubAdapter({ owner, repo, token: githubToken });
324
+ for (const sa of specAltering) {
325
+ await githubAdapter.createIssueComment(pr.number, buildEscalationBody(sa, cliVersion));
326
+ }
327
+ console.log(`Posted ${specAltering.length} escalation reply/replies for spec-altering comments. They will NOT influence this plate amendment.`);
328
+ }
329
+ // For mock-divergence + cosmetic, render their structured prose into
330
+ // the timeline-comment shape the agent already understands. The
331
+ // classification rationale becomes a hint the agent sees in context.
332
+ const classifiedTimelineForAgent = [
333
+ ...proseTimeline,
334
+ ...cosmeticOrDivergent.map((o) => ({
335
+ author: o.raw.author,
336
+ body: `[${o.classification}] selector \`${o.payload.element.selector}\` (${o.payload.element.tag}` +
337
+ `${o.payload.element.text_hint ? ` · "${o.payload.element.text_hint}"` : ""}):\n\n` +
338
+ o.payload.prose +
339
+ `\n\n_(Plate classifier: ${o.rationale})_`,
340
+ createdAt: o.raw.createdAt,
341
+ })),
342
+ ];
277
343
  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
344
+ timelineComments: classifiedTimelineForAgent,
345
+ inlineComments,
346
+ screenshots: [], // α.3.1 / α.7.x will populate from comment attachments
281
347
  };
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.");
348
+ if (feedback.timelineComments.length === 0 &&
349
+ feedback.inlineComments.length === 0) {
350
+ if (specAltering.length > 0) {
351
+ console.log("Only spec-altering feedback present — escalations posted; no amendment to make.");
352
+ }
353
+ else {
354
+ console.log("Nothing to amend. Exiting cleanly.");
355
+ }
285
356
  return;
286
357
  }
287
358
  const ctx = {
@@ -339,6 +410,39 @@ export async function plate(argv, cliVersion) {
339
410
  await forge.createIssueComment(pr.number, plateReplyBody(result.summary, result.spendUsd, cliVersion, result.changeRequests.map((cr) => ({ component: cr.component, path: cr.path, rationale: cr.rationale }))));
340
411
  console.log(`Plate amendment pushed + summary posted on PR #${pr.number}.`);
341
412
  }
413
+ /**
414
+ * 0.16.0-α.7 — build the escalation reply for a spec-altering review-
415
+ * overlay comment. The PM either:
416
+ * (a) confirms via /plate confirm-spec-change → α.7.1+ (TODO)
417
+ * (b) amends the spec via /refine on the spec PR upstream
418
+ * (c) discards via /plate keep-spec
419
+ *
420
+ * Until α.7.1 lands, options (a) + (c) are advisory; option (b) is
421
+ * the working path. The PM must amend the spec, re-merge, and the
422
+ * mockup PR's vibe will get the new spec on next iteration.
423
+ */
424
+ function buildEscalationBody(sa, cliVersion) {
425
+ const lines = [];
426
+ lines.push("### slowcook · plate · spec-altering feedback (escalated)");
427
+ lines.push("");
428
+ lines.push(`Plate classified the previous review-overlay comment on \`${sa.payload.element.selector}\` ` +
429
+ `as **spec-altering** and is NOT amending the mock for it. The reasoning:`);
430
+ lines.push("");
431
+ lines.push(`> ${sa.rationale}`);
432
+ if (sa.matchedSpecTerms.length > 0) {
433
+ lines.push("");
434
+ lines.push(`Matched spec terms: ${sa.matchedSpecTerms.map((t) => `\`${t}\``).join(", ")}`);
435
+ }
436
+ lines.push("");
437
+ lines.push("**To proceed, choose one:**");
438
+ lines.push("");
439
+ lines.push(`- **Amend the spec** (recommended): \`/refine\` on the spec PR upstream and the next mockup iteration picks up the new contract.`);
440
+ lines.push(`- **Keep the spec, discard this comment**: comment \`/plate keep-spec\` and plate will skip this on the next iteration.`);
441
+ lines.push(`- **Confirm the spec change inline**: comment \`/plate confirm-spec-change\` (lands in α.7.1; until then use the spec PR path).`);
442
+ lines.push("");
443
+ lines.push(`<!-- slowcook:cost agent=plate type=escalation cli=${cliVersion} -->`);
444
+ return lines.join("\n");
445
+ }
342
446
  function plateReplyBody(summary, spendUsd, cliVersion, changeRequests) {
343
447
  const parts = [];
344
448
  parts.push("### slowcook · plate amendment");
@@ -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,21 @@
1
+ /**
2
+ * `slowcook port` — 0.16.0-α.8.
3
+ *
4
+ * Deterministic copy step from mock/ → src/. No LLM. Same input →
5
+ * same output. Runs as a CI step before brew on the brew PR's branch.
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 (α.9) writes the actual data layer.
11
+ *
12
+ * Excluded from the copy: `mock/scenarios/`, `mock/src/lib/scenario-
13
+ * registry.ts`, anything mock-only infrastructure.
14
+ *
15
+ * What "deterministic" buys us: the diff is auditable in the PR, brew
16
+ * has a clear scope (anything outside src/lib/data + src/app/api +
17
+ * supabase/migrations is off-limits), and a future tooling pass could
18
+ * re-run port to detect drift.
19
+ */
20
+ export declare function port(argv: string[], _cliVersion: string): Promise<void>;
21
+ //# 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;;;;;;;;;;;;;;;;;;GAkBG;AAsFH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D7E"}