@calibrate-ds/cli 0.1.54 → 0.1.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -174,7 +174,7 @@ PTB exposes 22 tools over a stdio MCP server. Your AI IDE can query component de
174
174
  | `stamp_component` | Mark a component as implemented — no terminal required |
175
175
  | `assign_component` | Assign a component to a developer — no terminal required |
176
176
  | `start_work` | Claim a component and get the full implementation brief (context, deps, acceptance criteria) in one call |
177
- | `submit_work` | Submit completed work — stamps the component, records verify result (`verified`, `verifyScore`), and transitions its lifecycle status |
177
+ | `submit_work` | Submit completed work — reads the actual `.ptb/verify/<slug>/report.json` (never trusts self-reported scores), hard-blocks on missing or scaffold reports, enforces a regression gate (score must meet or exceed the prior stamp), then stamps and transitions lifecycle status |
178
178
  | `implement_component` | Get full design context + dependency build plan for a component. Instructs the AI to build dependencies first, write files, ensure Storybook is running, run `run_verify`, then stamp with the verify result |
179
179
  | `setup_mcp` | Configure PTB MCP for additional AI IDEs (Cursor, Windsurf, Antigravity, VS Code) — no terminal required |
180
180
  | `get_changelog` | Show what changed in recent PTB versions |
@@ -608,7 +608,7 @@ Available guide topics: `setup` · `context` · `implement` · `document` · `st
608
608
  | `ptb apply` | Regenerate only the files affected by design changes |
609
609
  | `ptb prune` | Remove stale component folders no longer in Figma |
610
610
 
611
- `ptb implement` now closes the loop automatically: after writing files it checks whether Storybook is running (ports 6006–6008), starts it if not, runs `ptb verify` against the Figma thumbnail, and only stamps the component when pixel match ≥ 90%. If the score falls short, it prints the diff score and tells you what to fix before re-running. Pass `--no-verify` to bypass the gate.
611
+ `ptb implement` now closes the loop automatically: after writing files it checks whether Storybook is running (ports 6006–6020), starts it if not, runs `ptb verify` against the Figma thumbnail, and only stamps the component when pixel match ≥ 90%. If the score falls short, it prints the diff score and tells you what to fix before re-running. Pass `--no-verify` to bypass the gate.
612
612
 
613
613
  ### Playground
614
614
 
@@ -718,5 +718,6 @@ See [PTB.md](./PTB.md) for architecture, type definitions, the generator interfa
718
718
  ```bash
719
719
  pnpm install
720
720
  pnpm build
721
+ pnpm test # 420 tests across core, generator, and CLI
721
722
  node apps/cli/dist/index.js --help
