@slowcook-ai/cli 0.14.0-alpha.2 → 0.14.0-alpha.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,UAAU,CAAC;AAMtD,OAAO,KAAK,EACV,YAAY,EAGZ,IAAI,EAEL,MAAM,mBAAmB,CAAC;AA+B3B,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,0DAA2C,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,GAAG,EAAE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAKrC,wBAAsB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAuP9E;AAsED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAyFjC,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,YAAY,GAChB,WAAW,CAiFb;AA4CD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IACE;;;;;OAKG;IACH,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA8CrC;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,eAAe,CAAC,CAkU1B"}
@@ -3,6 +3,7 @@ import { z } from "zod";
3
3
  import { costMarker } from "./llm.js";
4
4
  import { synthesizeProposalsFromSpec } from "./proposals-synth.js";
5
5
  import { writeMockFixtures } from "./mock-fixtures.js";
6
+ import { validateAndRepairSpec } from "./spec-validate.js";
6
7
  import { SpecProposalsSchema } from "./spec-yaml.js";
7
8
  import { REFINEMENT_ANALYST_SYSTEM, SPEC_CHECKLIST_MD, AMENDMENT_SYSTEM, draftPrTitle, draftPrBody, } from "./prompts.js";
8
9
  import { readIndex, writeIndex, writeSpec, readSpec, listActiveSpecs, nextStoryId, entryFromSpec, SPECS_DIR, } from "./spec-yaml.js";
@@ -138,6 +139,15 @@ export async function runRefinement(ctx) {
138
139
  }
139
140
  // Spec emitted → write, update index, open draft PR
140
141
  const spec = parsed.spec;
142
+ // 0.14.0-α.6+ — content-level repair before persisting. Catches LLM
143
+ // truncation that Zod missed (e.g. unterminated `var(--tint-in`).
144
+ const validationFindings = validateAndRepairSpec(spec);
145
+ if (validationFindings.length > 0) {
146
+ console.warn(`[refine] spec post-emit validation: ${validationFindings.length} finding(s) — corrupt token entries pruned:`);
147
+ for (const f of validationFindings) {
148
+ console.warn(` - ${f.path}: ${f.message} (${f.action})`);
149
+ }
150
+ }
141
151
  const specPath = writeSpec(ctx.repoRoot, spec);
142
152
  const index = readIndex(ctx.repoRoot);
143
153
  const updatedIndex = applySupersede(index, { id: spec.story_id, entry: entryFromSpec(spec) }, supersedes);
@@ -631,6 +641,14 @@ export async function runResubmitRefinement(ctx) {
631
641
  // If we can't fetch PR state, behave like older versions.
632
642
  }
633
643
  }
644
+ // 0.14.0-α.6+ — content-level repair before persisting (amendment path).
645
+ const amendmentFindings = validateAndRepairSpec(parsed.spec);
646
+ if (amendmentFindings.length > 0) {
647
+ console.warn(`[refine amend] spec post-emit validation: ${amendmentFindings.length} finding(s) — corrupt token entries pruned:`);
648
+ for (const f of amendmentFindings) {
649
+ console.warn(` - ${f.path}: ${f.message} (${f.action})`);
650
+ }
651
+ }
634
652
  // Write, stage, commit
635
653
  const specPath = writeSpec(ctx.repoRoot, parsed.spec);
636
654
  await ctx.forge.git.stage(join(SPECS_DIR, `story-${storyId}.yaml`));
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/refine/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/refine/agent.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,15 @@ import type { Spec, SpecProposals } from "@slowcook-ai/core";
22
22
  * reconstructable into Mermaid without another LLM call)
23
23
  *
24
24
  * Categories NOT covered (low signal — leave to LLM or skip):
25
- * - ui_layout, perf_budget, observability, infra, api_shape
25
+ * - perf_budget, observability, infra, api_shape
26
+ *
27
+ * 0.14.0-α.3+ (V7 hard-signal track): ui_layout + fixtures synthesizers
28
+ * landed when the LLM-side prompt steering proved soft (refine 0.13.6
29
+ * told the agent to emit ui_layout when ui_behavior was present, but on
30
+ * rewo story-015 the agent put real tokens in prose ui_behavior and
31
+ * skipped the structured proposal). The synthesizers below are the
32
+ * hard-signal backstop: when the LLM doesn't elevate to a structured
33
+ * block, the synth derives one from prose + brownfield extracts.
26
34
  */
27
35
  export declare function synthesizeProposalsFromSpec(spec: Spec): SpecProposals;
28
36
  //# sourceMappingURL=proposals-synth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposals-synth.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/proposals-synth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAoBrE"}
1
+ {"version":3,"file":"proposals-synth.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/proposals-synth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CA8BrE"}
@@ -1,3 +1,4 @@
1
+ import { existsSync, readFileSync } from "node:fs";
1
2
  /**
2
3
  * Deterministic post-processor that derives proposals from the spec
3
4
  * body when the LLM inlined decisions into `invariants` / `api_contract`
@@ -21,7 +22,15 @@
21
22
  * reconstructable into Mermaid without another LLM call)
22
23
  *
23
24
  * Categories NOT covered (low signal — leave to LLM or skip):
24
- * - ui_layout, perf_budget, observability, infra, api_shape
25
+ * - perf_budget, observability, infra, api_shape
26
+ *
27
+ * 0.14.0-α.3+ (V7 hard-signal track): ui_layout + fixtures synthesizers
28
+ * landed when the LLM-side prompt steering proved soft (refine 0.13.6
29
+ * told the agent to emit ui_layout when ui_behavior was present, but on
30
+ * rewo story-015 the agent put real tokens in prose ui_behavior and
31
+ * skipped the structured proposal). The synthesizers below are the
32
+ * hard-signal backstop: when the LLM doesn't elevate to a structured
33
+ * block, the synth derives one from prose + brownfield extracts.
25
34
  */
