Skip to main content

Derived baseline rules

When you create a design system, preset AI reads the tokens it extracted and derives a starting set of rules from them: the mechanical floor. These catch values that fall outside the scales you actually have, like an arbitrary text-[15px] when your type scale is named, or a hex colour that is not in your palette.

Without them, a brand new design system has no rules at all, so an agent could write anything and every check would pass. The derived baseline gives you something real on day one, without you authoring it by hand.

They apply straight away, and they warn rather than block

Derived rules are added to your rules as soon as your design system is created, and again whenever you add sources that give it a new scale. You do not have to accept them first. What they do depends on how sure the extraction is:

RuleWhat it catchesApplies as
Arbitrary valuetext-[15px], bg-[#abc123], p-[7px], rounded-[5px]warn when your tokens were extracted reliably, suggest when they were not
Off-scale named classa class outside your extracted band, like text-5xl when your type scale stops at xlsuggest

A warn rule reports a warning to the agent and at the merge gate. It does not fail anything. A suggest rule is advisory: it is shown, but it never counts against you. See rule enforcement levels for what each level does.

A derived rule never blocks on its own. Blocking is a decision you make: open the rule on the AI rules page and raise its enforcement level to block. That way your first experience of preset AI is a warning about an arbitrary value, never a gate failing your code on a rule you have not seen.

Where they appear

Derived rules are on the AI rules page with your other rules. They always show Source: derived, not authored, so a rule you did not write is never mistaken for one you did, and Basis names the tokens each came from, for example 12 spacing tokens · scan.

Changing or removing one

A derived rule is an ordinary rule. You can:

  • Raise it to block when you are ready for it to fail code that breaks it.
  • Lower it to suggest or observe if it is too noisy for now.
  • Delete it. preset AI remembers that you removed it, so adding sources later does not bring it back.

preset AI never overwrites a rule that already exists. If you change a derived rule's level, or you have your own rule with the same name, your version stays.

Proposals from before this change

Design systems created before derived rules applied automatically may still have some waiting as proposals, marked derived · proposed on the AI rules page. Those still enforce nothing until you review them. Open one and choose Accept to make it a rule, Edit to change its level or severity first, or Reject to discard it. A rejected proposal is never applied later. Accept applies the version you see, including your own edits; if someone else changed it after the page loaded, the accept is refused and you're asked to reload (see Review proposals).

Was this page helpful?

Last reviewed by @jschuyler
All systems operationalDocsDevelopersPlatformPricing
PrivacyTerms© 2026 fndd, LLC