Skip to content

ADR-0003 accepted: palette is LIGHT; Phase 1a planned - #502

Merged
pftg merged 1 commit into
masterfrom
phase-1a-plan
Aug 20, 2026
Merged

pftg merged 1 commit into
masterfrom
phase-1a-plan

Conversation

@pftg

@pftg pftg commented Aug 20, 2026

Copy link
Copy Markdown
Member

Docs-only. Closes the last open decision in the 2608 design system and writes
the phase it unblocks.

Palette: LIGHT (Paul, 2026-08-20)

Resolved on a lightning demo of the peer set rather than taste:

Reference Palette Signal
thoughtbot light closest peer; proof above the fold
Test Double light a Rails consultancy selling to technical buyers — still light
Basecamp light default explicitly non-technical audience; dark is a user preference, not the brand
Linear light marketing site the decisive one — poster child for dark product aesthetics, sells in light
Vercel both dual-palette is fine when the buyer is a developer

The split is audience-shaped, not taste-shaped. Dark marketing belongs to
products bought by developers evaluating a tool; light belongs to services
bought on trust. The literature supplies the mechanism: light reads as more
open and trustworthy, dark "weakens a trusting emotional connection", and light
holds a comprehension edge at small font sizes — our exact case, since our
humans are on phones (28% of GSC clicks from 6% of impressions).

The dark case lost on a distinction worth keeping.
/services/vibe-code-rescue/ is the best page on the site and it is obsidian —
but its quality is structural, not chromatic (proof chips in fold one, one
repeated CTA, artifact cards, ~4,300px), and every one of those already shipped
in the light blog.

Dark stays deliberately in three places: blog cover art, one dark proof band
per page, and vibe-code-rescue as a dark-variant campaign page — same tokens
and components, not a second design system.

Phase 1a planned (20.02)

Surface measured, not estimated: 161 var(--color-primary) + 52
literals, 8 #0066d6 rule sites, 55 scoped !important workarounds
across four files, 262 macOS / 137 Linux baselines.

Sequenced so 1a.1 promotes tokens zero-delta (no baseline churn), making the
deletion a value change rather than a rename. Gates are A/B/C per ADR-0004 — no
A/B test, plus a hard WCAG AA contrast gate.

The phase's success signal: all 55 !importants can go. If they can't, the
replacement link colours are wrong.

bin/hugo-build green; OKF conformant under --strict.

🤖 Generated with Claude Code

Paul resolved the one open decision on a lightning demo of the peer set.
Every services company reviewed ships light - thoughtbot, Test Double (a
Rails consultancy selling to technical buyers), Basecamp (dark is a user
preference, not the brand) - and the decisive signal is Linear, the poster
child for dark product aesthetics, shipping a LIGHT marketing site. Dark
marketing belongs to products bought by developers evaluating a tool; light
belongs to services bought on trust. The literature supplies the mechanism:
light reads as more open and trustworthy, and holds a comprehension edge at
small font sizes - our exact case, since our humans are on phones (28% of
GSC clicks from 6% of impressions).

The dark case lost on a distinction worth keeping: vibe-code-rescue is our
best page and it is obsidian, but its quality is STRUCTURAL not chromatic,
and every structural element already shipped in the light blog. Dark stays
deliberately in three places - cover art, one proof band per page, and
vibe-code-rescue as a dark-variant campaign page.

20.02 plans Phase 1a with the surface measured, not estimated: 161
var(--color-primary) + 52 literals, 8 #0066d6 rule sites, 55 scoped
!important workarounds across four files, 262 macOS / 137 Linux baselines.
Sequenced so the token promotion ships zero-delta first, making the deletion
a value change rather than a rename. The phase's success signal is that all
55 !importants can go - if they can't, the replacement is wrong.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1236a125-8e08-4df0-aced-e32fef5b468a


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@pftg
pftg merged commit aa700b8 into master Aug 20, 2026
4 checks passed
@pftg
pftg deleted the phase-1a-plan branch August 20, 2026 18:49
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