We just completed a comprehensive audit of Aurora design token usage across the Strug City enterprise site. The goal wasn't to find problems—it was to prove we didn't have any. Turns out, we had a few.
What We Audited
Aurora is our design system—the centralized token library that defines colors, spacing, typography, and responsive behavior across all Strug City products. When components drift from Aurora tokens, they create visual inconsistency and maintenance debt.
We scanned the entire codebase for four violation categories:
- Hardcoded colors — hex values or RGB strings instead of semantic tokens
- Non-semantic tokens — using color-50 instead of bg-primary
- Missing responsive utilities — fixed spacing values where breakpoint-aware tokens should apply
- Inconsistent spacing — arbitrary padding/margin instead of Aurora's spacing scale
What We Found
The audit surfaced violations across all four categories. Most were isolated to a few components—OSThesisSection had the highest concentration. These weren't regressions; they were legacy patterns that predated Aurora's formalization as a design system.
The immediate impact: we now have a documented baseline in docs/audits/sc2-aurora-token-audit.md. This audit artifact becomes the reference point for future refactoring work and design system migration sprints.
Enforcing It Forward
We added automated test coverage to OSThesisSection.tsx—the component with the most violations. The test file (os-thesis-section.audit.test.tsx) locks in current behavior and prevents new violations from slipping through code review. This follows the TDD audit pattern we've used for accessibility, Open Graph metadata, and design system compliance across other surfaces.
What's Next
This audit is the foundation for a broader SC 2.0 design system migration. We'll use the documented violations as a prioritized backlog: refactor components one at a time, replacing hardcoded values with semantic Aurora tokens. Each fix gets test coverage to prevent drift.
The goal isn't perfection—it's visibility. Now that we know where the gaps are, we can close them systematically instead of chasing visual inconsistencies in production.