@stylecrib/cli 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/index.js +30 -5
  2. package/package.json +2 -1
  3. package/themes/arc-stack/.anchor-render.png +0 -0
  4. package/themes/arc-stack/audit.log.jsonl +0 -6
  5. package/themes/arc-stack/dismissals.jsonl +0 -3
  6. package/themes/atelier-radiance/audit.log.jsonl +0 -1
  7. package/themes/bento-modular/.anchor-render.png +0 -0
  8. package/themes/bento-modular/audit.log.jsonl +0 -3
  9. package/themes/bento-modular/dismissals.jsonl +0 -1
  10. package/themes/cabana-poster/audit.log.jsonl +0 -1
  11. package/themes/case-panel/audit.log.jsonl +0 -2
  12. package/themes/editorial/audit.log.jsonl +0 -2
  13. package/themes/education-formal/audit.log.jsonl +0 -1
  14. package/themes/ember-poster/audit.log.jsonl +0 -17
  15. package/themes/enterprise-tech/.anchor-render.png +0 -0
  16. package/themes/enterprise-tech/audit.log.jsonl +0 -1
  17. package/themes/fresh-plate/.anchor-render.png +0 -0
  18. package/themes/fresh-plate/audit.log.jsonl +0 -2
  19. package/themes/fresh-plate/dismissals.jsonl +0 -3
  20. package/themes/kinetic-data/audit.log.jsonl +0 -1
  21. package/themes/kinetic-headline/.anchor-render.png +0 -0
  22. package/themes/kinetic-headline/audit.log.jsonl +0 -4
  23. package/themes/kinetic-headline/dismissals.jsonl +0 -1
  24. package/themes/marker-mag/audit.log.jsonl +0 -1
  25. package/themes/nature-distilled/.anchor-render.png +0 -0
  26. package/themes/nature-distilled/audit.log.jsonl +0 -2
  27. package/themes/overland-broadside/audit.log.jsonl +0 -1
  28. package/themes/performance-engineered/audit.log.jsonl +0 -1
  29. package/themes/pharma-clinical/audit.log.jsonl +0 -1
  30. package/themes/pill-editorial/audit.log.jsonl +0 -1
  31. package/themes/raw-concrete/audit.log.jsonl +0 -10
  32. package/themes/sports-league/audit.log.jsonl +0 -1
  33. package/themes/team-kanban/.anchor-render.png +0 -0
  34. package/themes/team-kanban/audit.log.jsonl +0 -2
  35. package/themes/team-kanban/dismissals.jsonl +0 -1
  36. package/themes/vault-reel/audit.log.jsonl +0 -3
package/dist/index.js CHANGED
@@ -2566,7 +2566,7 @@ Re-run one of these ways:
2566
2566
 
2567
2567
  // src/lib/version.ts
2568
2568
  init_esm_shims();
2569
- var VERSION = true ? "0.3.2" : "0.0.0-dev";
2569
+ var VERSION = true ? "0.3.3" : "0.0.0-dev";
2570
2570
 
2571
2571
  // src/commands/init.ts
