No agent ruleset.
Without a CLAUDE.md or AGENTS.md, every LLM session starts from zero. The model generates whatever its training median suggests. No contract, no enforcement, no DON'T list. This is where 40% of the drift originates.
The score is downstream of this.
1 of 8 inputs. A style guide.
8 of 8 inputs. An operating system.
Same model. Different search space. That's the whole gap.
FixBroken OS ships 6+ live URLs: fixbroken.ai (flagship with live telemetry, contact modal, six rules), /design/ (living style guide rendering every token and component), vumo.fixbroken.ai (tenant landing proving scoped overrides), /walkaround (product page with .vumo-walkaround-step), /voices (29-sample A/B matrix with .vumo-voice-row, .vumo-hint). All responsive at 375/768/1440. VUMO Precision has zero shipped pages.
Without a CLAUDE.md or AGENTS.md, every LLM session starts from zero. The model generates whatever its training median suggests. No contract, no enforcement, no DON'T list. This is where 40% of the drift originates.
Colors, spacing, and type are defined in YAML inside a markdown file. No CSS file exists. The model translates the spec into CSS every time, and it translates it differently every time. A design system that is not code is a suggestion.
The button labels listed ("Book a demo", "See more", "Contact sales") are the exact phrases FixBroken OS bans. Without banned phrases, the model defaults to the SaaS marketing median. The visual system can be perfect and the copy will still read generic.
| Dimension | VUMO Precision | FixBroken OS | Gap |
|---|---|---|---|
| Source of truth | YAML in markdown | CSS file at public URL | No CSS exists |
| Token system | Hex values in prose | CSS custom properties | Values exist, not as var() |
| Component prefix | No classes at all | .fb-* enforced | No naming convention |
| Agent ruleset | Does not exist | CLAUDE.md with DO/DON'T | Missing entirely |
| Voice contract | Generic SaaS CTAs | Use/avoid phrase lists | No banned phrases |
| Forbidden defaults | Not addressed | Banned in writing | No prohibitions |
| Session prompt | Does not exist | Pasted at session start | Missing entirely |
| Variant override | Not addressed | Wrapper class + scoped | No scoping model |
| Mobile review | Not addressed | 375 / 768 / 1440 | No responsive contract |
This alone closes 40% of the gap. Take the visual spec, distill it into explicit rules for the model: what classes to use, what colors to reference, what copy patterns are banned, what file to never edit. Format it as agent instructions, not documentation.
Move every hex value, spacing step, radius tier, shadow level, and type style into CSS custom properties in a single file. Serve it at a known URL or repo path. The model references var(--vp-primary) instead of guessing #101820.
"Primary button" is a description. .vp-btn--primary is a contract. Name every component, prefix them consistently, and document the HTML structure. The model needs class names, not prose descriptions.
Ban "Book a demo," "See more," "Contact sales," "Learn more," "Get started." Replace with operator-toned alternatives that sound like the brand: direct, technical, automotive. The current button labels are the training-data median.
Write a one-paragraph brief that gets pasted at every LLM session start. It should load the CLAUDE.md rules, set the voice, name the stack, and tell the model what NOT to do. Without this, the CLAUDE.md file is decorative.
The palette is coherent. Navy-to-white with a single action color (orange) is a defensible choice for enterprise automotive. The color roles are clearly described and the usage guidance is specific.
The typography is intentional. Single font (Space Grotesk) with 8 named styles, explicit tracking, and clear hierarchy. This is a deliberate choice, not a default.
The spacing and radius scales exist. Named tiers from xs through xxl. These are the bones of a real token system. They just need to be expressed as CSS variables.
The aesthetic direction is specific. "Robotic, but approachable. Premium, but operational." These are real design tensions, not placeholder adjectives.
The brand identity is distinct. This is not a copy of FixBroken OS. It is a different design language (light canvas, enterprise automotive, single geometric sans) solving a related problem. The divergence is stylistic and legitimate.
You are building VUMO Precision - an enterprise automotive AI product. Before writing any code, apply these constraints: DESIGN SYSTEM: - All values via CSS custom properties (var(--vp-*)). Never hardcode hex. - All components prefixed .vp-* (e.g., .vp-btn, .vp-card, .vp-hero). - Single CSS source file. No per-page <style> blocks. - Font: Space Grotesk only. No second family. PALETTE: - Primary: var(--vp-primary) #101820 - Deep: var(--vp-deep) #081F2D - Action: var(--vp-action) #FF4713 (orange - CTAs only) - Neutral: var(--vp-neutral) #FFFFFF - Surface: var(--vp-surface) #D2DCE5 - Secondary: var(--vp-secondary) #758592 VOICE: - Short. Direct. Technical. Automotive. - Use: Start scanning. View inspection. Run the check. See results. - Never use: Book a demo. See more. Contact sales. Learn more. Supercharge. Unlock. Revolutionize. Next-gen. Cutting-edge. DON'T: - No unprefixed global classes. - No per-page <style> blocks. - No hardcoded hex values (use var(--vp-*) tokens). - No second font family. Space Grotesk only. - No generic SaaS copy (see VOICE above). TEST: 375px / 768px / 1440px before declaring done.