v0.14.0 — theme-aware colors, preflight truth, hardening, TypeScript 7
Theme-aware color governance, preflight truth, ingestion hardening, and the TypeScript 7 migration.
Theme-aware colors (#35)
- (role, theme) merge key: dual-theme palettes no longer collapse; dark colors get their own runtime lane (colors_dark), DTCG group, and synthesis section; both themes join the check palette
- Extraction tags themes only on explicit dark-scope signals — no value guessing. Fully additive.
Preflight truth (#43)
- Same-document var() resolution (cycle-guarded, fallback-aware; unresolvables are info, not violations)
logo evidence by filename/alt; quoted font-family capture bug fixed
Hardening
- 21-test malformed-input suite across all ingestion parsers (degrade or controlled-throw; hangs fail CI); findings → #45
- Poisoned-runtime runbook exercised for the first time (scripted tamper → detect → respond → clean); live drill honestly pending
TypeScript 7.0.2
- Same-source dist-diff vs 5.9: byte-identical runtime JavaScript, ordering-only declaration changes
Full changelog: https://github.com/Brandcode-Studio/brandsystem-mcp/blob/main/CHANGELOG.md