722
723
  ```
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=verify-args.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-args.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/verify-args.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { toArgKey, buildArgsParam } from "../verify/run-verify.js";
3
+ // ---------------------------------------------------------------------------
4
+ // GAP-022 (Level 3): Storybook ?args= override construction for per-variant verify
5
+ // ---------------------------------------------------------------------------
6
+ describe("toArgKey", () => {
7
+ it("camelCases a multi-word axis name to the prop key", () => {
8
+ expect(toArgKey("Icon Only")).toBe("iconOnly");
9
+ expect(toArgKey("Size")).toBe("size");
10
+ expect(toArgKey("primary-axis")).toBe("primaryAxis");
11
+ });
12
+ });
13
+ describe("buildArgsParam", () => {
14
+ it("builds a Storybook &args= string from a variant selection", () => {
15
+ expect(buildArgsParam({ Size: "lg", State: "Hover" })).toBe("&args=size:lg;state:Hover");
16
+ });
17
+ it("skips empty values and returns '' for an empty selection", () => {
18
+ expect(buildArgsParam({})).toBe("");
19
+ expect(buildArgsParam({ Size: "" })).toBe("");
20
+ });
21
+ it("url-encodes option values", () => {
22
+ expect(buildArgsParam({ State: "in progress" })).toBe("&args=state:in%20progress");
23
+ });
24
+ });
25
+ //# sourceMappingURL=verify-args.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-args.test.js","sourceRoot":"","sources":["../../src/__tests__/verify-args.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEnE,8EAA8E;AAC9E,mFAAmF;AACnF,8EAA8E;AAC9E,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"action-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/action-tools.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAqC/D,eAAO,MAAM,WAAW,EAAE,YAovBzB,CAAC"}
1
+ {"version":3,"file":"action-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/action-tools.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAyD/D,eAAO,MAAM,WAAW,EAAE,YAwyBzB,CAAC"}
@@ -3,6 +3,7 @@ import * as path from "node:path";
3
3
  import { execSync } from "node:child_process";
4
4
  import { z } from "zod";
5
5
  import { getDesignToolAdapter, saveSnapshot, exportAllComponentContexts, loadManifest, updateComponentArtifacts, loadConfig, getGenerator, syncManifestWithReport, createNamingStrategy, resolveDSPaths, isIconComponent, normalizeIconDisplayName, getComponentContext, generateComponentStories, generateComponentPrompt, generateComponentDoc, buildReverseDepsMap, formatMetadataHeader, pruneStaleComponents, resolveTokenSource, enrichIconsWithSvg, enrichBitmapAssets, enrichComponentThumbnails, resolveToken, } from "@calibrate-ds/core";
6
+ import { computeVerifyVerdict } from "@calibrate-ds/core";
6
7
  import { invalidateCache, resolveCwd } from "../server.js";
7
8
  import { getManagedSnapshot } from "../../utils/managed-components.js";
8
9
  function toSlug(name) {
@@ -40,6 +41,28 @@ async function saveLock(workspaceRoot, lock) {
40
41
  await fs.writeFile(tmp, JSON.stringify(lock, null, 2) + "\n", "utf-8");
41
42
  await fs.rename(tmp, p);
42
43
  }
44
+ /**
45
+ * GAP-003: reconcile the persisted context's dependency statuses with the same
46
+ * lock-stamp readiness that drives `blockedBy`, so the two never contradict
47
+ * (a dep implemented-but-not-stamped used to read "ready" in the context while
48
+ * appearing in blockedBy as "unbuilt"). Strict semantics: a dependency is only
49
+ * "ready" when it is lock-stamped to the current design. Each dependency also
50
+ * gains a `lockStatus` (ready | stale | unbuilt) mirroring the blockedBy vocab.
51
+ * Deps with no lock entry (external/unmanaged) keep their existing status.
52
+ */
53
+ function reconcileDepStatusesWithLock(promptPackage, lock) {
54
+ if (!promptPackage?.dependencies || !Array.isArray(promptPackage.dependencies))
55
+ return;
56
+ for (const dep of promptPackage.dependencies) {
57
+ const entry = lock?.components?.[toSlug(dep.name)];
58
+ if (!entry)
59
+ continue;
60
+ const lockReady = !!(entry.stampedHash && entry.stampedHash === entry.designHash);
61
+ dep.lockStatus = lockReady ? "ready" : entry.stampedHash ? "stale" : "unbuilt";
62
+ if (!lockReady && dep.status === "ready")
63
+ dep.status = "missing";
64
+ }
65
+ }
43
66
  export const actionTools = {
44
67
  name: "action",
45
68
  register(server, getContext) {
@@ -340,6 +363,8 @@ TYPICAL WORKFLOW:
340
363
  const codeName = naming.formatComponentName(isIconComponent(comp.name) ? normalizeIconDisplayName(comp.name) : comp.name);
341
364
  // Write context to disk; return compact summary (same pattern as implement_component)
342
365
  const promptPackage = generateComponentPrompt(context, ctx.config.framework?.name ?? null);
366
+ // GAP-003: keep the persisted dependency statuses consistent with blockedBy.
367
+ reconcileDepStatusesWithLock(promptPackage, lock);
343
368
  const { metadataDir } = resolveDSPaths(ctx.config);
344
369
  const contextDir = path.join(metadataDir, "context", "components");
345
370
  await fs.mkdir(contextDir, { recursive: true });
@@ -417,9 +442,8 @@ playground picks it up automatically (hot-reloads on save if ptb dev is running)
417
442
  message: z.string().optional().describe("Optional implementation note"),
418
443
  folder: z.string().optional().describe("Relative path from packageRoot to the component folder, e.g. 'src/components/web/btn-web'. Required for playground auto-registration."),
419
444
  artifacts: z.array(z.string()).optional().describe("Artifact paths relative to packageRoot, e.g. ['src/components/web/btn-web/BtnWeb.tsx']. Defaults to [folder] if omitted."),
420
- verified: z.boolean().optional().describe("Whether run_verify passed (score 0.90). Omit or false if verify was not run."),
421
- verifyScore: z.number().optional().describe("Pixel match score from run_verify (0–1). Include whenever verified is true."),
422
- }, async ({ name, transitionTo = "stamped", message, folder, artifacts, verified, verifyScore }) => {
445
+ skipVerifyRegression: z.boolean().optional().describe("Set to true to allow stamping even if the verify score regressed vs the previous stamp. Use only in exceptional cases (e.g. design intentionally simplified, reference thumbnail changed)."),
446
+ }, async ({ name, transitionTo = "stamped", message, folder, artifacts, skipVerifyRegression }) => {
423
447
  let ctx;
424
448
  try {
425
449
  ctx = await getContext();
@@ -438,8 +462,49 @@ playground picks it up automatically (hot-reloads on save if ptb dev is running)
438
462
  }
439
463
  const identity = getGitIdentity();
440
464
  const now = new Date().toISOString();
465
+ const { metadataDir } = resolveDSPaths(ctx.config);
466
+ const stampNotes = [];
441
467
  for (const [slug, entry] of entries) {
442
468
  if (transitionTo === "stamped") {
469
+ // ── Lifecycle integrity: read the real verify report ──────────────
470
+ // Never accept self-reported verified/verifyScore. Read the last
471
+ // report.json written by run_verify and derive the score from it.
472
+ const reportPath = path.join(metadataDir, "verify", slug, "report.json");
473
+ let verifyReport = null;
474
+ try {
475
+ verifyReport = JSON.parse(await fs.readFile(reportPath, "utf-8"));
476
+ }
477
+ catch { /* report not found — handled below */ }
478
+ if (!verifyReport) {
479
+ return { content: [{ type: "text", text: `submit_work blocked: no verify report found for '${entry.displayName}'.\n` +
480
+ `Run run_verify first, then re-submit.\n` +
481
+ `If Storybook is unavailable, transition to in_review instead:\n` +
482
+ ` submit_work({ name: "${name}", transitionTo: "in_review" })` }] };
483
+ }
484
+ if (verifyReport.isScaffold) {
485
+ return { content: [{ type: "text", text: `submit_work blocked: '${entry.displayName}' is still an unimplemented scaffold.\n` +
486
+ `Implement the component, run run_verify, then re-submit.` }] };
487
+ }
488
+ // Derive actual scores from the report — override any caller input.
489
+ const { score: verdictScore, verdict: passFail } = computeVerifyVerdict(verifyReport);
490
+ // verdictScore is null when the report has no comparable signals
491
+ // (e.g. icons with no text and no pixel ref). Treat null as 0 for
492
+ // gating purposes so these components can still be stamped.
493
+ const actualScore = verdictScore ?? 0;
494
+ const verified = passFail === "pass";
495
+ // ── Regression gate ───────────────────────────────────────────────
496
+ // When re-stamping the same design (stampedHash === designHash means
497
+ // it was previously clean-stamped), require the score to be equal or
498
+ // better. Skip if the design itself drifted since last stamp (different
499
+ // designHash means we're stamping a new design version — can't compare).
500
+ const prevScore = entry.verifyScore;
501
+ const sameDesign = entry.stampedHash && entry.stampedHash === entry.designHash;
502
+ if (!skipVerifyRegression && sameDesign && prevScore !== undefined && actualScore < prevScore) {
503
+ const delta = ((prevScore - actualScore) * 100).toFixed(1);
504
+ return { content: [{ type: "text", text: `submit_work blocked: verify score regressed for '${entry.displayName}'.\n` +
505
+ `Previous: ${(prevScore * 100).toFixed(1)}% → Now: ${(actualScore * 100).toFixed(1)}% (−${delta}%)\n` +
506
+ `Fix the regression or pass skipVerifyRegression: true if this is intentional.` }] };
507
+ }
443
508
  const modelComponent = ctx.snapshot.components.find(c => c.name.toLowerCase() === entry.displayName.toLowerCase() ||
444
509
  c.name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") === slug);
445
510
  const stampedContract = modelComponent ? {
@@ -455,11 +520,14 @@ playground picks it up automatically (hot-reloads on save if ptb dev is running)
455
520
  stampedAt: now,
456
521
  stampedBy: identity,
457
522
  workStatus: "stamped",
523
+ verified,
524
+ verifyScore: actualScore,
458
525
  ...(message ? { stampedMessage: message } : {}),
459
526
  ...(stampedContract ? { stampedContract } : {}),
460
- ...(verified !== undefined ? { verified } : { verified: false }),
461
- ...(verifyScore !== undefined ? { verifyScore } : {}),
462
527
  };
528
+ const scoreLabel = `${(actualScore * 100).toFixed(1)}%`;
529
+ const verifyNote = verified ? ` ✔ verified (${scoreLabel})` : ` ⚠ below threshold (${scoreLabel}) — consider re-implementing`;
530
+ stampNotes.push(`${entry.displayName}${verifyNote}`);
463
531
  }
464
532
  else {
465
533
  // in_review: not yet stamped, just lifecycle transition
@@ -467,6 +535,7 @@ playground picks it up automatically (hot-reloads on save if ptb dev is running)
467
535
  ...entry,
468
536
  workStatus: "in_review",
469
537
  };
538
+ stampNotes.push(`${entry.displayName} — submitted for review (not yet stamped)`);
470
539
  }
471
540
  }
472
541
  await saveLock(ctx.workspaceRoot, lock);
@@ -480,15 +549,8 @@ playground picks it up automatically (hot-reloads on save if ptb dev is running)
480
549
  manifestNotes.push(`Registered in manifest.json → folder: ${folder}`);
481
550
  }
482
551
  }
483
- const names = entries.map(([, e]) => e.displayName).join(", ");
484
- const action = transitionTo === "stamped" ? `Stamped and marked as done` : `Submitted for review (not yet stamped)`;
485
- const verifyNote = transitionTo === "stamped"
486
- ? verified
487
- ? ` ✔ verified (${((verifyScore ?? 0) * 100).toFixed(1)}%)`
488
- : ` ⚠ unverified — run ptb verify component <name> to confirm visual match`
489
- : "";
490
552
  const detail = manifestNotes.length > 0 ? `\n${manifestNotes.join("\n")}` : "";
491
- return { content: [{ type: "text", text: `${action}: ${names}${verifyNote}${detail}` }] };
553
+ return { content: [{ type: "text", text: stampNotes.join("\n") + detail }] };
492
554
  }
493
555
  catch (e) {
494
556
  return { content: [{ type: "text", text: `submit_work failed: ${e.message}` }] };
@@ -590,6 +652,8 @@ recursively when you call it for that dependency.`, { name: z.string().describe(
590
652
  // The inline response carries only a compact summary — the agent reads
591
653
  // the context file for full render tree / variantDiffs if needed.
592
654
  const promptPackage = generateComponentPrompt(context, ctx.config.framework?.name ?? null);
655
+ // GAP-003: keep the persisted dependency statuses consistent with blockedBy.
656
+ reconcileDepStatusesWithLock(promptPackage, lock);
593
657
  const { metadataDir } = resolveDSPaths(ctx.config);
594
658
  const contextDir = path.join(metadataDir, "context", "components");
595
659
  await fs.mkdir(contextDir, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"action-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/action-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/action-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"info-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/info-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkFnD,eAAO,MAAM,SAAS,EAAE,YA6JvB,CAAC"}
1
+ {"version":3,"file":"info-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/info-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkKnD,eAAO,MAAM,SAAS,EAAE,YA6JvB,CAAC"}
@@ -3,6 +3,86 @@ import * as path from "node:path";
3
3
  import { z } from "zod";
4
4
  import { resolveToken } from "@calibrate-ds/core";
5
5
  const UPGRADE_CHECKLIST = {
6
+ "0.1.66": [
7
+ "FIX (R1): CSS var() fallback now includes px unit for dimension tokens — var(--ptb-x, 4px) instead of var(--ptb-x, 4). Fixes silent invalid CSS for all dimension token slots.",
8
+ "FIX (R2): promptText code skeleton uses canonical component name (toCanonicalComponentName) — 'TicketTc' no longer appears in briefs for components with multi-word Figma names like 'Ticket TC'.",
9
+ "FIX (R3): implementationHints.isFormControl no longer over-fires on layout containers — gated on interactionEvents.length > 0 and excludes header/footer/nav/main/aside/section/article/form/ul/li/dialog semantic elements.",
10
+ "FIX (R4): formatLength() now typed as (value: number | undefined) — string token names can no longer pass through to CSS output. Padding rawValue is narrowed at call sites.",
11
+ "FIX (R5): CSS gap is now double-clamped at the emit site (Math.max(0, gapRaw)) — negative gap values no longer leak on non-rescanned models (pre-0.1.65 snapshot + 0.1.66 regenerate).",
12
+ "IMPROVEMENT (R6): ComponentPromptPackage is now split into two sibling files — <slug>.json (structured data, no promptText; lean, programmatically parsed) and <slug>.prompt.md (promptText only; for external IDEs). MCP tools regenerate promptText live from the JSON.",
13
+ "IMPROVEMENT (R7): Storybook port probe widened to 6006–6020 and uses index.json identity check — probeStorybookIndex() validates story count and optionally checks component codeName. Fixes false-miss when Storybook runs on an alternate port.",
14
+ "IMPROVEMENT (R8): Per-variant verify — per-variant thumbnails now use height-matched crops (readPngDimensions) for fair pixel diff; isNearSolidColor() excludes GAP-018 white-on-white pathological variants from worst-variant gating; MAX_VARIANT_SAMPLES=20 cap prevents runaway per-variant loops.",
15
+ "FEATURE (R9): Lifecycle integrity — scaffold guard in run_verify (hard-fails before Playwright if @ptb-scaffold marker detected, writes isScaffold:true to report.json); real verify gate in submit_work (reads actual report.json from .ptb/verify/<slug>/report.json, never trusts caller-provided scores); regression gate blocks re-stamp when actualScore < prevScore on same designHash (skipVerifyRegression: true as escape hatch).",
16
+ "BEHAVIOR CHANGE (R9): submit_work no longer accepts verified/verifyScore as trusted caller inputs — scores are always read from the actual report.json. Attempting to stamp a scaffold or a component with no verify report is a hard block.",
17
+ "No breaking changes to ptb.config.json or ptb.lock schema.",
18
+ "No re-scan required for R1–R6. Re-run ptb scan to apply R5 clamp to non-rescanned models with negative gap values.",
19
+ "Restart your IDE's MCP server after upgrading — the long-running ptb mcp process must be respawned to pick up the new binary.",
20
+ ],
21
+ "0.1.65": [
22
+ "FEATURE (GAP-022 Level 3): ptb verify now diffs every variant individually — each variant is rendered via Storybook ?args= override and pixel-diffed against its own single-variant Figma reference PNG. report.json gains variantResults[] and variantMeanScore; pixelMatch is set to the WORST variant score so a single bad variant can't hide behind a good default.",
23
+ "FEATURE: ptb scan now exports per-variant PNGs alongside the grid thumbnail — variantThumbnails[] on ComponentDefinition with selection metadata.",
24
+ "IMPROVEMENT (GAP-031): CSS width/height emitter is now mode-aware — hug→fit-content, fill→100%, fixed→responsive max-width.",
25
+ "No breaking changes to ptb.config.json or ptb.lock.",
26
+ "Re-run ptb scan to populate variantThumbnails[] for existing components.",
27
+ ],
28
+ "0.1.64": [
29
+ "IMPROVEMENT (GAP-018): Icon contrast warning — instance resolver now logs a warning when a white/light icon is placed on a light surface (luminance check). No behavior change; purely advisory.",
30
+ "No breaking changes.",
31
+ "No re-scan required.",
32
+ ],
33
+ "0.1.63": [
34
+ "FEATURE (GAP-004): ComponentDefinition now includes transitiveDependencies[] — all components reachable by descending into instance subtrees and instance-swap targets. Does not replace dependencies[]; additive field.",
35
+ "FEATURE (GAP-035): Asset content branch — getComponentContext walks the render tree for IMAGE fill nodes and adds kind:'asset' slots to the slot contract.",
36
+ "No breaking changes to ptb.config.json, ptb.lock, or MCP tool names.",
37
+ "Re-run ptb scan + ptb export context to populate transitiveDependencies and asset slots.",
38
+ ],
39
+ "0.1.62": [
40
+ "IMPROVEMENT (GAP-014): formatPx() helper — all dimension values now rounded to ≤3 decimal places (preserving 0.5px hairlines). Fixes float accumulation in typography contracts and token CSS (was emitting e.g. 16.000000000000004px).",
41
+ "No breaking changes. Generated CSS may change slightly for irrational values.",
42
+ "No re-scan required; re-run ptb generate-tokens to get clean px values in token CSS.",
43
+ ],
44
+ "0.1.61": [
45
+ "FIX (GAP-030): Dependency count in recipe/prompt now sourced from render-tree instance count instead of the direct dependency list. Fixes undercounting when a component appears multiple times in the layout.",
46
+ "No breaking changes.",
47
+ "No re-scan required.",
48
+ ],
49
+ "0.1.60": [
50
+ "FIX (GAP-003): Strict lock-stamp readiness — start_work and submit_work now reconcile dep.status with ptb.lock. A dependency is 'ready' only when stampedHash === designHash; otherwise it becomes 'missing'. Fixes the dual-model bug where lock-stamp and filesystem checks contradicted each other.",
51
+ "IMPROVEMENT (GAP-012): Recipe dedup — identical dependencyInstances (same component, same variant selection) are collapsed into one entry with a count note in the prompt.",
52
+ "No breaking changes to ptb.config.json, ptb.lock, or MCP tool names.",
53
+ "No re-scan required.",
54
+ ],
55
+ "0.1.59": [
56
+ "FIX (GAP-013): layoutValue() helper in layout-jsx.ts — the 'unknown' sentinel from backfillLayoutToken never reaches generated JSX. Falls back to rawValue, then omits the prop rather than emitting 'unknown' as a style value.",
57
+ "No breaking changes. Re-run ptb implement (or ptb generate-components) to pick up cleaner JSX for layout-heavy components.",
58
+ ],
59
+ "0.1.58": [
60
+ "IMPROVEMENT (GAP-027): Canonical naming — toCanonicalComponentName() and toCanonicalFolderSlug() replace 3 divergent local slug functions. Names are now consistent across prompt generation, context export, and file generation.",
61
+ "FIX (GAP-008): Slot key dedup by prop ?? cleanName — when a slot's prop name differs from its layer name, the slot no longer appears twice in the slot contract.",
62
+ "FIX (GAP-017): Icon SVGs now have stroke='currentColor' instead of stroke='black'. Icons display correctly on dark backgrounds and pick up theme color.",
63
+ "No breaking changes to ptb.config.json, ptb.lock, or MCP tool names.",
64
+ "Re-run ptb scan to pick up updated icon SVGs with stroke='currentColor'.",
65
+ ],
66
+ "0.1.57": [
67
+ "FIX (GAP-026): resolveRootElement() — Props interface now matches the actually-rendered root element. Composite <div> roots no longer get ButtonHTMLAttributes (TS2322). Atomic buttons/inputs still get their correct interface.",
68
+ "FIX (GAP-006): isFormControl is now gated on non-composite components — composite wrappers no longer inherit form semantics from a child button.",
69
+ "FIX: menu-item and form-control regexes are now space-tolerant — 'Menu Item', 'menu-item', 'Search Field', 'search-field' all match.",
70
+ "No breaking changes. Re-run ptb generate-components to pick up corrected Props interfaces.",
71
+ ],
72
+ "0.1.56": [
73
+ "FIX (GAP-021): CSS token-binding verify gate — regex now matches both var(--x) and var(--x, fallback) forms. The gate was always false in 0.1.54–0.1.55 because the generator emits var(--x, value) with a comma.",
74
+ "FEATURE (GAP-010): computeVerifyVerdict() — shared verdict function with 0.90/0.70 thresholds. Priority: token score → structure score → pixel score. Replaces hardcoded 0.95/0.80 raw-pixel cutoffs in verify-tool.ts.",
75
+ "No breaking changes to ptb.config.json, ptb.lock, or MCP tool names.",
76
+ "No re-scan required.",
77
+ ],
78
+ "0.1.55": [
79
+ "FIX (GAP-001, BLOCKER): Gap and padding values now emit rawValue (e.g. '16px') instead of the Figma token name ('scale/0'). CSS values were previously invalid — this was a silent regression since 0.1.18.",
80
+ "FIX (GAP-002): resolveTokenBinding() no longer falls back to cssVar for unresolvable leaves. Eliminates self-referential var(--x, --x) CSS.",
81
+ "FIX (GAP-023): CSS emitter no longer fabricates a --ptb-<token> fallback when no canonical cssVar exists. Emits bare value or var(--x, value) with correct fallback.",
82
+ "FIX (GAP-024): Negative itemSpacing (AUTO gap in Figma) is now clamped to 0 instead of producing negative gap values in CSS.",
83
+ "No breaking changes to ptb.config.json, ptb.lock, or MCP tool names.",
84
+ "Re-run ptb generate-components (or ptb implement) to pick up corrected CSS emission.",
85
+ ],
6
86
  "0.1.30": [
7
87
  "BUG FIX (residual from 0.1.29): get_token / list_themes now resolve numeric & dimension aliases — border-radius/*, spacing/*, paragraph-spacing/* return their terminal value (e.g. '16') instead of '[object Object]'. Root cause: resolveTokenValue's fallback stringified the ORIGINAL token's alias {id:...} object instead of the resolved terminal token. Color aliases were unaffected (they returned inside the resolve loop). Now the terminal token's scalar value is formatted.",
8
88
  "BUG FIX (residual from 0.1.29): scan.exclude now matches the generated folder/kebab form too — for a camelCase Figma component 'ButtonGroup' (folder 'button-group'), all of 'ButtonGroup', 'buttongroup', and 'button-group' in config exclude it. Root cause: the slug only collapsed separators (→ 'buttongroup') and never inserted the case-boundary hyphen the generator uses. Matching is now on a separator-free canonical key.",
@@ -1 +1 @@
1
- {"version":3,"file":"info-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/info-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/info-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify-tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/verify-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAgB/D,eAAO,MAAM,UAAU,EAAE,YAqHxB,CAAC"}
1
+ {"version":3,"file":"verify-tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/verify-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAiB/D,eAAO,MAAM,UAAU,EAAE,YAwHxB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as fs from "node:fs/promises";
2
2
  import * as path from "node:path";
3
3
  import { z } from "zod";
4
+ import { computeVerifyVerdict } from "@calibrate-ds/core";
4
5
  import { runVerify } from "../../verify/run-verify.js";
5
6
  function toSlug(name) {
6
7
  return name.toLowerCase().trim().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
@@ -55,12 +56,11 @@ Returns: pixel match score, AI assessment ("matches" / "minor-differences" / "si
55
56
  freshFigma,
56
57
  workspaceRoot: ctx.workspaceRoot,
57
58
  });
59
+ // GAP-010: use the shared verdict (0.90 bar, token→structure→pixel
60
+ // priority) so the MCP tool matches the CLI rather than gating on
61
+ // the raw pixel score at 0.95.
62
+ const { verdict: passFail, score: verdictScore, metric: verdictMetric } = computeVerifyVerdict(result);
58
63
  const score = result.pixelMatch?.score ?? null;
59
- const passFail = score === null
60
- ? "no-comparison"
61
- : score >= 0.95 ? "pass"
62
- : score >= 0.80 ? "warn"
63
- : "fail";
64
64
  return {
65
65
  content: [{
66
66
  type: "text",
@@ -68,6 +68,10 @@ Returns: pixel match score, AI assessment ("matches" / "minor-differences" / "si
68
68
  component: result.componentName,
69
69
  checkedAt: result.checkedAt,
70
70
  passFail,
71
+ verdictScore,
72
+ verdictMetric,
73
+ tokenScore: result.tokenScore ?? null,
74
+ structureScore: result.structureScore ?? null,
71
75
  pixelMatchScore: score,
72
76
  diffPixels: result.pixelMatch?.diffPixels ?? null,
73
77
  figmaSource: result.screenshots.figmaSource,
@@ -1 +1 @@
1
- {"version":3,"file":"verify-tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/verify-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,SAAS,MAAM,CAAC,IAAY;IACxB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,QAAa,EAAE,KAAa;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAC3B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CACtF,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACpC,IAAI,EAAE,QAAQ;IACd,QAAQ,CAAC,MAAM,EAAE,UAAU;QAEvB,MAAM,CAAC,IAAI,CACP,YAAY,EACZ;;;;;;;;;;;;;;;2LAe+K,EAC/K;YACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;YACvH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;YAC5H,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACnF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;SAC/H,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAC/D,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,IAAI,uCAAuC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;YAChI,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE;oBAChE,YAAY;oBACZ,cAAc;oBACd,IAAI;oBACJ,UAAU;oBACV,aAAa,EAAE,GAAG,CAAC,aAAa;iBACnC,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC;gBAC/C,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI;oBAC3B,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM;wBACxB,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM;4BACxB,CAAC,CAAC,MAAM,CAAC;gBAEb,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACjB,SAAS,EAAE,MAAM,CAAC,aAAa;gCAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,QAAQ;gCACR,eAAe,EAAE,KAAK;gCACtB,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,IAAI,IAAI;gCACjD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;gCAC3C,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,IAAI,IAAI;gCACxD,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI;gCAC3C,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE;gCACjD,WAAW,EAAE,MAAM,CAAC,WAAW;gCAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;6BAC5B,EAAE,IAAI,EAAE,CAAC,CAAC;yBACd,CAAC;iBACL,CAAC;YACN,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7F,CAAC;QACL,CAAC,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CACP,mBAAmB,EACnB,6OAA6O,EAC7O,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,EAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACf,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC7E,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;gBAC/C,MAAM,OAAO,GAAG;oBACZ,SAAS,EAAE,MAAM,CAAC,aAAa;oBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI;oBACjD,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,IAAI,IAAI;oBACxD,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI;oBAC3C,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE;oBACjD,WAAW,EAAE,MAAM,CAAC,WAAW;iBAClC,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5F,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,+BAA+B,IAAI,+CAA+C,IAAI,EAAE;yBACjG,CAAC;iBACL,CAAC;YACN,CAAC;QACL,CAAC,CACJ,CAAC;IAEN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"verify-tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/verify-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,SAAS,MAAM,CAAC,IAAY;IACxB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,QAAa,EAAE,KAAa;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAC3B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CACtF,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACpC,IAAI,EAAE,QAAQ;IACd,QAAQ,CAAC,MAAM,EAAE,UAAU;QAEvB,MAAM,CAAC,IAAI,CACP,YAAY,EACZ;;;;;;;;;;;;;;;2LAe+K,EAC/K;YACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;YACvH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;YAC5H,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACnF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;SAC/H,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAC/D,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,IAAI,uCAAuC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;YAChI,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE;oBAChE,YAAY;oBACZ,cAAc;oBACd,IAAI;oBACJ,UAAU;oBACV,aAAa,EAAE,GAAG,CAAC,aAAa;iBACnC,CAAC,CAAC;gBAEH,mEAAmE;gBACnE,kEAAkE;gBAClE,+BAA+B;gBAC/B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBACvG,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC;gBAE/C,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACjB,SAAS,EAAE,MAAM,CAAC,aAAa;gCAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,QAAQ;gCACR,YAAY;gCACZ,aAAa;gCACb,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gCACrC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;gCAC7C,eAAe,EAAE,KAAK;gCACtB,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,IAAI,IAAI;gCACjD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;gCAC3C,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,IAAI,IAAI;gCACxD,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI;gCAC3C,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE;gCACjD,WAAW,EAAE,MAAM,CAAC,WAAW;gCAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;6BAC5B,EAAE,IAAI,EAAE,CAAC,CAAC;yBACd,CAAC;iBACL,CAAC;YACN,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7F,CAAC;QACL,CAAC,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CACP,mBAAmB,EACnB,6OAA6O,EAC7O,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,EAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACf,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC7E,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;gBAC/C,MAAM,OAAO,GAAG;oBACZ,SAAS,EAAE,MAAM,CAAC,aAAa;oBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI;oBACjD,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,IAAI,IAAI;oBACxD,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI;oBAC3C,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE;oBACjD,WAAW,EAAE,MAAM,CAAC,WAAW;iBAClC,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5F,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,+BAA+B,IAAI,+CAA+C,IAAI,EAAE;yBACjG,CAAC;iBACL,CAAC;YACN,CAAC;QACL,CAAC,CACJ,CAAC;IAEN,CAAC;CACJ,CAAC"}
@@ -14,6 +14,17 @@ export type RunVerifyOptions = {
14
14
  export type RunVerifyResult = VerifyReport & {
15
15
  warnings: string[];
16
16
  };
17
+ /**
18
+ * GAP-022: camelCase a Figma variant-axis display name into the prop key the
19
+ * generated story/Props interface uses (e.g. "Icon Only" → "iconOnly", "Size" →
20
+ * "size"), so Storybook `?args=` overrides actually bind.
21
+ */
22
+ export declare function toArgKey(axisName: string): string;
23
+ /**
24
+ * GAP-022: builds Storybook's `&args=key:value;key2:value2` override string from a
25
+ * variant selection so one story can be driven into any variant state for pixel-diff.
26
+ */
27
+ export declare function buildArgsParam(selection: Record<string, string>): string;
17
28
  /**
18
29
  * Runs the full verify pipeline for a component.
19
30
  * Returns a VerifyReport plus a warnings array (no console output).
@@ -1 +1 @@
1
- {"version":3,"file":"run-verify.d.ts","sourceRoot":"","sources":["../../src/verify/run-verify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAcpG,OAAO,KAAK,EAAE,YAAY,EAA8B,MAAM,oBAAoB,CAAC;AAEnF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8FAA8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AA8TF;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC3B,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAoO1B"}
1
+ {"version":3,"file":"run-verify.d.ts","sourceRoot":"","sources":["../../src/verify/run-verify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAepG,OAAO,KAAK,EAAE,YAAY,EAA8B,MAAM,oBAAoB,CAAC;AAEnF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8FAA8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AA4KF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAKxE;AA8ND;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC3B,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAqX1B"}
@@ -1,7 +1,7 @@
1
1
  import * as fs from "node:fs/promises";
2
2
  import * as path from "node:path";
3
3
  import { createRequire } from "node:module";
4
- import { fetchFigmaScreenshot, runPixelDiff, loadManifest, resolveDSPaths, createNamingStrategy, isIconComponent, normalizeIconDisplayName, extractStructuralExpectations, computeStructureScore, extractDesignTextTokens, } from "@calibrate-ds/core";
4
+ import { fetchFigmaScreenshot, runPixelDiff, isNearSolidColor, loadManifest, resolveDSPaths, createNamingStrategy, isIconComponent, normalizeIconDisplayName, extractStructuralExpectations, computeStructureScore, extractDesignTextTokens, } from "@calibrate-ds/core";
5
5
  /**
6
6
  * Fetches Storybook's story index from the running server, falling back to a
7
7
  * static storybook-static/index.json in the workspace.
@@ -86,13 +86,89 @@ async function isReachable(url) {
86
86
  return false;
87
87
  }
88
88
  }
89
+ /**
90
+ * Confirms a URL is a live Storybook by fetching /index.json and checking it
91
+ * has at least one story entry. More reliable than a HEAD to the root because:
92
+ * - It distinguishes "something is running on this port" from "Storybook is running here"
93
+ * - It rejects foreign projects if we also check for expected story names
94
+ * Returns the parsed index on success, null on failure.
95
+ */
96
+ async function probeStorybookIndex(baseUrl, expectedStoryFragments) {
97
+ for (const endpoint of ["/index.json", "/stories.json"]) {
98
+ try {
99
+ const res = await fetch(`${baseUrl}${endpoint}`, {
100
+ signal: AbortSignal.timeout(3000),
101
+ });
102
+ if (!res.ok)
103
+ continue;
104
+ const idx = await res.json();
105
+ const entries = Object.values(idx.entries ?? idx.stories ?? {});
106
+ if (!entries.length)
107
+ continue;
108
+ // If caller provided expected story name fragments, require at least one match
109
+ // before trusting this instance — prevents a foreign project on the same port.
110
+ if (expectedStoryFragments?.length) {
111
+ const hasMatch = expectedStoryFragments.some(frag => entries.some(e => e.id.toLowerCase().includes(frag.toLowerCase())));
112
+ if (!hasMatch)
113
+ return null;
114
+ }
115
+ return idx;
116
+ }
117
+ catch { /* try next */ }
118
+ }
119
+ return null;
120
+ }
89
121
  function buildStoryIframeUrl(baseUrl, storyId) {
90
122
  return `${baseUrl}/iframe.html?id=${encodeURIComponent(storyId)}&viewMode=story`;
91
123
  }
124
+ /**
125
+ * GAP-022: camelCase a Figma variant-axis display name into the prop key the
126
+ * generated story/Props interface uses (e.g. "Icon Only" → "iconOnly", "Size" →
127
+ * "size"), so Storybook `?args=` overrides actually bind.
128
+ */
129
+ export function toArgKey(axisName) {
130
+ const words = axisName.replace(/[^a-zA-Z0-9]+/g, " ").trim().split(/\s+/).filter(Boolean);
131
+ if (words.length === 0)
132
+ return axisName;
133
+ return words.map((w, i) => i === 0 ? w.toLowerCase() : w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("");
134
+ }
135
+ /**
136
+ * GAP-022: builds Storybook's `&args=key:value;key2:value2` override string from a
137
+ * variant selection so one story can be driven into any variant state for pixel-diff.
138
+ */
139
+ export function buildArgsParam(selection) {
140
+ const parts = Object.entries(selection)
141
+ .filter(([, v]) => typeof v === "string" && v.length > 0)
142
+ .map(([k, v]) => `${toArgKey(k)}:${encodeURIComponent(v)}`);
143
+ return parts.length > 0 ? `&args=${parts.join(";")}` : "";
144
+ }
145
+ // ---------------------------------------------------------------------------
146
+ // PNG utilities
147
+ // ---------------------------------------------------------------------------
148
+ /**
149
+ * Reads a PNG file's width and height from the IHDR chunk header without
150
+ * loading the full image. Uses the PNG binary spec (bytes 16–23).
151
+ */
152
+ async function readPngDimensions(pngPath) {
153
+ try {
154
+ const buf = await fs.readFile(pngPath);
155
+ // PNG: 8-byte sig + 4-byte chunk-length + 4-byte "IHDR" + 4-byte width + 4-byte height
156
+ if (buf.length < 24)
157
+ return null;
158
+ return { width: buf.readUInt32BE(16), height: buf.readUInt32BE(20) };
159
+ }
160
+ catch {
161
+ return null;
162
+ }
163
+ }
164
+ // Max number of per-variant screenshots in a single verify run.
165
+ // At ~1.5 s/variant, 20 variants ≈ 30 s — acceptable wall-clock.
166
+ // Variants beyond this limit are sampled uniformly and a warning is emitted.
167
+ const MAX_VARIANT_SAMPLES = 20;
92
168
  // ---------------------------------------------------------------------------
93
169
  // Playwright screenshot
94
170
  // ---------------------------------------------------------------------------
95
- async function screenshotWithPlaywright(iframeUrl, outputPath, frameWidth, height, workspaceRoot) {
171
+ async function screenshotWithPlaywright(iframeUrl, outputPath, frameWidth, height, workspaceRoot, maxHeight) {
96
172
  try {
97
173
  let chromium;
98
174
  if (workspaceRoot) {
@@ -141,15 +217,21 @@ async function screenshotWithPlaywright(iframeUrl, outputPath, frameWidth, heigh
141
217
  if (box && box.width > 0 && box.height > 0) {
142
218
  await page.screenshot({
143
219
  path: outputPath,
144
- // Cap width at the design frame responsive components stretch wider,
145
- // which inflates the pixel score when the right side is padded with white.
146
- clip: { x: Math.max(0, box.x), y: Math.max(0, box.y), width: Math.min(box.width, frameWidth), height: box.height },
220
+ // Cap width at the design frame. Cap height to maxHeight when supplied (per-variant
221
+ // diffs pass the reference thumbnail height so the crop matches the reference exactly,
222
+ // avoiding the height-mismatch that destroys the pixel score).
223
+ clip: {
224
+ x: Math.max(0, box.x),
225
+ y: Math.max(0, box.y),
226
+ width: Math.min(box.width, frameWidth),
227
+ height: maxHeight ? Math.min(box.height, maxHeight) : box.height,
228
+ },
147
229
  });
148
230
  }
149
231
  else {
150
232
  await page.screenshot({
151
233
  path: outputPath,
152
- clip: { x: 0, y: 0, width: frameWidth, height },
234
+ clip: { x: 0, y: 0, width: frameWidth, height: maxHeight ?? height },
153
235
  });
154
236
  }
155
237
  // ── DOM extraction ────────────────────────────────────────────────────
@@ -162,18 +244,27 @@ async function screenshotWithPlaywright(iframeUrl, outputPath, frameWidth, heigh
162
244
  return { textNodes: 0, imageElements: 0, innerText: "" };
163
245
  const MIN_TEXT_LEN = 3;
164
246
  const allEls = Array.from(root.querySelectorAll("*"));
165
- const textNodes = allEls.filter((el) => {
166
- if (el.children.length > 0)
167
- return false;
168
- const t = (el.innerText ?? el.textContent ?? "").trim();
169
- return t.length >= MIN_TEXT_LEN;
170
- }).length;
247
+ // GAP-021: walk actual text nodes rather than a leaf-only element gate.
248
+ // The old `if (el.children.length > 0) return false` skipped wrapped text
249
+ // like <p><span>…</span></p>, and `innerText ?? textContent` never fell
250
+ // back because innerText is "" (not nullish) in headless render → 0 counts.
251
+ const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT);
252
+ const textOwners = new Set();
253
+ let tn = walker.nextNode();
254
+ while (tn) {
255
+ const t = (tn.textContent ?? "").trim();
256
+ const owner = tn.parentElement;
257
+ if (t.length >= MIN_TEXT_LEN && owner)
258
+ textOwners.add(owner);
259
+ tn = walker.nextNode();
260
+ }
261
+ const textNodes = textOwners.size;
171
262
  const imgCount = root.querySelectorAll("img").length;
172
263
  const bgImgCount = allEls.filter((el) => {
173
264
  const bg = window.getComputedStyle(el).backgroundImage;
174
265
  return bg && bg !== "none" && bg.startsWith("url(");
175
266
  }).length;
176
- const innerText = root.innerText ?? "";
267
+ const innerText = (root.innerText || root.textContent) ?? "";
177
268
  return { textNodes, imageElements: imgCount + bgImgCount, innerText };
178
269
  });
179
270
  await browser.close();
@@ -264,8 +355,47 @@ export async function runVerify(component, config, snapshot, options = {}) {
264
355
  const { metadataDir, componentsDir } = resolveDSPaths(config);
265
356
  const verifyDir = path.join(metadataDir, "verify", slug);
266
357
  await fs.mkdir(verifyDir, { recursive: true });
358
+ // ── Scaffold guard ────────────────────────────────────────────────────────
359
+ // Detect unimplemented scaffolds before wasting a Playwright run.
360
+ // Reads the main component file from the manifest artifacts and checks for
361
+ // the @ptb-scaffold marker written by generateMainComponentContent.
362
+ {
363
+ const { packageRoot } = resolveDSPaths(config);
364
+ const scaffoldManifest = await loadManifest(config).catch(() => ({ components: {} }));
365
+ const mEntry = scaffoldManifest.components?.[component.id];
366
+ const mainArtifact = mEntry?.artifacts?.find((a) => /\.(tsx|ts)$/.test(a) && !/\.(types|stories|test)\.(tsx?|jsx?)$/.test(a));
367
+ if (mainArtifact) {
368
+ try {
369
+ const content = await fs.readFile(path.join(packageRoot, mainArtifact), "utf-8");
370
+ if (content.includes("@ptb-scaffold")) {
371
+ const scaffoldReport = {
372
+ componentName: component.name,
373
+ componentId: component.id,
374
+ slug,
375
+ checkedAt: new Date().toISOString(),
376
+ figmaNodeId: component.designToolNodeId ?? null,
377
+ screenshots: { figma: null, figmaSource: null, impl: null, diff: null },
378
+ pixelMatch: null,
379
+ aiFeedback: null,
380
+ resolved: false,
381
+ isScaffold: true,
382
+ error: `${component.name} is an unimplemented scaffold — implement it before verifying.`,
383
+ };
384
+ await fs.writeFile(path.join(verifyDir, "report.json"), JSON.stringify(scaffoldReport, null, 2), "utf-8");
385
+ throw new Error(`[ptb verify] '${component.name}' is an unimplemented scaffold.\n` +
386
+ `Implement the component first, then run verify.`);
387
+ }
388
+ }
389
+ catch (err) {
390
+ if (err.code !== "ENOENT")
391
+ throw err; // re-throw scaffold errors + real fs errors
392
+ // ENOENT: file not yet written — skip the guard
393
+ }
394
+ }
395
+ }
267
396
  const report = {
268
397
  componentName: component.name,
398
+ componentId: component.id,
269
399
  slug,
270
400
  checkedAt: new Date().toISOString(),
271
401
  figmaNodeId: component.designToolNodeId ?? null,
@@ -297,12 +427,17 @@ export async function runVerify(component, config, snapshot, options = {}) {
297
427
  if (boundCssVars.length > 0) {
298
428
  try {
299
429
  const cssSource = await fs.readFile(cssFilePath, "utf-8");
300
- const found = boundCssVars.filter(v => cssSource.includes(`var(${v})`));
430
+ // GAP-021: match both `var(--x)` and `var(--x, <fallback>)`. The generator
431
+ // emits the comma-fallback form for token-bound slots, so an exact
432
+ // `var(${v})` check reported every bound var as missing.
433
+ const escapeRe = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
434
+ const hasVar = (v) => new RegExp(`var\\(\\s*${escapeRe(v)}\\s*[,)]`).test(cssSource);
435
+ const found = boundCssVars.filter(hasVar);
301
436
  report.cssVarTotal = boundCssVars.length;
302
437
  report.cssVarFound = found.length;
303
438
  report.cssVarScore = parseFloat((found.length / boundCssVars.length).toFixed(4));
304
439
  if (found.length < boundCssVars.length) {
305
- const missing = boundCssVars.filter(v => !cssSource.includes(`var(${v})`));
440
+ const missing = boundCssVars.filter(v => !hasVar(v));
306
441
  warnings.push(`CSS token-binding: ${missing.length}/${boundCssVars.length} cssVars missing from generated CSS` +
307
442
  ` (${missing.slice(0, 3).join(", ")}${missing.length > 3 ? "…" : ""})`);
308
443
  }
@@ -314,7 +449,9 @@ export async function runVerify(component, config, snapshot, options = {}) {
314
449
  }
315
450
  // ── Step 1: Design reference ─────────────────────────────────────────────
316
451
  let figmaPath = null;
317
- const thumbnailPath = component.thumbnailPath ?? null;
452
+ // GAP-022: prefer the single-variant reference for pixel-diff (a single-variant
453
+ // story can't match the full variant grid). Fall back to the grid thumbnail.
454
+ const thumbnailPath = component.variantThumbnailPath ?? component.thumbnailPath ?? null;
318
455
  const useThumbnail = thumbnailPath && !options.freshFigma;
319
456
  if (useThumbnail) {
320
457
  try {
@@ -341,6 +478,7 @@ export async function runVerify(component, config, snapshot, options = {}) {
341
478
  }
342
479
  // ── Step 2: Implementation screenshot ───────────────────────────────────
343
480
  let implPath = null;
481
+ let resolvedSbBaseUrl = null; // hoisted for the GAP-022 per-variant loop
344
482
  if (options.implScreenshot) {
345
483
  implPath = path.resolve(options.implScreenshot);
346
484
  try {
@@ -356,16 +494,31 @@ export async function runVerify(component, config, snapshot, options = {}) {
356
494
  else {
357
495
  const compWidth = component.size?.width?.rawValue ?? 400;
358
496
  const compHeight = component.size?.height?.rawValue ?? 300;
359
- const sbPorts = [6006, 6007, 6008];
497
+ // Probe a wider port range (6006–6020) in case Storybook auto-bumped past 6008.
498
+ // Use probeStorybookIndex instead of a plain HEAD so we confirm it's actually
499
+ // a live Storybook with entries — not just any process on that port. Pass the
500
+ // component slug as an identity hint: if an index exists but contains none of
501
+ // our stories (i.e. a foreign project), skip it.
360
502
  const sbBaseUrl = options.storybookUrl
361
503
  ?? await (async () => {
362
- for (const port of sbPorts) {
504
+ const PORTS = Array.from({ length: 15 }, (_, i) => 6006 + i); // 6006–6020
505
+ for (const port of PORTS) {
363
506
  const base = `http://localhost:${port}`;
364
- if (await isReachable(base))
507
+ const idx = await probeStorybookIndex(base, [codeName]);
508
+ if (idx)
509
+ return base;
510
+ }
511
+ // Fallback: accept any live Storybook even if it doesn't have our component yet
512
+ // (e.g. user hasn't regenerated stories yet)
513
+ for (const port of Array.from({ length: 15 }, (_, i) => 6006 + i)) {
514
+ const base = `http://localhost:${port}`;
515
+ const idx = await probeStorybookIndex(base);
516
+ if (idx)
365
517
  return base;
366
518
  }
367
519
  return null;
368
520
  })();
521
+ resolvedSbBaseUrl = sbBaseUrl;
369
522
  if (sbBaseUrl) {
370
523
  const manifest = await loadManifest(config).catch(() => ({ components: {} }));
371
524
  // Resolve the real story id from Storybook's index — never guess
@@ -427,11 +580,84 @@ export async function runVerify(component, config, snapshot, options = {}) {
427
580
  }
428
581
  }
429
582
  else {
430
- warnings.push("Storybook not detected on ports 6006–6008. Start Storybook or pass --storybook-url / --impl-screenshot.");
583
+ warnings.push("Storybook not detected on ports 6006–6020. Start Storybook or pass --storybook-url / --impl-screenshot.");
431
584
  }
432
585
  }
433
586
  // ── Step 3: Pixel diff ───────────────────────────────────────────────────
434
- if (figmaPath && implPath) {
587
+ // GAP-022 (Level 3): when the component is a COMPONENT_SET with per-variant
588
+ // references, verify EACH variant — drive the resolved story into that variant
589
+ // via Storybook `?args=`, screenshot, and diff against that variant's own
590
+ // single-variant reference. pixelMatch is set to the WORST variant so one bad
591
+ // state can't hide behind a good default. Falls back to a single diff otherwise.
592
+ const variantThumbs = component.variantThumbnails ?? [];
593
+ const variantSlug = (selection, i) => Object.entries(selection).map(([k, v]) => `${k}-${v}`).join("_").replace(/[^a-z0-9_-]+/gi, "-").toLowerCase() || `v${i}`;
594
+ if (variantThumbs.length > 1 && report.resolvedStoryId && resolvedSbBaseUrl && !options.implScreenshot) {
595
+ const compWidth = component.size?.width?.rawValue ?? 400;
596
+ const compHeight = component.size?.height?.rawValue ?? 300;
597
+ const variantResults = [];
598
+ let worst = null;
599
+ let firstDiffRel = null;
600
+ let scoreSum = 0;
601
+ let scoreCount = 0;
602
+ // Cap the variant sample set. Uniformly subsample when there are more variants
603
+ // than the limit — emit a warning so the caller knows coverage is partial.
604
+ let sampled = variantThumbs;
605
+ if (variantThumbs.length > MAX_VARIANT_SAMPLES) {
606
+ const step = variantThumbs.length / MAX_VARIANT_SAMPLES;
607
+ sampled = Array.from({ length: MAX_VARIANT_SAMPLES }, (_, k) => variantThumbs[Math.floor(k * step)]);
608
+ warnings.push(`Per-variant verify capped at ${MAX_VARIANT_SAMPLES} of ${variantThumbs.length} variants ` +
609
+ `(uniformly sampled). Run with --storybook-url to verify all variants manually.`);
610
+ }
611
+ for (let i = 0; i < sampled.length; i++) {
612
+ const vt = sampled[i];
613
+ try {
614
+ await fs.access(vt.path);
615
+ }
616
+ catch {
617
+ variantResults.push({ selection: vt.selection, pixelMatch: null, error: "reference thumbnail missing" });
618
+ continue;
619
+ }
620
+ // Read reference dimensions so the impl screenshot is cropped to match exactly.
621
+ // This fixes the height-mismatch (e.g. 108×184 impl vs 108×41 ref) that caused
622
+ // faithful renders to score ~0.12 on the pixel metric.
623
+ const refDims = await readPngDimensions(vt.path);
624
+ const refHeight = refDims?.height ?? compHeight;
625
+ // Detect near-solid-color references (e.g. white-on-white GAP-018 icon variants).
626
+ // These can never pixel-match any implementation and should not gate the score.
627
+ const pathological = await isNearSolidColor(vt.path);
628
+ const vSlug = variantSlug(vt.selection, i);
629
+ const vImplOut = path.join(verifyDir, `impl.${vSlug}.png`);
630
+ const vIframeUrl = buildStoryIframeUrl(resolvedSbBaseUrl, report.resolvedStoryId) + buildArgsParam(vt.selection);
631
+ const shot = await screenshotWithPlaywright(vIframeUrl, vImplOut, compWidth, compHeight, workspaceRoot, refHeight);
632
+ if (!shot.ok) {
633
+ variantResults.push({ selection: vt.selection, pixelMatch: null, error: shot.error });
634
+ continue;
635
+ }
636
+ const vDiffOut = path.join(verifyDir, `diff.${vSlug}.png`);
637
+ const vResult = await runPixelDiff(vt.path, vImplOut, vDiffOut);
638
+ variantResults.push({ selection: vt.selection, pixelMatch: vResult, pathological: pathological || undefined });
639
+ if (vResult && !pathological) {
640
+ // Only gate on non-pathological variants — near-solid-color references
641
+ // (GAP-018 white-on-white) are excluded from worst-gating.
642
+ if (!firstDiffRel)
643
+ firstDiffRel = path.relative(process.cwd(), vDiffOut);
644
+ const s = vResult.contentScore ?? vResult.score;
645
+ scoreSum += s;
646
+ scoreCount++;
647
+ const worstScore = worst ? (worst.contentScore ?? worst.score) : Infinity;
648
+ if (s < worstScore)
649
+ worst = vResult;
650
+ }
651
+ }
652
+ report.variantResults = variantResults;
653
+ if (scoreCount > 0)
654
+ report.variantMeanScore = parseFloat((scoreSum / scoreCount).toFixed(4));
655
+ if (worst)
656
+ report.pixelMatch = worst; // worst non-pathological variant gates the score
657
+ if (firstDiffRel)
658
+ report.screenshots.diff = firstDiffRel;
659
+ }
660
+ else if (figmaPath && implPath) {
435
661
  const diffOut = path.join(verifyDir, "diff.png");
436
662
  const result = await runPixelDiff(figmaPath, implPath, diffOut);
437
663
  if (result) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-verify.js","sourceRoot":"","sources":["../../src/verify/run-verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-verify.js","sourceRoot":"","sources":["../../src/verify/run-verify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calibrate-ds/cli",
3
- "version": "0.1.54",
3
+ "version": "0.1.66",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,10 +24,10 @@
24
24
  "commander": "^14.0.3",
25
25
  "openai": "^6.34.0",
26
26
  "zod": "^4.3.6",
27
- "@calibrate-ds/core": "^0.1.54",
28
- "@calibrate-ds/figma-client": "^0.1.54",
29
- "@calibrate-ds/generator-react": "^0.1.54",
30
- "@calibrate-ds/shared-types": "^0.1.54"
27
+ "@calibrate-ds/core": "^0.1.66",
28
+ "@calibrate-ds/shared-types": "^0.1.66",
29
+ "@calibrate-ds/generator-react": "^0.1.66",
30
+ "@calibrate-ds/figma-client": "^0.1.66"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/node": "^22.13.5",