26
35
  export function synthesizeProposalsFromSpec(spec) {
27
36
  const existing = spec.proposals ?? {};
@@ -41,8 +50,216 @@ export function synthesizeProposalsFromSpec(spec) {
41
50
  if (schema)
42
51
  synthesized.schema = schema;
43
52
  }
53
+ if (!existing.ui_layout) {
54
+ const ui = deriveUiLayout(spec);
55
+ if (ui)
56
+ synthesized.ui_layout = ui;
57
+ }
58
+ if (!existing.fixtures) {
59
+ const fx = deriveFixtures(spec);
60
+ if (fx)
61
+ synthesized.fixtures = fx;
62
+ }
44
63
  return synthesized;
45
64
  }
65
+ /**
66
+ * 0.14.0-α.3 — V7 hard-signal backstop for fixtures proposals.
67
+ *
68
+ * Detects "data display" stories — api_contract has at least one GET
69
+ * endpoint AND ui_behavior implies displaying that data — and emits an
70
+ * empty-seed shell. The shell lets refine's writeMockFixtures still emit
71
+ * `<domain>.mock.ts` + `<domain>.ts` stub files (with empty arrays) so
72
+ * the generated mockup and brew's data-layer seam still wire up.
73
+ *
74
+ * Real fixture rows still need either the LLM-side prompt steering or
75
+ * hand-authoring; the shell just unblocks the pipeline.
76
+ *
77
+ * Domain naming: derives from the last meaningful path segment of the
78
+ * first GET endpoint (e.g. `GET /api/profiles/:handle/pins` → `pins`).
79
+ * Conservative: only one domain emitted to keep the synth predictable.
80
+ */
81
+ function deriveFixtures(spec) {
82
+ const api = (spec.api_contract ?? []);
83
+ const gets = api.filter((e) => (e.method ?? "").toUpperCase() === "GET");
84
+ if (gets.length === 0)
85
+ return null;
86
+ const ui = spec.ui_behavior ?? {};
87
+ const uiProse = Object.values(ui).join("\n").toLowerCase();
88
+ if (uiProse.trim().length === 0)
89
+ return null;
90
+ // Heuristic: must imply listing/displaying data, not just a static page.
91
+ if (!/list|strip|feed|grid|cards?|rows?|items?|chronological|render|timeline/i.test(uiProse)) {
92
+ return null;
93
+ }
94
+ // Pick the first GET endpoint's tail segment as the domain.
95
+ const firstPath = gets[0].path ?? "";
96
+ // Strip trailing dynamic segments (`/:rewo_id`) and `/api/` prefix.
97
+ const segs = firstPath
98
+ .replace(/^\/api\//, "")
99
+ .split("/")
100
+ .filter((s) => s.length > 0 && !s.startsWith(":") && !s.startsWith("[") && !s.startsWith("<"));
101
+ const domainRaw = segs[segs.length - 1] ?? "";
102
+ const domain = domainRaw.toLowerCase().replace(/[^a-z0-9_-]/g, "");
103
+ if (!domain || !/^[a-z][a-z0-9_-]*$/.test(domain))
104
+ return null;
105
+ const rationale = "Synthesised by spec-body-synth: api_contract has GET endpoint(s) + ui_behavior implies data display, but no structured fixtures were emitted by refine. Empty-seed shell lets the data-layer seam wire up; hand-author or re-refine to populate the seed before testgen.";
106
+ return {
107
+ status: "pending",
108
+ proposed_by: "spec-body-synth",
109
+ rationale,
110
+ by_domain: {
111
+ [domain]: { seed: { list: [] } },
112
+ },
113
+ };
114
+ }
115
+ /**
116
+ * 0.14.0-α.3 — V7 hard-signal backstop for ui_layout proposals.
117
+ *
118
+ * Walks ui_behavior prose for token usage (`bg-…`, `text-…`, `border-…`,
119
+ * `var(--…)`) and component path mentions (`src/components/…`).
120
+ * Validates each against the brownfield extracts:
121
+ * - tokens.md: only emit tokens that EXIST (filters out invented)
122
+ * - tokens promoted to `tokens_to_add` when they appear in prose
123
+ * but NOT in the catalog (lets brew see invention attempts)
124
+ * Skips if ui_behavior is empty (the agent declared no UI surface).
125
+ *
126
+ * Emits with proposed_by: spec-body-synth so reviewers know it was
127
+ * derived, not hand-authored.
128
+ */
129
+ function deriveUiLayout(spec) {
130
+ const ui = spec.ui_behavior ?? {};
131
+ const prose = Object.values(ui).join("\n");
132
+ if (prose.trim().length === 0)
133
+ return null;
134
+ const seenTokens = new Set();
135
+ // var(--name) usages
136
+ for (const m of prose.matchAll(/var\(\s*(--[a-z0-9_-]+)\s*\)/gi)) {
137
+ seenTokens.add(m[1]);
138
+ }
139
+ // Tailwind-shaped class usages: bg-X, text-X, border-X, divide-X,
140
+ // ring-X. These map onto @theme tokens (e.g. bg-coral → --color-coral).
141
+ // We capture them as the BARE token name without prefix so downstream
142
+ // brew/testgen can grep for them in component source.
143
+ for (const m of prose.matchAll(/\b(?:bg|text|border|divide|ring|fill|stroke)-([a-z][a-z0-9-]*(?:\/\d+)?)\b/gi)) {
144
+ // Skip pure-number tints (`text-foreground/60` is captured via the
145
+ // first half; `/60` is opacity, not a token).
146
+ seenTokens.add(m[0].toLowerCase());
147
+ }
148
+ // Component path mentions
149
+ const components = new Set();
150
+ for (const m of prose.matchAll(/src\/components\/[a-z0-9_/-]+\.(?:tsx|ts)\b/gi)) {
151
+ components.add(m[0]);
152
+ }
153
+ // Also match backtick-wrapped PascalCase names — e.g. "renders each row
154
+ // via `RewoCard`". These are weaker signal but useful for the consumer
155
+ // when the spec doesn't include a path.
156
+ //
157
+ // POLISH-2 (α.5): require a recognized component-name suffix to filter
158
+ // out button-label strings like `Pin`, `Pinned`, `Unpin` that appeared
159
+ // in story-015. Real React components in rewo follow conventions:
160
+ // Card/Page/Form/List/Item/Picker/Toggle/Menu/Logo/Detail/Button/Layout/
161
+ // Provider/Container/Wrapper/Row/Column/Avatar/Badge/Modal/Dialog/Tooltip.
162
+ const COMPONENT_SUFFIX_RE = /(?:Card|Page|Form|List|Item|Picker|Toggle|Menu|Logo|Detail|Button|Layout|Provider|Container|Wrapper|Row|Column|Avatar|Badge|Modal|Dialog|Tooltip|Header|Footer|Sidebar|Nav|NavLink|Strip|Preview|View|Section|Grid|Cell|Field|Input|Select|Switch|Tab|Tabs|Pill|Chip|Tag|Bar|Drawer|Sheet|Panel|Slide|Slider|Toast|Spinner|Loader|Empty|Placeholder)$/;
163
+ const componentNames = new Set();
164
+ for (const m of prose.matchAll(/`([A-Z][A-Za-z0-9]+)`/g)) {
165
+ const name = m[1];
166
+ // Crude filter: skip tags that look like SQL constants (UUID, JSON)
167
+ if (/^(UUID|JSON|HTML|CSS|SQL|API|URL|HTTP|RLS|FK)$/.test(name))
168
+ continue;
169
+ // Require a recognized component-name suffix.
170
+ if (!COMPONENT_SUFFIX_RE.test(name))
171
+ continue;
172
+ componentNames.add(name);
173
+ }
174
+ if (seenTokens.size === 0 && components.size === 0 && componentNames.size === 0) {
175
+ return null;
176
+ }
177
+ // Bucket tokens against the catalog.
178
+ const catalog = readExistingTokens();
179
+ const tokensToReuse = [];
180
+ const tokensToAdd = [];
181
+ for (const t of Array.from(seenTokens).sort()) {
182
+ if (catalog.size === 0) {
183
+ // No brownfield catalog available — emit everything as reuse, the
184
+ // PM/brewer can correct if any are invented.
185
+ tokensToReuse.push(t);
186
+ continue;
187
+ }
188
+ const stem = t.replace(/^(?:bg|text|border|divide|ring|fill|stroke|fill|font)-/, "");
189
+ const stemNoOpacity = stem.replace(/\/\d+$/, "");
190
+ // Skip Tailwind built-in utilities — they're not project tokens, not
191
+ // tokens to add. Includes typography (text-{xs,sm,base,lg,xl,...}),
192
+ // weight (font-{thin,normal,medium,bold,...}), border-{dashed,dotted,solid,
193
+ // none,2,4,8}, ring sizes, opacity etc. Pre-α.4 polish: these polluted
194
+ // tokens_to_add for story-015 (text-sm, text-xs, border-dashed).
195
+ if (isTailwindBuiltin(t))
196
+ continue;
197
+ if (catalog.has(t) || catalog.has(stem) || catalog.has(stemNoOpacity)) {
198
+ tokensToReuse.push(t);
199
+ }
200
+ else if (catalog.has("--" + stemNoOpacity) || catalog.has("--color-" + stemNoOpacity)) {
201
+ tokensToReuse.push(t);
202
+ }
203
+ else {
204
+ tokensToAdd.push(t);
205
+ }
206
+ }
207
+ const componentsToReuse = [
208
+ ...Array.from(components).sort(),
209
+ ...Array.from(componentNames).sort().map((n) => `\`${n}\` (path TBD — derived from spec prose)`),
210
+ ];
211
+ // If we ended up with literally nothing actionable, skip.
212
+ if (tokensToReuse.length === 0 && tokensToAdd.length === 0 && componentsToReuse.length === 0) {
213
+ return null;
214
+ }
215
+ const rationale = "Synthesised by spec-body-synth from `ui_behavior` prose + brownfield extracts in `.brewing/diagrams/tokens.md`. Tokens classified as REUSE when present in the catalog, otherwise flagged in `tokens_to_add` for review. Components extracted from `src/components/...` path mentions and backtick-wrapped PascalCase names. Edit before merging if classifications are wrong.";
216
+ return {
217
+ status: "pending",
218
+ proposed_by: "spec-body-synth",
219
+ rationale,
220
+ components_to_reuse: componentsToReuse.length > 0 ? componentsToReuse : undefined,
221
+ tokens_to_reuse: tokensToReuse.length > 0 ? tokensToReuse : undefined,
222
+ tokens_to_add: tokensToAdd.length > 0 ? tokensToAdd : undefined,
223
+ };
224
+ }
225
+ /**
226
+ * Recognize standard Tailwind utility classes that aren't project-defined
227
+ * design tokens — text sizes, font weights, border styles, etc. These
228
+ * shouldn't appear in either tokens_to_reuse OR tokens_to_add (the former
229
+ * is for project-token reuse, the latter for invented project tokens).
230
+ * Standard utility classes are just framework primitives.
231
+ */
232
+ function isTailwindBuiltin(token) {
233
+ // Strip the property prefix.
234
+ const stem = token.replace(/^(?:bg|text|border|divide|ring|fill|stroke|font)-/, "");
235
+ const stemNoOpacity = stem.replace(/\/\d+$/, "");
236
+ return (/^(?:xs|sm|base|md|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl)$/.test(stemNoOpacity) ||
237
+ /^(?:thin|extralight|light|normal|medium|semibold|bold|extrabold|black)$/.test(stemNoOpacity) ||
238
+ /^(?:dashed|dotted|solid|double|none|hidden)$/.test(stemNoOpacity) ||
239
+ /^(?:0|1|2|4|8|px)$/.test(stemNoOpacity) ||
240
+ /^(?:left|center|right|justify|start|end)$/.test(stemNoOpacity) ||
241
+ /^(?:auto|inherit|current|transparent|initial)$/.test(stemNoOpacity));
242
+ }
243
+ function readExistingTokens() {
244
+ // Read token names from .brewing/diagrams/tokens.md if present.
245
+ // Same fix as readExistingEntities — top-level import instead of
246
+ // require() under ES modules.
247
+ const set = new Set();
248
+ try {
249
+ const path = ".brewing/diagrams/tokens.md";
250
+ if (!existsSync(path))
251
+ return set;
252
+ const content = readFileSync(path, "utf8");
253
+ // Tokens render as table rows: `| \`--color-coral\` | …`
254
+ for (const m of content.matchAll(/\|\s*`(--[a-z0-9_-]+)`/gi)) {
255
+ set.add(m[1].toLowerCase());
256
+ }
257
+ }
258
+ catch {
259
+ // ignore
260
+ }
261
+ return set;
262
+ }
46
263
  function deriveRoutes(spec) {
47
264
  const paths = new Set();
48
265
  // 1. Page-like paths from api_contract entries that don't start with /api/
@@ -64,10 +281,18 @@ function deriveRoutes(spec) {
64
281
  ...(spec.acceptance_scenarios ?? []),
65
282
  ...(spec.non_goals ?? []),
66
283
  ].join("\n");
67
- // Regex accepts either `[name]` (Next.js App Router shape) or
68
- // `<name>` (spec shorthand) as dynamic segments, alongside literal
69
- // path segments. The `<>` form is normalised to `[]` after the scan.
70
- const pathRe = /(?:^|[\s(`"'])(\/(?:[a-z][a-z0-9_-]*)(?:\/(?:\[[a-z_]+\]|<[a-z_]+>|[a-z0-9_-]+))*)(?=[`"'\s)),.?]|$)/gi;
284
+ // Regex accepts dynamic segments in three notations:
285
+ // - `[name]` Next.js App Router shape
286
+ // - `<name>` spec shorthand
287
+ // - `:name` — Express / OpenAPI / colon shorthand (most common in
288
+ // hand-authored api_contract entries; was missed pre-0.14.0-α.3
289
+ // and caused literal example handles to be the only thing
290
+ // captured — see story-015 / `/u/alice` regression).
291
+ // The `<name>` and `:name` forms are normalised to `[name]` after the scan.
292
+ // Step 1 above already covers api_contract paths verbatim; step 2 here
293
+ // sweeps prose for additional path mentions including the canonical
294
+ // dynamic-segment forms.
295
+ const pathRe = /(?:^|[\s(`"'])(\/(?:[a-z][a-z0-9_-]*)(?:\/(?:\[[a-z_]+\]|<[a-z_]+>|:[a-z_][a-z0-9_]*|[a-z0-9_-]+))*)(?=[`"'\s)),.?]|$)/gi;
71
296
  let m;
72
297
  while ((m = pathRe.exec(prose)) !== null) {
73
298
  const raw = m[1];
@@ -75,12 +300,19 @@ function deriveRoutes(spec) {
75
300
  continue;
76
301
  if (raw.includes("."))
77
302
  continue;
78
- // Normalise <name> → [name] so downstream file-path derivation
79
- // sees a Next.js-shaped route regardless of which form the spec
80
- // used in prose.
81
- const normalised = raw.replace(/<([a-z_]+)>/gi, "[$1]");
303
+ // Normalise <name> + :name → [name] so downstream file-path derivation
304
+ // sees a Next.js-shaped route regardless of which form the spec used.
305
+ const normalised = raw
306
+ .replace(/<([a-z_][a-z0-9_]*)>/gi, "[$1]")
307
+ .replace(/:([a-z_][a-z0-9_]*)/gi, "[$1]");
82
308
  paths.add(normalised);
83
309
  }
310
+ // Note (BUG-D, 0.14.0-α.4): an earlier α.3 attempt to lift dynamic
311
+ // segment names from api_contract and rewrite EVERY literal path's
312
+ // last segment was reverted because it generated `/[handle]` from
313
+ // `/feed` when api_contract had `:handle`. The :name regex extension
314
+ // above alone catches the common case (`/u/:handle` in prose) without
315
+ // requiring this aggressive lift.
84
316
  if (paths.size === 0)
85
317
  return null;
86
318
  // Coalesce literal siblings into their dynamic parent: if both
@@ -184,34 +416,268 @@ function deriveAuth(spec) {
184
416
  };
185
417
  }
186
418
  /**
187
- * Detect when the spec implies a new DB table / columns but no structured
188
- * DDL exists. Emits a `pending` schema proposal with a placeholder `sql`
189
- * asking for completion (regenerate or hand-author). Can't reliably
190
- * reconstruct actual DDL from prose without another LLM call that's
191
- * a follow-up. For 0.11.3 we at least surface the gap in the PR body.
419
+ * Detect when the spec implies a new DB table / columns and synthesise a
420
+ * best-effort `CREATE TABLE` from invariants + api_contract response shapes.
421
+ *
422
+ * Pre-0.14.0-α.3 this just emitted a `-- TODO` placeholder. Validated as a
423
+ * regression on rewo story-015: invariants clearly stated `rewo_pins(member_id,
424
+ * rewo_id)`, `pin_limit_reached` trigger, etc., but the synth bailed. Brew
425
+ * couldn't act on a TODO.
426
+ *
427
+ * Now: detects new-table mentions, scrapes column names from invariants +
428
+ * api_contract response prose, infers types by suffix convention
429
+ * (_id → uuid, _at → timestamptz, _count → int, default → text), and
430
+ * emits a CREATE TABLE skeleton with foreign keys when the column suffix
431
+ * matches an existing entity in `.brewing/diagrams/schema.mmd`. Brew /
432
+ * a PM can still hand-author the migration; the skeleton just makes the
433
+ * common case (single new table with conventional columns) shippable
434
+ * without a re-refine round.
192
435
  */
193
436
  function deriveSchema(spec) {
194
437
  const invariants = spec.invariants ?? [];
438
+ const apiContract = (spec.api_contract ?? []);
195
439
  const hints = [];
440
+ const tableMentions = new Map();
441
+ // Heuristic 1: "`<table>(col1, col2)`" or "`<table>`(col1, col2)" pattern
442
+ // in invariants — REQUIRES at least the LEADING backtick. Pre-α.4 both
443
+ // backticks were optional, which swept English prepositions/verbs
444
+ // ("for (member_id, rewo_id)") into the candidate-tables set.
445
+ // See BUG-C. The closing backtick after the name is optional because
446
+ // the most common spec convention wraps table+parens together as one
447
+ // backticked identifier.
448
+ const tableColRe = /`([a-z_][a-z0-9_]*)`?\s*\(\s*([a-z_][a-z0-9_]*(?:\s*,\s*[a-z_][a-z0-9_]*)*)\s*\)/g;
196
449
  for (const inv of invariants) {
197
450
  const text = typeof inv === "string" ? inv : "";
198
451
  if (/\b(?:unique\s+constraint|alter\s+table|add\s+column|(?:create|new)\s+table)\b/i.test(text)) {
199
452
  hints.push(text);
200
453
  }
201
- // Table.column references e.g., `bookmarks(member_id, rewo_id)`
202
- if (/`?[a-z_][a-z0-9_]*`?\s*\(\s*[a-z_][a-z0-9_]*\s*,/i.test(text) && /constraint|unique|index/i.test(text)) {
203
- hints.push(text);
454
+ let m;
455
+ const re = new RegExp(tableColRe.source, "g");
456
+ while ((m = re.exec(text)) !== null) {
457
+ const tbl = m[1].toLowerCase();
458
+ // Skip false positives: function names + SQL reserved words.
459
+ if (/^(?:auth|now|gen_random_uuid|max|min|count|sum|coalesce|select|insert|update|delete|from|where|join|table|create|alter|drop|grant|set|with|on|by|as|in|is|or|and|not|all|any|some|exists)$/i.test(tbl))
460
+ continue;
461
+ const cols = m[2].split(/\s*,\s*/).map((c) => c.trim().toLowerCase()).filter(Boolean);
462
+ if (!tableMentions.has(tbl))
463
+ tableMentions.set(tbl, new Set());
464
+ const set = tableMentions.get(tbl);
465
+ for (const c of cols)
466
+ set.add(c);
467
+ }
468
+ // Heuristic 1b: split-form constraint convention — "`(col1, col2)` in `<table>`"
469
+ // or "constraint on `(col1, col2)` for `<table>`". Common in Postgres-doc-style
470
+ // specs where the column list and table name live in separate backticks.
471
+ // story-015 used this form; α.3 missed it (member_id was dropped from rewo_pins).
472
+ const splitFormRe = /`\(\s*([a-z_][a-z0-9_]*(?:\s*,\s*[a-z_][a-z0-9_]*)*)\s*\)`(?:\s+(?:in|on|for|of|to)\s+)`([a-z_][a-z0-9_]*)`/gi;
473
+ let mm;
474
+ while ((mm = splitFormRe.exec(text)) !== null) {
475
+ const cols = mm[1].split(/\s*,\s*/).map((c) => c.trim().toLowerCase()).filter(Boolean);
476
+ const tbl = mm[2].toLowerCase();
477
+ if (!tableMentions.has(tbl))
478
+ tableMentions.set(tbl, new Set());
479
+ const set = tableMentions.get(tbl);
480
+ for (const c of cols)
481
+ set.add(c);
482
+ }
483
+ }
484
+ // Heuristic 2: any backticked snake_case identifier mentioned >= 2 times
485
+ // across invariants is a strong table-name signal. Walks all invariants
486
+ // (not just per-line) so multi-mention counting works. Pre-α.4 this used
487
+ // a narrow `<word> row|insert|delete` pattern which missed `rewo_pins`
488
+ // (the actual main table in story-015) because the prose said
489
+ // "rows in `rewo_pins` at any time" — `at` doesn't match the suffix list.
490
+ //
491
+ // Blacklist: error codes and column names that appear in api_contract
492
+ // responses as quoted "code" values (e.g. `pin_limit_reached`,
493
+ // `already_pinned`) — those are API contract identifiers, not tables.
494
+ // Pre-α.4 these slipped through and produced spurious `create table
495
+ // pin_limit_reached` etc. (caught on rewo story-015 re-run).
496
+ const errorCodeBlacklist = new Set();
497
+ for (const e of apiContract) {
498
+ const responses = e.responses ?? {};
499
+ for (const respValue of Object.values(responses)) {
500
+ if (typeof respValue !== "string")
501
+ continue;
502
+ // Pull "<name>" from `code: "..."` patterns and `code: name | other_name`.
503
+ for (const m of respValue.matchAll(/code\s*:\s*['"]?([a-z_][a-z0-9_]*)['"]?/gi)) {
504
+ errorCodeBlacklist.add(m[1].toLowerCase());
505
+ }
506
+ // Also pull from `"x" | "y" | "z"` enums after `code:`.
507
+ const codeEnumMatch = respValue.match(/code\s*:\s*((?:['"]?[a-z_][a-z0-9_]*['"]?\s*\|\s*)+['"]?[a-z_][a-z0-9_]*['"]?)/i);
508
+ if (codeEnumMatch) {
509
+ for (const part of codeEnumMatch[1].split("|")) {
510
+ const name = part.trim().replace(/^['"]|['"]$/g, "");
511
+ if (/^[a-z_][a-z0-9_]*$/i.test(name))
512
+ errorCodeBlacklist.add(name.toLowerCase());
513
+ }
514
+ }
515
+ }
516
+ }
517
+ // Also blacklist anything that follows "raising" / "raises" in prose —
518
+ // standard pattern for declaring trigger-raised error codes.
519
+ for (const inv of invariants) {
520
+ const text = typeof inv === "string" ? inv : "";
521
+ for (const m of text.matchAll(/(?:raising|raises|throws|throwing|with code)\s+`?([a-z_][a-z0-9_]*)`?/gi)) {
522
+ errorCodeBlacklist.add(m[1].toLowerCase());
523
+ }
524
+ }
525
+ const tickedCounts = new Map();
526
+ const allInvariants = invariants.map((inv) => (typeof inv === "string" ? inv : "")).join("\n");
527
+ for (const m of allInvariants.matchAll(/`([a-z_][a-z0-9_]+)`/g)) {
528
+ const id = m[1].toLowerCase();
529
+ // Skip identifiers that contain operators/spaces (like `pinned_at = now()`)
530
+ // — those wouldn't match the regex anyway, but defensive.
531
+ // Skip likely-column-names (single short word with no underscore).
532
+ if (id.length < 4)
533
+ continue;
534
+ if (errorCodeBlacklist.has(id))
535
+ continue;
536
+ tickedCounts.set(id, (tickedCounts.get(id) ?? 0) + 1);
537
+ }
538
+ for (const [id, count] of tickedCounts) {
539
+ if (count < 2)
540
+ continue;
541
+ // Require either (a) a snake_case shape with at least one underscore
542
+ // (table names usually multi-word like `rewo_pins`), OR (b) appears
543
+ // alongside a SQL action word in the same invariant.
544
+ const hasUnderscore = id.includes("_");
545
+ const hasActionContext = invariants.some((inv) => {
546
+ const text = typeof inv === "string" ? inv : "";
547
+ return text.includes("`" + id + "`") &&
548
+ /\b(?:row|rows|insert|delete|select|update|table|trigger|constraint)\b/i.test(text);
549
+ });
550
+ if (!hasUnderscore && !hasActionContext)
551
+ continue;
552
+ if (!tableMentions.has(id))
553
+ tableMentions.set(id, new Set());
554
+ }
555
+ // Heuristic 3: api_contract path tail = candidate domain table name
556
+ // (e.g. POST /api/pins → table `pins` or `<resource>_pins`); but only
557
+ // treat as a HINT for column names — actual table-name detection comes
558
+ // from invariants above so we don't invent tables nobody mentioned.
559
+ const apiColumns = new Set();
560
+ for (const e of apiContract) {
561
+ const responses = e.responses ?? {};
562
+ for (const respValue of Object.values(responses)) {
563
+ if (typeof respValue !== "string")
564
+ continue;
565
+ // Pull bareword identifiers from response prose like
566
+ // `{ id: string, rewo_id: string, pinned_at: string }`.
567
+ for (const colMatch of respValue.matchAll(/\b([a-z_][a-z0-9_]*)\s*:/gi)) {
568
+ const name = colMatch[1].toLowerCase();
569
+ if (/^(items|status|error|code|next_cursor|message|count|total|data)$/.test(name))
570
+ continue;
571
+ apiColumns.add(name);
572
+ }
204
573
  }
205
574
  }
206
- if (hints.length === 0)
575
+ if (tableMentions.size === 0 && hints.length === 0)
207
576
  return null;
577
+ // Determine which mentioned tables are NEW vs existing — use the
578
+ // brownfield ERD if available so we don't redundantly emit CREATE
579
+ // TABLE for a table that already lives in supabase/migrations.
580
+ const existingEntities = readExistingEntities(spec);
581
+ const newTables = Array.from(tableMentions.entries()).filter(([t]) => !existingEntities.has(t.toLowerCase()));
582
+ let sql;
583
+ if (newTables.length === 0) {
584
+ // All mentioned tables already exist — likely an ALTER. Fall through
585
+ // to the legacy TODO (we don't yet synthesise ALTER statements).
586
+ sql =
587
+ "-- TODO: structured ALTER not emitted by refine. Invariants referencing schema:\n" +
588
+ hints.map((h) => `-- * ${h.replace(/\n/g, " ")}`).join("\n") +
589
+ "\n-- Regenerate the spec or hand-author the migration.\n";
590
+ }
591
+ else {
592
+ sql = newTables
593
+ .map(([table, cols]) => renderCreateTable(table, cols, apiColumns, existingEntities))
594
+ .join("\n\n");
595
+ }
596
+ const rationale = newTables.length > 0
597
+ ? `Synthesised CREATE TABLE for ${newTables.length} new table(s) detected in invariants — column types inferred by suffix convention (_id → uuid, _at → timestamptz). Foreign keys validated against existing entities in .brewing/diagrams/schema.mmd. Review + edit before merging.`
598
+ : "The spec's invariants imply altered tables or constraints but structured DDL was not emitted in proposals. The SQL below is a placeholder — regenerate the spec or hand-author the migration to replace it.";
208
599
  return {
209
600
  status: "pending",
210
601
  proposed_by: "spec-body-synth",
211
- rationale: "The spec's invariants imply new / altered tables or constraints but structured DDL was not emitted in proposals. The SQL below is a placeholder — regenerate the spec or hand-author the migration to replace it.",
212
- sql: "-- TODO: structured DDL not emitted by refine. Invariants referencing schema:\n" +
213
- hints.map((h) => `-- * ${h.replace(/\n/g, " ")}`).join("\n") +
214
- "\n-- Regenerate the spec or hand-author the migration.\n",
602
+ rationale,
603
+ sql,
215
604
  };
216
605
  }
606
+ function readExistingEntities(_spec) {
607
+ // Read entity names from .brewing/diagrams/schema.mmd if present.
608
+ // Pre-α.4 this used a lazy `require("node:fs")` call which throws
609
+ // ReferenceError under ES modules — the swallowing try/catch left
610
+ // existingEntities empty in production runs (no FK validation, no
611
+ // FK clauses on synthesised CREATE TABLEs). Switched to top-level
612
+ // imports.
613
+ const set = new Set();
614
+ try {
615
+ const path = ".brewing/diagrams/schema.mmd";
616
+ if (!existsSync(path))
617
+ return set;
618
+ const content = readFileSync(path, "utf8");
619
+ for (const m of content.matchAll(/^ {2}([A-Z_]+)\s*\{/gm)) {
620
+ set.add(m[1].toLowerCase());
621
+ }
622
+ }
623
+ catch {
624
+ // ignore
625
+ }
626
+ return set;
627
+ }
628
+ function renderCreateTable(table, invariantCols, apiColumns, existingEntities) {
629
+ // Union the columns we found from invariants + api_contract.
630
+ const cols = new Set([...invariantCols, ...apiColumns]);
631
+ // Ensure the conventional id column is always present.
632
+ cols.add("id");
633
+ // Stable order: id first, then alphabetical, with `created_at` last.
634
+ const ordered = ["id"];
635
+ for (const c of Array.from(cols).filter((c) => c !== "id" && c !== "created_at").sort()) {
636
+ ordered.push(c);
637
+ }
638
+ if (cols.has("created_at") || true)
639
+ ordered.push("created_at");
640
+ const lines = [`create table ${table} (`];
641
+ const colDefs = [];
642
+ for (const col of ordered) {
643
+ colDefs.push(" " + columnDef(col, existingEntities));
644
+ }
645
+ lines.push(colDefs.join(",\n"));
646
+ lines.push(");");
647
+ return lines.join("\n");
648
+ }
649
+ function columnDef(col, existingEntities) {
650
+ if (col === "id")
651
+ return "id uuid primary key default gen_random_uuid()";
652
+ if (col === "created_at")
653
+ return "created_at timestamptz not null default now()";
654
+ if (col.endsWith("_at"))
655
+ return `${col} timestamptz`;
656
+ if (col === "count" || col.endsWith("_count"))
657
+ return `${col} integer not null default 0`;
658
+ if (col.endsWith("_id")) {
659
+ // Convention: column `<entity>_id` references `<entity>s` (plural)
660
+ // when that exists, else `<entity>` singular when that exists.
661
+ const stem = col.slice(0, -3);
662
+ const candidates = [stem + "s", stem, "profiles", "rewos"];
663
+ let target = null;
664
+ for (const c of candidates) {
665
+ if (existingEntities.has(c.toLowerCase())) {
666
+ target = c;
667
+ break;
668
+ }
669
+ }
670
+ // member_id is conventionally a profile reference even though `members` doesn't exist
671
+ if (!target && stem === "member" && existingEntities.has("profiles")) {
672
+ target = "profiles";
673
+ }
674
+ if (target) {
675
+ return `${col} uuid not null references ${target}(id) on delete cascade`;
676
+ }
677
+ return `${col} uuid not null`;
678
+ }
679
+ if (col === "read_at" || col === "verified_at")
680
+ return `${col} timestamptz`;
681
+ return `${col} text`;
682
+ }
217
683
  //# sourceMappingURL=proposals-synth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposals-synth.js","sourceRoot":"","sources":["../../../src/commands/refine/proposals-synth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposals-synth.js","sourceRoot":"","sources":["../../../src/commands/refine/proposals-synth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { Spec } from "@slowcook-ai/core";
2
+ /**
3
+ * 0.14.0-α.6+ — content-level validators for parsed specs. Runs AFTER
4
+ * Zod shape-validation, BEFORE writing to disk. Catches LLM-output
5
+ * truncation that shape-validation misses (e.g. `var(--tint-in` is a
6
+ * valid string but a corrupted token).
7
+ *
8
+ * Detects + repairs in place when the fix is unambiguous; drops + logs
9
+ * otherwise. Returns a list of human-readable findings so the caller
10
+ * can surface them in the PR body or run logs.
11
+ *
12
+ * Caught on rewo story-016 (2026-04-26): LLM emit ended a 12-token list
13
+ * mid-entry with `var(--tint-in`. Spec passed Zod, the corrupt token
14
+ * sat in tokens_to_reuse and downstream brew/testgen would see it as
15
+ * a real (but missing) project token.
16
+ */
17
+ export interface SpecValidationFinding {
18
+ /** Dotted path to the field, e.g. "proposals.ui_layout.tokens_to_reuse[12]". */
19
+ path: string;
20
+ /** What we noticed. */
21
+ message: string;
22
+ /** Action taken: "dropped" (entry removed), "repaired" (auto-fixed), "flagged" (kept as-is, needs-review). */
23
+ action: "dropped" | "repaired" | "flagged";
24
+ }
25
+ /** Mutates `spec` in place; returns findings for caller to surface. */
26
+ export declare function validateAndRepairSpec(spec: Spec): SpecValidationFinding[];
27
+ //# sourceMappingURL=spec-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-validate.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/spec-validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,8GAA8G;IAC9G,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,qBAAqB,EAAE,CA6BzE"}
@@ -0,0 +1,91 @@
1
+ /** Mutates `spec` in place; returns findings for caller to surface. */
2
+ export function validateAndRepairSpec(spec) {
3
+ const findings = [];
4
+ const ui = spec.proposals?.ui_layout;
5
+ if (ui) {
6
+ if (ui.tokens_to_reuse) {
7
+ ui.tokens_to_reuse = pruneTokenList(ui.tokens_to_reuse, "proposals.ui_layout.tokens_to_reuse", findings);
8
+ }
9
+ if (ui.tokens_to_add) {
10
+ ui.tokens_to_add = pruneTokenList(ui.tokens_to_add, "proposals.ui_layout.tokens_to_add", findings);
11
+ }
12
+ if (ui.components_to_reuse) {
13
+ ui.components_to_reuse = pruneStringList(ui.components_to_reuse, "proposals.ui_layout.components_to_reuse", findings);
14
+ }
15
+ }
16
+ return findings;
17
+ }
18
+ /**
19
+ * Token entries are usually one of:
20
+ * - Tailwind class: bg-coral, text-foreground/60, divide-card-border
21
+ * - CSS var ref: var(--coral)
22
+ * - Bare token name: --tint-celebrate
23
+ *
24
+ * Truncation symptoms:
25
+ * - `var(--tint-in` — open paren, no close
26
+ * - `var(--coral` — same
27
+ * - `bg-` (alone) — class prefix with no value
28
+ * - empty string
29
+ */
30
+ function pruneTokenList(items, pathPrefix, findings) {
31
+ const out = [];
32
+ for (let i = 0; i < items.length; i++) {
33
+ const raw = items[i];
34
+ if (typeof raw !== "string" || raw.trim().length === 0) {
35
+ findings.push({
36
+ path: `${pathPrefix}[${i}]`,
37
+ message: `Empty or non-string token entry (was: ${JSON.stringify(raw)})`,
38
+ action: "dropped",
39
+ });
40
+ continue;
41
+ }
42
+ const t = raw.trim();
43
+ // Unterminated var()
44
+ if (/^var\([^)]*$/.test(t)) {
45
+ findings.push({
46
+ path: `${pathPrefix}[${i}]`,
47
+ message: `Unterminated var() — likely LLM-emit truncation: ${JSON.stringify(t)}`,
48
+ action: "dropped",
49
+ });
50
+ continue;
51
+ }
52
+ // Class-prefix-only (`bg-`, `text-`, `border-`)
53
+ if (/^(?:bg|text|border|divide|ring|fill|stroke|font)-?$/.test(t)) {
54
+ findings.push({
55
+ path: `${pathPrefix}[${i}]`,
56
+ message: `Class-prefix-only token (no value): ${JSON.stringify(t)}`,
57
+ action: "dropped",
58
+ });
59
+ continue;
60
+ }
61
+ out.push(t);
62
+ }
63
+ return out;
64
+ }
65
+ function pruneStringList(items, pathPrefix, findings) {
66
+ const out = [];
67
+ for (let i = 0; i < items.length; i++) {
68
+ const raw = items[i];
69
+ if (typeof raw !== "string" || raw.trim().length === 0) {
70
+ findings.push({
71
+ path: `${pathPrefix}[${i}]`,
72
+ message: `Empty or non-string entry (was: ${JSON.stringify(raw)})`,
73
+ action: "dropped",
74
+ });
75
+ continue;
76
+ }
77
+ const t = raw.trim();
78
+ // Truncated path or component name (ends mid-identifier)
79
+ if (/[/.][a-z0-9_-]*$/i.test(t) === false && t.endsWith("-")) {
80
+ findings.push({
81
+ path: `${pathPrefix}[${i}]`,
82
+ message: `String ends mid-identifier (truncation symptom): ${JSON.stringify(t)}`,
83
+ action: "dropped",
84
+ });
85
+ continue;
86
+ }
87
+ out.push(t);
88
+ }
89
+ return out;
90
+ }
91
+ //# sourceMappingURL=spec-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-validate.js","sourceRoot":"","sources":["../../../src/commands/refine/spec-validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slowcook-ai/cli",
3
- "version": "0.14.0-alpha.2",
3
+ "version": "0.14.0-alpha.6",
4
4
  "description": "CLI for the slowcook brewing harness",
5
5
  "license": "MIT",
6
6
  "author": "aminazar",