design: purple is dead — zero banned literals, and the audit is now a hard CI gate #5551
ccantynzAI Reviewcommented 6d ago
AI Triage
(no summary)
Priority: medium Risk area: mixed
Suggested labels: (no label suggestions) Suggested reviewers: (no reviewer suggestions)
Suggestions only — nothing has been applied. The PR author stays in control.
gluecron[bot]🤖 botAI Reviewcommented 6d ago
AI review unavailable
The platform's AI balance is exhausted, so AI generation is temporarily unavailable. Nothing was lost. You can queue this as a repair for the internal agent from the repository's Health page, or try again once the balance is restored. The PR is otherwise unchanged.
Cross-repo impact
See what breaks downstream if this PR merges.
⮌ Merged
This pull request was merged into main.
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts
The "no purple, ever" law becomes enforced reality. ~45 files, every banned-family literal (hue 225–305, chroma ≥ 0.10) replaced with intensity-matched tokens:
var(--accent); severity-indigo →var(--blue); all seven CTA gradients →var(--accent-gradient); purple rgba chips → accentcolor-mixat their original alphas; the admin hairline joins the standard evergreen one; diff-view's#d2a8ffsyntax color reads evergreen; standups loses both its purple accent and ~30 dark-hex token fallbacks; the indigo dark slabs in components.tsx (CI failure card) and editor.tsx (AI explain panel) become properbg-inset/border/texttokens. Zero exemption markers needed.#a5b4fc,#1e40af,#5b7bff,#c4cdfaclass), finished during integration. The design-audit.mjs conflict resolved in favor of the stricter merged scanner.scripts/ci-tests.shruns the design audit before the test suite —set -euo pipefailmakes any banned literal fail every CI run from now on. This defect class cannot be reintroduced.Final reading:
[design-audit] 0 banned-family literal(s), exit 0. Typecheck clean; 272 tests across 29 touched-file suites green in the agent pass, +63 at integration. The CI run for this very PR is the gate's first live firing.