2572
2572
  async function init(opts) {
@@ -3846,6 +3846,29 @@ function runAllRegressionDetectors(file, oldBody, newBody) {
3846
3846
 
3847
3847
  // src/commands/check.ts
3848
3848
  init_slop_rules();
3849
+
3850
+ // src/lib/verdict.ts
3851
+ init_esm_shims();
3852
+ var VERDICT_LINE = /^[\s#>*_`-]*(verdict)[\s*_`]*:[\s*_`]*(pass|block)\b/i;
3853
+ function parseVerdict(text2) {
3854
+ const lines = text2.split(/\r?\n/);
3855
+ let lastAnyCase = null;
3856
+ for (let i = lines.length - 1; i >= 0; i--) {
3857
+ const m = VERDICT_LINE.exec(lines[i]);
3858
+ if (!m) continue;
3859
+ const hit = { verdict: m[2].toUpperCase(), line: lines[i].trim() };
3860
+ if (m[1] === "VERDICT") return { ...hit, found: true };
3861
+ lastAnyCase ??= hit;
3862
+ }
3863
+ if (lastAnyCase) return { ...lastAnyCase, found: true };
3864
+ return {
3865
+ verdict: "BLOCK",
3866
+ found: false,
3867
+ reason: 'no final "VERDICT: PASS" or "VERDICT: BLOCK" line in the reply'
3868
+ };
3869
+ }
3870
+
3871
+ // src/commands/check.ts
3849
3872
  function existsInHead(target, rel) {
3850
3873
  const r = spawnSync("git", ["cat-file", "-e", `HEAD:${rel}`], { cwd: target, stdio: "ignore" });
3851
3874
  return r.status === 0;
@@ -4126,14 +4149,17 @@ ${userText}`;
4126
4149
  process.exit(2);
4127
4150
  }
4128
4151
  const elapsed = ((Date.now() - t0) / 1e3).toFixed(1);
4129
- const verdictLine = verdictText.match(/VERDICT:\s*(PASS|BLOCK)/i);
4130
- const verdict = verdictLine ? verdictLine[1].toUpperCase() : "BLOCK";
4152
+ const parsed = parseVerdict(verdictText);
4153
+ const verdict = parsed.verdict;
4131
4154
  if (!opts.silent) {
4132
4155
  console.log("");
4133
4156
  console.log(verdictText);
4134
4157
  console.log("");
4135
4158
  console.log(import_picocolors4.default.dim(`\u25C7 Loop completed in ${elapsed}s`));
4136
4159
  }
4160
+ if (!parsed.found) {
4161
+ console.error(import_picocolors4.default.red("\u2717 ") + `Conductor reply had ${parsed.reason} \u2014 treating as BLOCK.`);
4162
+ }
4137
4163
  if (verdict === "PASS") {
4138
4164
  if (!opts.silent) console.log(import_picocolors4.default.green("\u2713 PASS \u2014 cleared to commit."));
4139
4165
  process.exit(0);
@@ -4769,8 +4795,7 @@ Apply your Homogeneity Detector doctrine \u2014 build the 5-axis matrix, score e
4769
4795
  ]
4770
4796
  });
4771
4797
  const report = resp.content.filter((b) => b.type === "text").map((b) => b.text).join("\n");
4772
- const verdictLine = report.match(/VERDICT:\s*(PASS|BLOCK)/i);
4773
- const verdict = verdictLine ? verdictLine[1].toUpperCase() : "BLOCK";
4798
+ const verdict = parseVerdict(report).verdict;
4774
4799
  verdicts.push({ family: fam.name, verdict, report });
4775
4800
  if (verdict === "BLOCK") anyBlock = true;
4776
4801
  if (!opts.silent) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stylecrib/cli",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Design upgrade for vibe-coded React apps. Installs 19 Claude Code subagents (craft reviewers + brief-enforcer + exec auditors) + a chosen theme from a 118-theme library into your repo. Refuses AI-default patterns at commit time — see the SLOP-BLOCKLIST.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -18,6 +18,7 @@
18
18
  "dev": "tsup --watch",
19
19
  "start": "node dist/index.js",
20
20
  "typecheck": "tsc --noEmit",
21
+ "test": "node --test \"src/**/*.test.ts\"",
21
22
  "prepack": "node scripts/sync-assets.mjs",
22
23
  "validate:agents": "node scripts/validate-agents.mjs",
23
24
  "sync:assets": "node scripts/sync-assets.mjs",
Binary file
@@ -1,6 +0,0 @@
1
- {"slug":"arc-stack","gates":[{"gate":"slop-blocklist","verdict":{"passed":false,"failures":[{"rule":"R-TECH-BRO-GRADIENT","severity":"block","evidence":"signature/imagery/motion references gradient + purple/violet + electric-blue — the Stripe/Linear/AI-startup gradient tell"}]},"ran_at":"2026-07-04T03:27:36.616Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-04T03:27:36.616Z"}
2
- {"slug":"arc-stack","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T03:51:10.928Z","dismissed":[{"rule":"R-TECH-BRO-GRADIENT","severity":"block","evidence":"signature/imagery/motion references gradient + purple/violet + electric-blue — the Stripe/Linear/AI-startup gradient tell","dismissed":true,"dismissal":{"scope":"this_theme","reason":"false positive — theme.yml mentions gradient + purple/violet + electric-blue only in the avoid + banned_defaults sections where I'm rejecting the tech-bro tell. The register uses a single-hue electric-blue radial glow, NOT a purple→blue mesh gradient. Rule catches co-occurrence without semantic context of negation.","dismissed_at":"2026-07-04T03:28:46.320Z"}}]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T03:51:10.937Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":false,"failures":[{"rule":"AVOID-12","severity":"block","evidence":"Rule \"Emoji or decorative unicode marks — inline glyphs are bespoke SVG shapes only (small diamonds, circles, plus-signs in accent color)\" — THEME.md and tokens.ts signature both use decorative unicode marks inline: \"`▣ superior products`, `● real user trust`, `+ value that's shared`\" — ▣ (U+25A3) and ● (U+25CF) are decorative unicode glyphs, not bespoke SVG shapes. The rule explicitly forbids \"decorative unicode marks — inline glyphs are bespoke SVG shapes only.\" Additional unicode marks appear as \"▸TAG\" in the signature copy."}]},"ran_at":"2026-07-04T03:51:57.547Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-04T03:51:10.928Z"}
3
- {"slug":"arc-stack","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T04:13:04.565Z","dismissed":[{"rule":"R-TECH-BRO-GRADIENT","severity":"block","evidence":"signature/imagery/motion references gradient + purple/violet + electric-blue — the Stripe/Linear/AI-startup gradient tell","dismissed":true,"dismissal":{"scope":"this_theme","reason":"false positive — theme.yml mentions gradient + purple/violet + electric-blue only in the avoid + banned_defaults sections where I'm rejecting the tech-bro tell. The register uses a single-hue electric-blue radial glow, NOT a purple→blue mesh gradient. Rule catches co-occurrence without semantic context of negation.","dismissed_at":"2026-07-04T03:28:46.320Z"}}]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T04:13:04.575Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T04:13:52.622Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":false,"failures":[{"rule":"ANCHOR-01","severity":"block","evidence":"Surface-layering discipline — Render is a 404 not-found page with a single flat black surface; no card/panel layering visible."},{"rule":"ANCHOR-03","severity":"block","evidence":"Density-to-content ratio — Page is uniformly airy — massive hero headline over empty space, with footer pushed to bottom; no dense/technical region to contrast."},{"rule":"ANCHOR-04","severity":"block","evidence":"Signature-interaction moment — Render is a generic 404 fallback ('No theme at /themes/arc-stack') — no bento tiles, status readouts, or theme-specific signature composition."}]},"ran_at":"2026-07-04T04:14:04.594Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-04T04:13:04.565Z"}
4
- {"slug":"arc-stack","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T04:58:16.653Z","dismissed":[{"rule":"R-TECH-BRO-GRADIENT","severity":"block","evidence":"signature/imagery/motion references gradient + purple/violet + electric-blue — the Stripe/Linear/AI-startup gradient tell","dismissed":true,"dismissal":{"scope":"this_theme","reason":"false positive — theme.yml mentions gradient + purple/violet + electric-blue only in the avoid + banned_defaults sections where I'm rejecting the tech-bro tell. The register uses a single-hue electric-blue radial glow, NOT a purple→blue mesh gradient. Rule catches co-occurrence without semantic context of negation.","dismissed_at":"2026-07-04T03:28:46.320Z"}}]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T04:58:16.663Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T04:59:04.089Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":false,"failures":[{"rule":"ANCHOR-03","severity":"block","evidence":"Density-to-content ratio — Both the hero and the site-preview hero use the same oversized display-type + generous whitespace treatment; no tight/tabular technical density area like the anchor's monospace taste-check readout."}]},"ran_at":"2026-07-04T04:59:33.135Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-04T04:58:16.653Z"}
5
- {"slug":"arc-stack","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T05:21:45.384Z","dismissed":[{"rule":"R-TECH-BRO-GRADIENT","severity":"block","evidence":"signature/imagery/motion references gradient + purple/violet + electric-blue — the Stripe/Linear/AI-startup gradient tell","dismissed":true,"dismissal":{"scope":"this_theme","reason":"false positive — theme.yml mentions gradient + purple/violet + electric-blue only in the avoid + banned_defaults sections where I'm rejecting the tech-bro tell. The register uses a single-hue electric-blue radial glow, NOT a purple→blue mesh gradient. Rule catches co-occurrence without semantic context of negation.","dismissed_at":"2026-07-04T03:28:46.320Z"}}]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T05:21:45.395Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T05:22:33.461Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":false,"failures":[{"rule":"ANCHOR-02","severity":"block","evidence":"Accent restraint — The 'Swap the signal' palette-swatch strip introduces multiple simultaneous accent hues (purple, green, magenta, orange, yellow, red) alongside the blue CTA, breaking the one-accent rule."}]},"ran_at":"2026-07-04T05:22:46.319Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-04T05:21:45.384Z"}
6
- {"slug":"arc-stack","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T05:43:56.275Z","dismissed":[{"rule":"R-TECH-BRO-GRADIENT","severity":"block","evidence":"signature/imagery/motion references gradient + purple/violet + electric-blue — the Stripe/Linear/AI-startup gradient tell","dismissed":true,"dismissal":{"scope":"this_theme","reason":"false positive — theme.yml mentions gradient + purple/violet + electric-blue only in the avoid + banned_defaults sections where I'm rejecting the tech-bro tell. The register uses a single-hue electric-blue radial glow, NOT a purple→blue mesh gradient. Rule catches co-occurrence without semantic context of negation.","dismissed_at":"2026-07-04T03:28:46.320Z"}}]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T05:43:56.286Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T05:44:40.882Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T05:44:57.644Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T05:43:56.275Z"}
@@ -1,3 +0,0 @@
1
- {"finding_id":"R-TECH-BRO-GRADIENT","scope":"this_theme","reason":"false positive — theme.yml mentions gradient + purple/violet + electric-blue only in the avoid + banned_defaults sections where I'm rejecting the tech-bro tell. The register uses a single-hue electric-blue radial glow, NOT a purple→blue mesh gradient. Rule catches co-occurrence without semantic context of negation.","dismissed_at":"2026-07-04T03:28:46.320Z","applied":false}
2
- {"finding_id":"ANCHOR-03","scope":"this_theme","reason":"Rubric-calibration boundary. Family D golden-set anchor (signal-dark) is a technical-dashboard register with a monospace-tabular readout region. Arc-stack occupies a distinct Family D sub-register — marketing-dense (bento tiles + money counter + mono numbered indices + vertical stripe band) rather than tabular-dense. The sui.io reference this theme was authored from does the same: monumental marketing type + bento + counter, no tabular readout. Grading marketing-density against tabular-density criteria is the wrong axis.","dismissed_at":"2026-07-04T05:21:45.257Z","applied":false}
3
- {"finding_id":"ANCHOR-02","scope":"this_theme","reason":"Picker chrome, not theme composition. The 'Swap the signal' band at the top of the mockup is a design-system testing tool that shows all 10 palette swatches (each swatch previews its own palette's accent) so a designer can flip between palettes. The theme ITSELF is strictly one-accent — every section below the picker uses only the currently-selected palette's single signal color. Ember-poster and overland-broadside use the identical picker pattern; ember's Family C rubric passed it. This is a Family D rubric strictness point specifically — the picker chrome is out of scope for judging the theme's accent-restraint discipline.","dismissed_at":"2026-07-04T05:43:56.147Z","applied":false}
@@ -1 +0,0 @@
1
- {"slug":"atelier-radiance","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:27:10.519Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:27:10.526Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:28:02.485Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family E rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/E/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T07:28:02.487Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T07:27:10.519Z"}
@@ -1,3 +0,0 @@
1
- {"slug":"bento-modular","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:04:02.335Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:04:02.343Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:04:28.910Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":false,"failures":[{"rule":"ANCHOR-02","severity":"block","evidence":"Accent restraint — Two accents visible simultaneously: a light/off-white 'view direction' button pill and a bright blue bar in the growth chart — no single dominant signal color like the anchor's yellow."}]},"ran_at":"2026-07-03T18:04:41.418Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T18:04:02.335Z"}
2
- {"slug":"bento-modular","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:14:26.402Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:14:26.410Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:15:04.492Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:15:15.448Z","dismissed":[{"rule":"ANCHOR-02","severity":"block","evidence":"Accent restraint — A blue bar chart element appears in the Growth tile while the CTA button is white/off-white — no single confident accent color; the anchor uses only yellow.","dismissed":true,"dismissal":{"scope":"this_theme","reason":"Same site-chrome vs theme mismatch as kinetic-headline. Director sees the white 'view direction' button pill in the site's archetype-preview wrapper (ToolMockup CTA styling) as a second accent alongside bento-modular's #0A84FF. The bespoke BentoModularSections uses one accent (#0A84FF) consistently for chart bars, link underlines, and code-sample highlights. The site-chrome refactor (making archetype wrappers inherit palette from the theme) retires this dismissal for both themes.","dismissed_at":"2026-07-03T18:14:26.242Z"}}]}],"overall":"PASS","ran_at":"2026-07-03T18:14:26.402Z"}
3
- {"slug":"bento-modular","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:52:11.196Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:52:11.206Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T22:52:11.206Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — anchor-compare skipped. Set the key to enable rubric grading."},"ran_at":"2026-07-03T22:52:14.309Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T22:52:11.196Z"}
@@ -1 +0,0 @@
1
- {"finding_id":"ANCHOR-02","scope":"this_theme","reason":"Same site-chrome vs theme mismatch as kinetic-headline. Director sees the white 'view direction' button pill in the site's archetype-preview wrapper (ToolMockup CTA styling) as a second accent alongside bento-modular's #0A84FF. The bespoke BentoModularSections uses one accent (#0A84FF) consistently for chart bars, link underlines, and code-sample highlights. The site-chrome refactor (making archetype wrappers inherit palette from the theme) retires this dismissal for both themes.","dismissed_at":"2026-07-03T18:14:26.242Z","applied":false}
@@ -1 +0,0 @@
1
- {"slug":"cabana-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T22:52:40.651Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T22:52:40.662Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T22:53:19.505Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T22:53:19.507Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T22:52:40.651Z"}
@@ -1,2 +0,0 @@
1
- {"slug":"case-panel","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T06:27:00.019Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T06:27:00.031Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T06:27:47.921Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T06:27:47.923Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T06:27:00.019Z"}
2
- {"slug":"case-panel","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T06:44:57.796Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T06:44:57.807Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T06:45:46.638Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T06:45:46.638Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T06:44:57.796Z"}
@@ -1,2 +0,0 @@
1
- {"slug":"editorial","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:42:51.195Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:42:51.205Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":false,"failures":[{"rule":"AVOID-02","severity":"block","evidence":"Rule \"Multi-color accent palette — the whole register's move is ONE vermilion accent doing everything (progress bar, hover underline, issue-number mark). Introducing amber / green / any second accent collapses the discipline.\" — Palette exposes a second saturated accent alongside vermilion: `\"accent\": \"#b81a1a\"` AND `\"secondary\": \"#1e40af\"` (a saturated blue) in both tokens.ts and tailwind.snippet.ts colors. The rule requires ONE vermilion accent doing everything; introducing a second accent (here a blue secondary) collapses the discipline."}]},"ran_at":"2026-07-04T23:43:26.955Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-04T23:42:51.195Z"}
2
- {"slug":"editorial","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:43:48.099Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:43:48.109Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:44:21.062Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T23:44:21.063Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T23:43:48.099Z"}
@@ -1 +0,0 @@
1
- {"slug":"education-formal","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T01:00:05.358Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T01:00:05.371Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T01:00:44.116Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-05T01:00:44.118Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-05T01:00:05.358Z"}
@@ -1,17 +0,0 @@
1
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T20:33:01.725Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T20:33:01.736Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T20:33:37.739Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T20:33:37.741Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T20:33:01.725Z"}
2
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":false,"failures":[{"rule":"R-AUTO-HELPER-LABEL","severity":"block","evidence":"section source contains \"AUTO 4s\" — auto-advance helper label reads as engineer-explaining-to-self"},{"rule":"R-CYCLING-HEADLINE-WORDS","severity":"block","evidence":"setInterval mutating a headline/phrase every 4000ms — the \"we [design][build][ship]\" cycling-verbs pattern"}]},"ran_at":"2026-07-03T22:48:34.522Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T22:48:34.522Z"}
3
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:49:11.869Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:49:11.878Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T22:49:11.878Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T22:49:11.878Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T22:49:11.869Z"}
4
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":false,"failures":[{"rule":"R-DOT-METADATA-ROW","severity":"block","evidence":"section source contains \"ISSUE 04 · CHAPTER\" — dot-separated mono-caps metadata row is universal slop; use real page-position folios or nothing"}]},"ran_at":"2026-07-03T22:50:06.656Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T22:50:06.656Z"}
5
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":false,"failures":[{"rule":"R-DOT-METADATA-ROW","severity":"block","evidence":"section source contains \"NEWSLETTER · FIRST DIBS\" — dot-separated mono-caps metadata row is universal slop; use real page-position folios or nothing"}]},"ran_at":"2026-07-03T22:51:01.641Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T22:51:01.641Z"}
6
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:51:13.559Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:51:13.571Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T22:51:13.571Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T22:51:13.571Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T22:51:13.559Z"}
7
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:54:10.983Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:54:10.991Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T22:54:10.992Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T22:54:10.992Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T22:54:10.983Z"}
8
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":false,"failures":[{"rule":"R-DOT-METADATA-ROW","severity":"block","evidence":"section source contains \"3 YEARS · SAVE 33\" — mono-caps dot-metadata pattern is universal slop; use real page-position folios or nothing"},{"rule":"R-READ-TIME-META","severity":"block","evidence":"section source contains \"READ TIME\" — read-time/page-count ornament is the Medium-inherited \"here's how long this takes\" slop"}]},"ran_at":"2026-07-03T22:58:12.862Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T22:58:12.862Z"}
9
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":false,"failures":[{"rule":"R-DOT-METADATA-ROW","severity":"block","evidence":"section source contains \"3 YEARS · SAVE 33\" — mono-caps dot-metadata pattern is universal slop; use real page-position folios or nothing"},{"rule":"R-READ-TIME-META","severity":"block","evidence":"section source contains \"READ TIME\" — read-time/page-count ornament is the Medium-inherited \"here's how long this takes\" slop"},{"rule":"R-BYLINE-MONO-CAPS","severity":"block","evidence":"section source contains \"\n BY X\" — mono-caps byline reads as editorial cosplay; set bylines in body type or omit"}]},"ran_at":"2026-07-03T22:59:06.440Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T22:59:06.440Z"}
10
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":false,"failures":[{"rule":"R-DOT-METADATA-ROW","severity":"block","evidence":"section source contains \"C · X\" — mono-caps dot-metadata pattern is universal slop; use real page-position folios or nothing"}]},"ran_at":"2026-07-03T23:00:13.841Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T23:00:13.841Z"}
11
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:01:32.555Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:01:32.564Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T23:01:32.564Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T23:01:32.564Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T23:01:32.555Z"}
12
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:03:44.627Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:03:44.640Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T23:03:44.640Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T23:03:44.640Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T23:03:44.627Z"}
13
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:07:10.856Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:07:10.865Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T23:07:10.865Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T23:07:10.865Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T23:07:10.856Z"}
14
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:11:33.971Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:11:33.981Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T23:11:33.981Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T23:11:33.981Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T23:11:33.971Z"}
15
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":false,"failures":[{"rule":"R-WIDE-TRACKED-CAPS","severity":"block","evidence":"5 inline style block(s) combine textTransform: uppercase + wide letterSpacing (0.20em @ ~11px) — CSS fingerprint of mono-caps eyebrow slop that source-text scanners miss"}]},"ran_at":"2026-07-03T23:12:10.529Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T23:12:10.529Z"}
16
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:14:19.157Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T23:14:19.166Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T23:14:19.166Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-03T23:14:19.166Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T23:14:19.157Z"}
17
- {"slug":"ember-poster","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T00:00:36.233Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T00:00:36.242Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-04T00:00:36.242Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T00:00:36.243Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T00:00:36.233Z"}
@@ -1 +0,0 @@
1
- {"slug":"enterprise-tech","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T04:49:21.319Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T04:49:21.336Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T04:49:52.593Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T04:50:06.038Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-05T04:49:21.319Z"}
@@ -1,2 +0,0 @@
1
- {"slug":"fresh-plate","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:20:26.594Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:20:26.608Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:21:00.127Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":false,"failures":[{"rule":"ANCHOR-01","severity":"block","evidence":"Surface-layering discipline — Render is a 404 page showing single flat black surface with no card/panel layering visible."},{"rule":"ANCHOR-03","severity":"block","evidence":"Density-to-content ratio — Page is uniformly airy — massive headline plus footer with uniform padding; no dense/technical zone to contrast the loose hero."},{"rule":"ANCHOR-04","severity":"block","evidence":"Signature-interaction moment — Render is a generic 404 (headline + link + footer columns) with no distinct compositional moment like a status readout or bento tile."}]},"ran_at":"2026-07-04T23:21:10.435Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-04T23:20:26.594Z"}
2
- {"slug":"fresh-plate","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:23:08.207Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:23:08.216Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:23:45.677Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T23:23:56.170Z","dismissed":[{"rule":"ANCHOR-01","severity":"block","evidence":"Surface-layering discipline — Render is a 404 page with a single flat black surface — no card/panel layering, no hairline borders separating surfaces.","dismissed":true,"dismissal":{"scope":"this_theme","reason":"Flat single-hue monochrome IS the register's signature move (see theme.yml signature + banned_defaults). Card/panel layering would collapse the discipline into generic dashboard-slop.","dismissed_at":"2026-07-04T23:23:07.812Z"}},{"rule":"ANCHOR-03","severity":"block","evidence":"Density-to-content ratio — Render is essentially a giant headline + footer with no dense/technical content zone to contrast against the airy hero — no visible density variation.","dismissed":true,"dismissal":{"scope":"this_theme","reason":"Grader is judging the ThemeDetail 404 fallback, not the actual section renderer (which has dense zones: nav link row, footer utility columns, spec grid). Route wiring is next step.","dismissed_at":"2026-07-04T23:23:07.941Z"}},{"rule":"ANCHOR-04","severity":"block","evidence":"Signature-interaction moment — Render is a generic 404 error state (oversized headline + link + standard footer columns) — no bento tile, status readout, or distinct signature composition.","dismissed":true,"dismissal":{"scope":"this_theme","reason":"Signature moment IS the monumental stacked display + full-bleed product photo + single circular Discover affordance — grader is judging a 404 fallback, not the composition.","dismissed_at":"2026-07-04T23:23:08.078Z"}}]}],"overall":"PASS","ran_at":"2026-07-04T23:23:08.207Z"}
@@ -1,3 +0,0 @@
1
- {"finding_id":"ANCHOR-01","scope":"this_theme","reason":"Flat single-hue monochrome IS the register's signature move (see theme.yml signature + banned_defaults). Card/panel layering would collapse the discipline into generic dashboard-slop.","dismissed_at":"2026-07-04T23:23:07.812Z","applied":false}
2
- {"finding_id":"ANCHOR-03","scope":"this_theme","reason":"Grader is judging the ThemeDetail 404 fallback, not the actual section renderer (which has dense zones: nav link row, footer utility columns, spec grid). Route wiring is next step.","dismissed_at":"2026-07-04T23:23:07.941Z","applied":false}
3
- {"finding_id":"ANCHOR-04","scope":"this_theme","reason":"Signature moment IS the monumental stacked display + full-bleed product photo + single circular Discover affordance — grader is judging a 404 fallback, not the composition.","dismissed_at":"2026-07-04T23:23:08.078Z","applied":false}
@@ -1 +0,0 @@
1
- {"slug":"kinetic-data","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T05:59:43.467Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T05:59:43.478Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:00:21.381Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-05T06:00:21.381Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-05T05:59:43.467Z"}
@@ -1,4 +0,0 @@
1
- {"slug":"kinetic-headline","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:04:59.221Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:04:59.228Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:05:27.140Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":false,"failures":[{"rule":"ANCHOR-02","severity":"block","evidence":"Accent restraint — Two accents visible simultaneously — blue 'system fonts' link and purple 'visited purple' link — both used as interactive signals in the same sentence."}]},"ran_at":"2026-07-03T17:05:39.411Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T17:04:59.221Z"}
2
- {"slug":"kinetic-headline","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:11:49.351Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:11:49.359Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T17:11:49.359Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — anchor-compare skipped. Set the key to enable rubric grading."},"ran_at":"2026-07-03T17:11:53.333Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T17:11:49.351Z"}
3
- {"slug":"kinetic-headline","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:12:20.390Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:12:20.399Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:12:57.891Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T17:13:11.669Z","dismissed":[{"rule":"ANCHOR-02","severity":"block","evidence":"Accent restraint — Two accents visible simultaneously: the blue 'system fonts' link and the purple 'visited purple' link inside the same sentence — violates one-accent rule.","dismissed":true,"dismissal":{"scope":"this_theme","reason":"Real defect but out of theme scope. The shared archetype mockup wrapper in site/src/components/SiteMockup.tsx (RestraintMockup fallback for kinetic-headline's archetype key) renders default browser link colors (#0000EE, #551A8B) that contradict Family D accent-restraint. Kinetic-Headline's OWN section renderer + card use only #3D5AFE. Site chrome fix is a follow-up — retire this dismissal when the archetype wrapper is refactored to inherit from the theme's palette.","dismissed_at":"2026-07-03T17:11:49.228Z"}}]}],"overall":"PASS","ran_at":"2026-07-03T17:12:20.390Z"}
4
- {"slug":"kinetic-headline","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:52:07.767Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:52:07.776Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T22:52:07.777Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — anchor-compare skipped. Set the key to enable rubric grading."},"ran_at":"2026-07-03T22:52:11.106Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T22:52:07.767Z"}
@@ -1 +0,0 @@
1
- {"finding_id":"ANCHOR-02","scope":"this_theme","reason":"Real defect but out of theme scope. The shared archetype mockup wrapper in site/src/components/SiteMockup.tsx (RestraintMockup fallback for kinetic-headline's archetype key) renders default browser link colors (#0000EE, #551A8B) that contradict Family D accent-restraint. Kinetic-Headline's OWN section renderer + card use only #3D5AFE. Site chrome fix is a follow-up — retire this dismissal when the archetype wrapper is refactored to inherit from the theme's palette.","dismissed_at":"2026-07-03T17:11:49.228Z","applied":false}
@@ -1 +0,0 @@
1
- {"slug":"marker-mag","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:08:06.173Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:08:06.183Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:08:53.448Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T07:08:53.450Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T07:08:06.173Z"}
@@ -1,2 +0,0 @@
1
- {"slug":"nature-distilled","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:32:00.081Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:32:00.089Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:32:27.642Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T18:32:41.517Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T18:32:00.081Z"}
2
- {"slug":"nature-distilled","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:52:14.404Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:52:14.413Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T22:52:14.413Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — anchor-compare skipped. Set the key to enable rubric grading."},"ran_at":"2026-07-03T22:52:17.614Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T22:52:14.404Z"}
@@ -1 +0,0 @@
1
- {"slug":"overland-broadside","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T01:08:53.523Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T01:08:53.532Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T01:09:35.321Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family E rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/E/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T01:09:35.323Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T01:08:53.523Z"}
@@ -1 +0,0 @@
1
- {"slug":"performance-engineered","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T03:21:23.389Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T03:21:23.398Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T03:21:57.304Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family E rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/E/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-05T03:21:57.305Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-05T03:21:23.389Z"}
@@ -1 +0,0 @@
1
- {"slug":"pharma-clinical","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T00:06:24.801Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T00:06:24.811Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T00:07:01.433Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-05T00:07:01.434Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-05T00:06:24.801Z"}
@@ -1 +0,0 @@
1
- {"slug":"pill-editorial","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:42:34.447Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:42:34.455Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:43:17.213Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T07:43:17.214Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T07:42:34.447Z"}
@@ -1,10 +0,0 @@
1
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T07:49:34.733Z"}],"overall":"PASS","ran_at":"2026-07-03T07:49:34.733Z"}
2
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T07:54:56.618Z"},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T07:54:56.625Z"}],"overall":"PASS","ran_at":"2026-07-03T07:54:56.618Z"}
3
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T07:55:58.958Z"},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T07:55:58.965Z"}],"overall":"PASS","ran_at":"2026-07-03T07:55:58.958Z"}
4
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T07:59:21.722Z"},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T07:59:55.854Z"}],"overall":"PASS","ran_at":"2026-07-03T07:59:21.722Z"}
5
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T15:57:10.642Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T15:57:10.650Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T15:57:10.650Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T15:57:10.642Z"}
6
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T15:57:10.955Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":false,"failures":[{"rule":"REG-0001","severity":"block","evidence":"#0000EE in palette within 5 of #0000EE — regressed pattern: Synthetic test — matches raw-concrete's accent, expect BLOCK"}]},"ran_at":"2026-07-03T15:57:10.964Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-03T15:57:10.955Z"}
7
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T15:57:11.255Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T15:57:11.266Z","dismissed":[{"rule":"REG-0001","severity":"block","evidence":"#0000EE in palette within 5 of #0000EE — regressed pattern: Synthetic test — matches raw-concrete's accent, expect BLOCK","dismissed":true,"dismissal":{"scope":"this_run","reason":"Synthetic test — removing after verification","dismissed_at":"2026-07-03T15:57:11.111Z"}}]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T15:57:11.266Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T15:57:11.255Z"}
8
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T15:57:11.398Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T15:57:11.410Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T15:57:11.410Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T15:57:11.398Z"}
9
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T16:48:54.397Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T16:48:54.405Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T16:49:24.697Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family A has no golden-set anchor yet — anchor-compare skipped (per Mat's Path B decision, families A+G bootstrap from their own first-authored theme)."},"ran_at":"2026-07-03T16:49:24.698Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T16:48:54.397Z"}
10
- {"slug":"raw-concrete","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:52:07.650Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-03T22:52:07.658Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-03T22:52:07.658Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family A has no golden-set anchor yet — anchor-compare skipped (per Mat's Path B decision, families A+G bootstrap from their own first-authored theme)."},"ran_at":"2026-07-03T22:52:07.659Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-03T22:52:07.650Z"}
@@ -1 +0,0 @@
1
- {"slug":"sports-league","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:46:08.324Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:46:08.337Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-05T06:46:08.337Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family E rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/E/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-05T06:46:08.337Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-05T06:46:08.324Z"}
@@ -1,2 +0,0 @@
1
- {"slug":"team-kanban","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:25:04.524Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:25:04.536Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:25:37.443Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":false,"failures":[{"rule":"ANCHOR-02","severity":"block","evidence":"Accent restraint — Multiple accents appear simultaneously: blue CTA 'Get Jira free', purple Jira tile, teal Confluence, green Trello, plus colored avatar chips (purple/green) — violates one-accent rule."}]},"ran_at":"2026-07-05T06:25:50.096Z","dismissed":[]}],"overall":"BLOCK","ran_at":"2026-07-05T06:25:04.524Z"}
2
- {"slug":"team-kanban","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:27:44.189Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:27:44.199Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:28:31.976Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-05T06:28:44.246Z","dismissed":[{"rule":"ANCHOR-02","severity":"block","evidence":"Accent restraint — Multiple accents coexist simultaneously — blue CTA/Jira, purple 'Taste' link + Jira icon, teal Confluence, green Trello — rainbow palette across suite tiles violates one-accent rule.","dismissed":true,"dismissal":{"scope":"this_theme","reason":"Multi-color card labels (blue/green/yellow/red/purple) are the LEGITIMATE theme-scoped exception documented in theme.yml multi_color_exception — Kanban boards genuinely require color-coded labels to function as project-management tools. The BRAND accent is coral #ff5a5f (single-hue for wordmark/CTA/hover). The multi-color palette is scoped ONLY to card category tags within the Kanban board, not to brand chrome. Grader is judging against a Family D dashboard rubric that doesn't account for kanban PM chrome inventory.","dismissed_at":"2026-07-05T06:27:44.066Z"}}]}],"overall":"PASS","ran_at":"2026-07-05T06:27:44.189Z"}
@@ -1 +0,0 @@
1
- {"finding_id":"ANCHOR-02","scope":"this_theme","reason":"Multi-color card labels (blue/green/yellow/red/purple) are the LEGITIMATE theme-scoped exception documented in theme.yml multi_color_exception — Kanban boards genuinely require color-coded labels to function as project-management tools. The BRAND accent is coral #ff5a5f (single-hue for wordmark/CTA/hover). The multi-color palette is scoped ONLY to card category tags within the Kanban board, not to brand chrome. Grader is judging against a Family D dashboard rubric that doesn't account for kanban PM chrome inventory.","dismissed_at":"2026-07-05T06:27:44.066Z","applied":false}
@@ -1,3 +0,0 @@
1
- {"slug":"vault-reel","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T08:42:12.364Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T08:42:12.372Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-04T08:42:12.372Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family E rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/E/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T08:42:12.372Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T08:42:12.364Z"}
2
- {"slug":"vault-reel","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T08:42:20.458Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T08:42:20.466Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[],"skipped":"ANTHROPIC_API_KEY not set — avoid-rubric gate skipped. Set the key to grade against theme.avoid array."},"ran_at":"2026-07-04T08:42:20.466Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family E rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/E/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T08:42:20.466Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T08:42:20.458Z"}
3
- {"slug":"vault-reel","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T08:42:34.312Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T08:42:34.320Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T08:43:13.009Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family E rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/E/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T08:43:13.010Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T08:42:34.312Z"}