Skip to content

style: complete Royal Neo-Deco sweep — eliminate slate-* (Rule 27)#11

Merged
SirsiMaster merged 13 commits into
wave2/hardeningfrom
wave3/royal-sweep
Jun 14, 2026
Merged

style: complete Royal Neo-Deco sweep — eliminate slate-* (Rule 27)#11
SirsiMaster merged 13 commits into
wave2/hardeningfrom
wave3/royal-sweep

Conversation

@SirsiMaster

Copy link
Copy Markdown
Owner

Royal Neo-Deco Sweep — Wave 3 Integration

Completes the §4 / Rule 27 Royal Neo-Deco design-law sweep across the web/ surface. Visual/className only — zero logic changes, all behavior + tests preserved.

Slate elimination

count
slate-* color classes on wave2/hardening (before) 733
slate-* color classes after sweep (real) 0
raw git grep -c "slate-" residual (after) 30 — all false positives

The 30 residual git grep "slate-" hits are not slate color tokens. Every one is either:

  • a Tailwind translate-* transform utility (-translate-x-1/2, group-hover:translate-x-0.5, etc.) — the substring slate- appears inside tran**slate-**, and
  • one explanatory comment in estates.$estateId.obituary.lazy.tsx documenting why var(--color-slate-*) was removed.

Precise check git grep -nE "(^|[^a-zA-Z-])slate-" -- web/src | grep -vE "translate-" returns empty. Effective residual slate = 0.

Integrated branches (disjoint globs, no conflicts)

  • w3/routes-toplevel-marketing — index, about, memorial, privacy, terms
  • w3/routes-shell-onboarding — __root, accept-invite, dashboard, estates.create
  • w3/routes-estate-detail-subtree — 17 estate-detail route files
  • w3/components-estate — Invite/Quorum/RSVP/Settlement/Share/Shepherd panels
  • w3/components-guards — AuthGuard, IdentityGate, OwnerWelcome
  • w3/components-layout-landing — ErrorBoundary, ProductShowcase, NotificationBell, Sidebar
  • w3/components-ui-skeletons — skeletons + ui (select-with-other, skeleton)

Greys/slates mapped to Royal Blue (--royal/--sapphire/--royal-blue), Metallic Gold (--gold), and ink tokens. No emerald introduced (Sirsi brand, not FinalWishes).

Verification

  • npm run build — ✅ green (only pre-existing chunk-size advisory)
  • npx vitest run — ✅ 208 passed / 14 files
  • api/ untouched.

🤖 Generated with Claude Code

Cylton Collymore and others added 13 commits June 14, 2026 14:51
Replace all forbidden slate-* utilities in components/guards with
on-brand Royal Neo-Deco classes (text-ink / text-ink-muted / text-royal,
bg-[var(--neutral-faint)], border-[var(--neutral-border)]). Heading text
maps to text-royal; primary body to text-ink; secondary/helper to
text-ink-muted; faint fills/borders to royal-tinted neutral vars. Visual/
className only — no logic or behavior changes; all 208 tests green.

Refs CLAUDE.md Rule 27 (§4 Royal Neo-Deco design law).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities in web/src/components/ui and
web/src/components/skeletons with on-brand Royal Neo-Deco tokens
(royal-tinted neutrals + ink/ink-muted), removing forbidden grey.

- Borders slate-50/100/200/300 -> border-[var(--neutral-border)] /
  border-[var(--neutral-faint)] (hairline royal-tinted neutrals)
- Faint fills bg-slate-50 -> bg-[var(--neutral-faint)]
- Skeleton pulse bg-slate-200/60 ->
  bg-[color-mix(in_srgb,var(--neutral-border)_60%,transparent)]
- select-with-other input value text text-slate-900 -> text-ink
- README design-rule note updated to royal-tinted neutrals

Visual/className only; logic + behavior unchanged (208 tests green,
build green). Refs Rule 27 (Royal Neo-Deco design law).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities across the estates.$estateId.* route subtree
with on-brand Royal Neo-Deco tokens per DESIGN LAW (Rule 27 / §4):

- Headings (Cinzel / h1-h6 / *Title) text-slate-900/800 -> text-royal
- Body/value text text-slate-900/800/700 -> text-ink (opacity preserved)
- Secondary/helper text-slate-600/500/400/300 -> text-ink-muted
- Light-on-dark text-slate-200 -> text-white/70
- Faint fills bg-slate-50/100 -> bg-neutral-faint (#F4F6FB)
- Dividers/borders slate-100/200/300 -> --neutral-border (#DCE3EE)
- Dark fills bg-slate-800/900 -> bg-royal-blue / bg-royal
- Hover border highlights -> gold/40-50 (Neo-Deco gold halo)

Visual/className-only sweep: zero logic changes, all 208 tests green,
production build passes. No grey/slate or emerald anywhere.

Refs: CLAUDE.md Rule 27 / §4 Royal Neo-Deco

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all forbidden slate-* utilities with on-brand Royal Neo-Deco
classes across the shell/onboarding routes (__root 404, dashboard
redirect, accept-invite states, estates.create wizard). Slate text ->
royal-tinted ink/ink-muted (headings -> royal), slate fills/borders ->
neutral-faint/neutral-border var tokens, dark-surface text -> white/70,
interactive hover borders -> gold halo. No emerald, no grey.

Visual/className only -- zero logic or behavior change. Build green,
208/208 vitest pass.

Refs CLAUDE.md Rule 27 / §4 Royal Neo-Deco.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities with on-brand Royal Neo-Deco classes across
index, about, privacy, terms, and memorial routes (178 occurrences).
Cinzel headings + stat displays -> text-royal; primary body -> text-ink;
secondary/helper -> text-ink-muted; faint panel fills -> bg-[var(--neutral-faint)];
hairline borders -> border-[var(--neutral-border)]; dividers preserve opacity.
No grey, no emerald. Visual/className-only; logic, behavior, and tests unchanged
(208 vitest pass, build green).

Refs CLAUDE.md Rule 27 / Sec.4 Royal Neo-Deco design law.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities with on-brand Royal Neo-Deco classes
across the layout, landing, and ErrorBoundary components. Headings ->
text-royal, body/values -> text-ink, secondary/labels -> text-ink-muted,
dark chrome fills -> bg-royal/bg-royal-blue, faint fills/borders ->
--neutral-faint/--neutral-border. No slate or emerald remains. Visual/
className-only; logic and behavior unchanged (208 tests green, build OK).

Refs CLAUDE.md Rule 27 (§4 Royal Neo-Deco design law).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace all slate-* utilities in web/src/components/estate components with
on-brand Royal Neo-Deco classes per the canonical mapping — royal-tinted ink
for text (text-ink / text-ink-muted), text-royal for Cinzel headings, royal/gold
accents for borders, and neutral-faint/neutral-border vars for fills and hairlines.
Slate/grey is forbidden for FinalWishes per Design Law. Visual-only: no logic or
behavior changed; build green, 208 tests pass.

Refs Rule 27 (§4 Royal Neo-Deco).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 5bd74e4):

https://finalwishes-prod--pr11-wave3-royal-sweep-4v46llbc.web.app

(expires Sun, 21 Jun 2026 19:00:55 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 6c224b6590e2084ad0c46f0efd6a68ed08b63fa3

@SirsiMaster

Copy link
Copy Markdown
Owner Author

Folded into #8 (consolidated) and merged to main via 398105a. Closing as superseded — all content is now on main.

@SirsiMaster SirsiMaster merged commit 21c81ae into wave2/hardening Jun 14, 2026
6 checks passed
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