Skip to content

fix(theme): validate against lich's current theme template - #50

Merged
omartelo merged 1 commit into
mainfrom
fix/theme-validate-tone-tokens
Oct 8, 2026
Merged

omartelo merged 1 commit into
mainfrom
fix/theme-validate-tone-tokens

Conversation

@omartelo

@omartelo omartelo commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

validate.mjs derived its app tokens from a template.json copied before lich 0.53.0 made tone-pass/tone-wait required (lichdotdev/lich#617): current packs (rose-pine, catppuccin, eldritch, moonfly, oceanic-next) failed with unknown app color, and a pack without the tones passed although lich rejects it with app.tone-wait is required.

  • tests/theme-validate.test.mjs: a theme with the tones passes, one without tone-wait fails with lich's message (both failed before the fix).
  • tests/refresh-fixtures.sh now vendors themes/template.json from lich at tests/lich-ref; the CI drift job diffs it with the fixtures — one source, lich's own template.
  • SKILL.md: 33 app tokens, tone-pass/tone-wait in the role table with the minLichVersion hint.

node --test tests/*.test.mjs: 330 pass.

validate.mjs reads its token sets off skills/theme/template.json, a copy
taken before lich 0.53.0 made the app tokens tone-pass and tone-wait
required (lichdotdev/lich#617). It called a current theme's tones unknown
and passed a theme without them that lich rejects on import.

The template is now refreshed from lich at tests/lich-ref by
refresh-fixtures.sh, and the CI drift job diffs it with the fixtures, so
the next token lich adds reaches the validator by moving the ref. The
skill's token count and role table follow.
@omartelo
omartelo merged commit e3c4949 into main Oct 8, 2026
3 checks passed
@omartelo omartelo mentioned this pull request Oct 8, 2026
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