Skip to content

fix(skills): implement-design — guarantee Chromium cleanup on throw (CodeRabbit on omator#266) - #337

Draft
evanharmon1 wants to merge 1 commit into
mainfrom
fix/design-handoff-omator-review
Draft

fix(skills): implement-design — guarantee Chromium cleanup on throw (CodeRabbit on omator#266)#337
evanharmon1 wants to merge 1 commit into
mainfrom
fix/design-handoff-omator-review

Conversation

@evanharmon1

Copy link
Copy Markdown
Owner

What

CodeRabbit raised 8 findings on the vendored design-handoff skill copy in
ponderousdev/omator#266
(.claude/skills/design-handoff/**, v3.24.0 vintage). Vendored copies are
pinned + drift-checked, so they are never hand-edited downstream — agreed
findings are fixed in the canonical skill here (now
ai/skills/frontend/implement-design/** after the design-handoff → implement-design
rename in #108) and reach consumers via the next release → pin bump → task sync:skills.

Extends the earlier batch from #86 (which was merged before this arrived).

Change

Exactly one finding was genuinely new against the current canonical skill:

  • assets/measure-rendered-contrast.mjs — wrap the per-theme sampling loop
    in try/finally so a throw from page.goto/page.evaluate (e.g. the
    preview server not up yet) can no longer skip browser.close() and leak the
    launched Chromium process. Relevant because the script is rerun repeatedly
    during Phase 5.

The other 7 omator findings were already satisfied by the current canonical
skill (mostly from #86's batch, plus the earlier hardening):

omator finding verdict
check-off-palette.sh — grep exit 2 vs 1 already fixed (#86): validates $root exists → exit 2, and rc>1 fails closed, rc==1 = clean
assets-fonts-favicons.md — blanket-approve Google Fonts already addressed: OFL/Apache-only licensing gate, per-package LICENSE via Fontsource; no blanket approval
brand-page.md — "permissive CORS" already fixed (#86): * reserved for public non-credentialed static assets, origin allowlist for anything authenticated
brand-page.md — React Email contradiction already fixed (#86): React Email is an acceptable alternative only when the repo already carries the dep
ethics-and-licensing.md — USPTO TESS already fixed (#86): points at tmsearch.uspto.gov, notes TESS retired 2023
responsive-and-cross-browser.md — dev server sweep already fixed (#86): sweep runs build && preview, "never the dev server"
Taskfile.design.yml — format comment already fixed (#86): desc/comment say "(.tar.gz or .zip)", format is a moving target — no "current/canonical" claim

Verification

  • task verify green (612 skills tooling tests pass)
  • node --check clean on the edited .mjs; exec bit preserved

Fix ships at 769aa27b843dfd15f33a9c806246e0759976e312.

🤖 Generated with Claude Code

Wrap the per-theme sampling loop in try/finally so a throw from
page.goto/page.evaluate (e.g. the preview server not being up yet) can no
longer skip browser.close() and leak the launched Chromium process. This
script is rerun repeatedly during Phase 5 iteration, so a leak per failed run
accumulates.

Addresses CodeRabbit finding on ponderousdev/omator#266
(measure-rendered-contrast.mjs — guarantee browser.close()).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant