Audit - VUMO Precision vs FixBroken OS

What you give your LLM.

The score is downstream of this.

VUMO Precision 1 file / 6kb
› vumo_design.md ~6kb
equivalent to: brand.md only
tokens + voice notes no master ruleset no agent ruleset (CLAUDE.md) no CSS source-of-truth no override pattern no session prompt no project framing

1 of 8 inputs. A style guide.

FixBroken OS 8 files / 73kb
fixbroken-os.css 37.7kb - design system › fixbroken-os-ruleset.md 13kb - master ruleset › vumo-overrides.css 7.8kb - tenant override › CLAUDE.md (flagship) 5.4kb - agent rules brand.md 3.6kb - voice contract › CLAUDE.md (tenant) 2.6kb - VUMO agent rules › README.md (x2) 2.5kb - project framing › session prompts load-in discipline
master ruleset + 2 agent rulesets CSS as shipped code (37.7kb, 25+ components) voice contract with banned phrases tenant scoping pattern proven in production session prompt mandatory 6+ live URLs proving clean output ↗

8 of 8 inputs. An operating system.

Same model. Different search space. That's the whole gap.

9 of 29 band: halfway 2026-04-25
Rubric scorecard

29 items. 9 passed.

Design System (4 / 7)
Single CSS source of truthNO
Color tokens as CSS variablesWEAK
Spacing scale tokensYES
Type scale tokensYES
Radius / shadow / motion tokensYES
Prefixed component classesNO
At least 5 reusable componentsWEAK
Agent Ruleset (0 / 7)
CLAUDE.md / AGENTS.md at repo rootNO
Stack named explicitlyNO
File layout documentedNO
DO list (5+ items)NO
DON'T list (5+ items)NO
Override pattern for variantsNO
Dev workflowNO
Brand / Voice (5 / 7)
Identity statementYES
Aesthetic statementYES
What it is / what it isn'tYES
Voice "use" phrases (10+)WEAK
Voice "avoid" phrases (8+)NO
Palette table with role + tokenYES
Typography contractYES
Delivery / Session (0 / 3)
Session-opening promptNO
One-paragraph project briefNO
LLM not asked to "remember"NO
Implementation Evidence (0 / 3)
At least one shipped page using the systemNO
Living style guide proving components renderNO
Tenant/variant page proving override patternNO

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.

Top 3 leak points

Where the drift comes from.

Leak - 01 - Critical

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.

Leak - 02 - Structural

The spec is not code.

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.

Leak - 03 - Voice

No DON'T list for copy.

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.

Pre / post comparison

Gap analysis.

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
Punch list

5 fixes, ranked by leverage.

01 - Write CLAUDE.md with DO/DON'T lists

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.

02 - Extract tokens to a real CSS file

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.

03 - Define component class names with a prefix

"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.

04 - Write a voice DON'T list

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.

05 - Add a session prompt

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.

Credit

What he got right.

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.

Migration prompt

Paste this to start closing the gaps.

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.