site: correct 3.5 detector changelog (14 rules, jsdom-free engine + stats)

The 'Detector: 7 new rules' line undercounted (14 rules landed since the
pre-rewrite baseline; one of the listed 7, italic-serif, actually shipped in
v3.0.7). It also omitted the bigger win: the jsdom-free static engine (#156).
Correct the count across the skill, CLI, and extension entries, and add the
engine rewrite with real numbers (~4ms/HTML file, 71-file corpus under 200ms,
measured via bun run bench:detector).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Paul Bakaus
2026-05-28 17:10:59 -07:00
co-authored by Claude Opus 4.8
parent 5aeda76c8c
commit 71888117c8
2 changed files with 8 additions and 6 deletions
+8 -6
View File
@@ -25,7 +25,7 @@ import '../styles/changelog-faq-kinpaku.css';
<article id="v3.5.0" class="cf-entry cf-entry--current">
<header class="cf-entry-head"><span class="cf-version">v3.5.0</span><span class="cf-date">May 28, 2026</span><span class="cf-current-badge">Current</span></header>
<p class="cf-entry-lead">The biggest release yet. Per-provider skill compilation, a much less biased skill, and Live Mode out of its rough edges.</p>
<p class="cf-entry-lead">The biggest release yet. Per-provider rules that lift GPT-5.5 and Codex most, a skill that adapts to new versus existing projects, and Live Mode in Beta.</p>
<figure class="cf-ba">
<div class="cf-ba-pair">
@@ -60,14 +60,15 @@ import '../styles/changelog-faq-kinpaku.css';
<ul class="cf-items">
<li><strong>Dramatically better in GPT and Codex.</strong> Impeccable now compiles harness-specific rules into the skill at build time. Codex and GPT-5.5 get rules written for the exact defects they produce, that no other harness ever sees. No other design skill does this; everyone else ships one generic file to every model.</li>
<li><strong>Far less AI-default slop.</strong> Bias mining against ~190 samples found the skill's own lines were causing defects, and cut them. The cream / beige background tell (74% on GPT) is banned across the warm-neutral band. Category-to-aesthetic recipes that drove extreme letter-spacing and italic-serif heroes are gone: the shape depends on the brand, not its category. New bans cover all-caps eyebrows, numbered section markers, more than three fonts, and a hard contrast floor.</li>
<li><strong>A random brand seed for new projects.</strong> Start something with no existing colors and the skill now draws a single seed color from 129 hand-curated anchors, each carrying a mood and a composition strategy, then builds the full palette around it by hand. One seed becomes a dark jazz club or a light hospitality brand depending on the brief. It stops the cold-start drift toward the same safe cream-and-complementary palette every time.</li>
<li><strong>It treats a new project differently from an existing one.</strong> On an existing codebase the skill reads your tokens, theme, and components first and works within them: preserving your identity wins over imposing a fresh look. On a blank slate it draws a single seed color from 129 hand-curated anchors, each carrying a mood and a composition strategy, then builds the full palette around it by hand. One seed becomes a dark jazz club or a light hospitality brand depending on the brief. Either way it ends the cold-start drift toward the same safe palette every time.</li>
<li><strong>Live Mode is Beta.</strong> Out of alpha. Pick an element in your running app, steer it in plain language (now with voice input), and accept the variant back to source. Insert mode scaffolds new elements; recovery survives HMR, hidden heroes, and dev-tool overlays. An experimental streaming poll mode cuts pickup from seconds to sub-second.</li>
<li><strong><code>/impeccable teach</code> is now <code>/impeccable init</code>.</strong> Renamed to match what it does: one command to set up a project. From a single codebase scan it writes PRODUCT.md, offers a DESIGN.md, configures Live Mode so it just works the first time you run it, then points you at the best command to start with. The old name still works as an alias.</li>
<li><strong>A bare <code>/impeccable</code> recommends your next move.</strong> Run it with no command and, instead of a static menu, it reads the project, your dirty git tree, and your latest critique, then leads with the two or three highest-value commands and why (no DESIGN.md yet, run document; unresolved findings in the files you're editing, run polish). It always asks before running anything, and the full menu is still right below.</li>
<li><strong>Detector: 7 new rules.</strong> <code>cream-palette</code>, <code>em-dash-overuse</code>, <code>marketing-buzzword</code>, <code>numbered-section-markers</code>, <code>aphoristic-cadence</code>, <code>broken-image</code>, and italic-serif display heroes. One canonical registry now feeds the CLI, the browser extension, critique, and the evals.</li>
<li><strong>A faster detector with no jsdom.</strong> The HTML/CSS engine was rebuilt from the ground up on <code>htmlparser2</code> and a real CSS cascade resolver, replacing jsdom. It analyzes an HTML file in about 4 ms and clears the full 71-file detection corpus in under 200 ms, with none of the jsdom slowdowns that made large HTML scans crawl. Dependency-free and small enough to bundle straight into the skill and run inline, not just in the CLI and the extension.</li>
<li><strong>Detector: 14 new rules.</strong> <code>cream-palette</code>, <code>em-dash-overuse</code>, <code>marketing-buzzword</code>, <code>numbered-section-markers</code>, <code>aphoristic-cadence</code>, <code>theater-slop-phrase</code>, <code>oversized-h1</code>, <code>extreme-negative-tracking</code>, <code>gpt-thin-border-wide-shadow</code>, <code>repeating-stripes-gradient</code>, <code>image-hover-transform</code>, <code>broken-image</code>, <code>text-overflow</code>, and <code>clipped-overflow-container</code>. 41 deterministic rules total, one canonical registry feeding the CLI, the browser extension, critique, and the evals.</li>
<li><strong>The skill keeps itself current.</strong> On the first session of the day, Impeccable quietly checks whether a newer version shipped. If one has, it offers to run <code>npx impeccable skills update</code> for you. It always asks first, never nags about a version you declined, and never interrupts the task you're on. Set <code>IMPECCABLE_NO_UPDATE_CHECK=1</code> to turn it off.</li>
<li><strong>Codex gets its asset-producer subagent automatically.</strong> Codex reads custom subagents from <code>.codex/agents/</code>, a directory separate from where it reads skills, so installers used to leave the agent behind. Now the skill bundles the agent, notices on boot when a Codex project is missing it, and offers to copy it into place. Fixes the gap reported in #161.</li>
<li><strong>A tighter, sharper skill.</strong> Orphan reference files folded into their commands, context loading simplified, and a new LLM-backed test suite catches instruction-following regressions across three providers. Plus dedicated <a href="/changelog">/changelog</a> and <a href="/faq">/faq</a> pages.</li>
<li><strong>Sharper craft under the hood.</strong> Beyond the bans, the craft itself got tighter. Small defaults landed where they pay off, like <code>text-wrap: balance</code> on headings, which cleaned up ragged hero type across the ablation runs. And the instructions themselves got leaner: orphan reference files folded into their commands, context loading simplified, and a new LLM-backed test suite that catches instruction-following regressions across three providers on every change. Plus dedicated <a href="/changelog">/changelog</a> and <a href="/faq">/faq</a> pages.</li>
</ul>
</article>
@@ -81,7 +82,8 @@ import '../styles/changelog-faq-kinpaku.css';
<article id="cli-v2.2.0" class="cf-entry">
<header class="cf-entry-head"><span class="cf-version">CLI v2.2.0</span><span class="cf-date">May 28, 2026</span></header>
<ul class="cf-items">
<li><strong>Seven new detection rules.</strong> <code>cream-palette</code> (warm off-white "claude beige" backgrounds, including Tailwind warm-light utilities), <code>em-dash-overuse</code>, <code>marketing-buzzword</code>, <code>numbered-section-markers</code>, <code>aphoristic-cadence</code>, <code>broken-image</code>, and italic-serif display heroes, alongside the hero eyebrow-chip rule. 41 deterministic rules total.</li>
<li><strong>Static engine, no jsdom.</strong> Detection was rebuilt on <code>htmlparser2</code> and a real CSS cascade resolver, replacing jsdom. Dependency-free, far faster on large scans, and small enough to bundle, with no change to the rules themselves.</li>
<li><strong>14 new detection rules.</strong> <code>cream-palette</code> (warm off-white "claude beige" backgrounds, including Tailwind warm-light utilities), <code>em-dash-overuse</code>, <code>marketing-buzzword</code>, <code>numbered-section-markers</code>, <code>aphoristic-cadence</code>, <code>theater-slop-phrase</code>, <code>oversized-h1</code>, <code>extreme-negative-tracking</code>, <code>gpt-thin-border-wide-shadow</code>, <code>repeating-stripes-gradient</code>, <code>image-hover-transform</code>, <code>broken-image</code>, <code>text-overflow</code>, and <code>clipped-overflow-container</code>. 41 deterministic rules total.</li>
<li><strong>everything-centered removed.</strong> Dropped from the registry, the regex analyzer, and the layout checks: the rule caught too many legitimately centered layouts to earn its place.</li>
<li><strong>One canonical registry.</strong> Eval-side detection logic folded back into the shared engine, so the CLI, the browser extension, the critique skill, and the evals all run the exact same checks.</li>
</ul>
@@ -90,7 +92,7 @@ import '../styles/changelog-faq-kinpaku.css';
<article id="ext-v1.1.0" class="cf-entry">
<header class="cf-entry-head"><span class="cf-version">Extension v1.1.0</span><span class="cf-date">May 28, 2026</span></header>
<ul class="cf-items">
<li><strong>The seven new rules flag in the overlay.</strong> cream-palette, em-dash-overuse, marketing-buzzword, numbered-section-markers, aphoristic-cadence, broken-image, and italic-serif heroes now light up on any page you scan, same engine as the CLI.</li>
<li><strong>The new detection rules flag in the overlay.</strong> cream-palette, em-dash-overuse, marketing-buzzword, numbered-section-markers, aphoristic-cadence, theater-slop-phrase, oversized-h1, broken-image, text-overflow, and the rest now light up on any page you scan, same engine as the CLI.</li>
<li><strong>Per-rule toggles in settings.</strong> Every rule, including the new ones, has an on/off switch grouped by AI tells and Quality. Toggle state syncs across your browsers and the scan honors it immediately.</li>
</ul>
</article>

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB