FUI2015: CSS variable is not in the contract vocabulary
moderateA CSS variable reference is shaped like your design tokens but is absent from the approved vocabulary.
Details
{
"code": "FUI2015",
"ruleId": "tokens/css-vars-must-be-defined",
"category": "Tokens",
"defaultSeverity": "moderate",
"lifecycle": "experimental",
"fixAvailable": false,
"evidenceRequired": true
}Guidance
What it means
Fragments found a primary var(--token) reference that belongs to your contract's token family but
is not defined by its declared token sources. The finding names the unknown variable, property, and
source location.
Why it matters
An unknown variable can silently fall back, inherit, or render differently between applications. It also gives people and agents a token name that the design-system owner cannot version or govern.
Before
This component references an invented contract token:
.cardTitle {
color: var(--fui-color-card-title);
}
Repair
List the approved vocabulary with fragments tokens list, then replace the reference with the
existing token that has the intended role:
.cardTitle {
color: var(--fui-text-primary);
}
If the role is genuinely new, add it to a declared token source and have the design-system owner approve the resulting contract revision before using it. Do not define the variable inside a random component file merely to silence the finding.
Intentional exception
Use a narrow, expiring exception only for a compatibility boundary whose token cannot yet be moved into the contract:
// @fragments-expect-error FUI2015 reason="embedded SDK token tracked in DS-728" expires="2026-12-31"
.embeddedWidget {
color: var(--fui-color-sdk-foreground);
}
Do not suppress an entire token directory or regenerate a baseline. Review the exception with
fragments check --list-suppressions.
Verify the change
Run npx @usefragments/cli check --changed --format agent and confirm FUI2015 is absent or the
specific reviewed exception is listed. Then run npx @usefragments/cli check --changed --ci.
Intentional exception? Use a narrow, reasoned directive from the in-source suppression reference.