Rule handbook metadata
- Rule
AI.THEME.PERSONALITY_COHERENCE· laneai- Page status
- stale
- page_version
c55d81ed3a33aedc15eb7162fdfc84805ab6d5f34b1b8ee11afd5b9fa9af67aa- generated_at
- 2026-05-19T22:35:00.000Z
- registry_fingerprint
6773fda516344e110b5a7b1435e655e1264e773825ca8bbe62194189891c42ba
How this rule is fixed
This is an AI-enabled rule. Pass/fail requires model judgment; there is no deterministic fixer in the pilot registry.
- Harness:
invoke-ai-ruleset-harness.shrunsdesign-rules/ai/run-design-ai-rule.shon the Before fixture and expects findings with matchingprincipleId. - Remediation: Cursor agent plans from
forge-ux-remediation.plan.mdafter sitewide audit — not handbook After copy.
Detection module: docs/design/ux-audit/ai-enabled-design-principles.md#ai-theme-personality-coherence. Scroll down for Before / After examples and Evidence and remediation steps.
Purpose
Kitchen Sink theme packs (forge-theme.css, forgesdlc-theme.css, docs-theme.css) encode a deliberate Forge temperament: dark, spacious foundation; amber for primary emphasis and warmth; cyan for informational labels and secondary actions. This AI rule judges whether a page feels like one brand—accent colors, gradients, glass surfaces, and dark/light balance support reading and trust instead of competing with it.
Deterministic rules guard token allowlists, font stacks, and contrast floors (DET.TOKEN.NO_DRIFT, DET.THEME.FONT_STACK, DET.THEME.CONTRAST_MIN); this rule guards personality coherence that passes token scans yet still reads as patchwork: random Bootstrap accent buttons, inline hex rainbows, gradient text on every heading, or a bright band dropped into an otherwise dark product shell.
Plan: Walk the page and map where each accent appears—labels, CTAs, cards, links, ambient layers. Do: Reassign colors to Forge roles (cyan eyebrows, amber primary CTA, restrained forge-gradient-text on the hero title only). Check: Screenshots show one calm dark personality with accents that guide, not shout. Adjust: When the same accent drift repeats (for example ad-hoc btn-success beside btn-forge), propose a deterministic DET.* companion or catalog contract tightening.
Passing signals
- Accent roles are stable:
section-label text-cyanandcard-labeloncard-ambertiles mark structure;btn-forgecarries the primary action;btn-cyan-outlineorbtn-forge-outlinecarries secondary—no straybtn-warning,btn-success, or inline#22c55e/#a855f7accents. - Dark foundation stays dominant: body and section bands use Forge dark surfaces (
forge-section,forge-card,glass/glass-amberon#0A0E17family backgrounds); light strips are intentional and brief, not accidental Bootstrap defaults. - Gradient display is focal, not noisy:
forge-gradient-textappears on the heroproduct-landing-title(or one display headline), not on everyh2–h5and link. - Glass and card variants match temperament:
glass-amberandforge-card card-ambershare the same amber story; defaultforge-cardhandles neutral tiles—surfaces do not each invent a new accent hue. - Theme pack choice is consistent: marketing/product pages load
forgesdlc-theme.cssafterforge-theme.cssand uselanding-hero,fs-landing-hero-band, andlanding-hero-kickerpatterns; handbook pages usedocs-theme.csscues without dropping marketing gradients mid-chapter. - Ambient layers respect personality: expressive
forge-ambient--expressivemesh stays behind scrimmed copy (AI.AMBIENT.READABILITY_CONFLICT); cyan/amber sparks do not become a third competing accent system. - Typography reinforces brand calm:
font-displayheadlines,forge-supportbody,text-dim/text-muted-4for de-emphasis—weights and colors stay on the Forge scale.
Failing signals
- Accent roulette: adjacent sections use cyan labels, amber cards, green success buttons, purple inline links, and orange warning badges—no readable role system.
- Gradient overload:
forge-gradient-texton hero, section titles, card headings, and footer links; copy feels like a promo filter, not enterprise documentation. - Theme pack collision: docs-style
nav-section-labelbesidelanding-hero-kicker, or handbookglass-solidpanels mixed with productfs-marketing-stat-bandwithout a transition—reads as two sites stitched together. - Light/dark whiplash: full-width
bg-light text-darkband between darkforge-sectionblocks with no scrim or bridge; eyes re-adapt every scroll. - Bootstrap defaults fighting Forge: raw
btn-primary/btn-info/text-infobeside tokenizedbtn-forge;card border-infonext toforge-card card-amber. - Inline hex drift:
style="color:#e879f9"or custom gradients on heroes despiteDET.TOKEN.NO_DRIFTpolicy—personality leaves the Forge palette entirely. - Accent behind content: high-opacity
forge-ambient--herocyan/amber mesh with no scrim makes labels feel like part of the decoration, not the message.
Before example
Before (failing example)
GOVERNANCE · AI · CLOUD · ANALYTICS
Ship faster with AI!!!
Everything in one platform
Agents, automation, and compliance-ready workflows.
Features
Traceability
Logs everywhere
Security
Enterprise grade
Smart AI
Magic automation
Failing KS markup: mixed Bootstrap accents, inline hex colors, gradient text everywhere, and a bright band that breaks the dark Forge personality.
After example
After (passing example)
Forge Platform
Governed delivery you can inspect
Calm dark surfaces, amber primary actions, and cyan structure labels—accents that guide reading instead of decorating every line.
Outcomes
One temperament across the page
Depth
Neutral glass for supporting copy—cyan label, no third accent hue.
Passing KS markup: dark Forge foundation, cyan informational labels, amber primary emphasis, gradient display on the hero title only, and a consistent CTA pair.
Evidence and remediation
Capture: full-page screenshot plus crops of hero, first accent band, and CTA row. Record loaded theme sheets (forge-theme.css, forgesdlc-theme.css, or docs-theme.css), accent class usage (text-cyan, text-amber, card-amber, btn-forge), and any inline color overrides. Note whether forge-gradient-text appears more than once above the fold.
Remediate (in order):
- Assign accent roles: cyan for
section-label/ informational eyebrows; amber for primary CTA (btn-forge) and accent cards (card-amber); remove stray Bootstrap semantic buttons (btn-success,btn-warning,btn-info). - Restore dark foundation: replace accidental
bg-lightbands withforge-sectionon dark surfaces, or isolate intentional light strips with clear hierarchy and matching typography tokens. - Limit gradient display: keep
forge-gradient-texton the heroproduct-landing-title(or one focal headline); revert section and card titles to solidfont-displaycolor. - Align theme pack: marketing/product pages use
landing-hero+forgesdlc-theme.csspatterns; handbook pages stay ondocs-theme.csscues—do not mix kicker/hero marketing classes into chapter bodies. - Remove inline hex and custom gradients; map colors to Forge CSS variables (
--forge-amber,--forge-cyan,--forge-bg) and re-runDET.TOKEN.NO_DRIFTwhen policy is enabled. - Tune ambient intensity so cyan/amber atmosphere stays behind scrimmed content (
AI.AMBIENT.READABILITY_CONFLICT). - Re-run AI batch with
principleId: AI.THEME.PERSONALITY_COHERENCE; propose a deterministic companion when the same accent drift repeats (for example banning non-Forge button classes on product landing roots).