Design systems

Your design system should be a boundary, not a suggestion.

Userface turns component rules into a surface AI can compose against, validate, and preview before drift spreads.

AI will route around weak systems.

Generated UI is useful only when it respects the system you maintain. Otherwise it just creates faster entropy.

Contract coverage

Know where the agent can build safely and where it is still guessing.

Token drift

Catch the moment output reaches around tokens and invents its own taste.

Uncontracted surfaces

Find the props and states production relies on but contracts forgot to name.

Primitive leaks

Stop one-off DOM from sneaking in as "just this once".

Governance

Make drift visible while it is still cheap.

Userface gives maintainers a watchlist for the surfaces that make generated UI brittle: missing states, loose props, primitive leaks, and token gaps.

+Components missing the states users actually hit.
+Props production uses but face.json cannot describe yet.
+Patterns too important to leave to blank-page generation.
+Token and API gaps that turn AI output into drift.
State matrixBillingTable default loading empty overdue payment_failed
Contract diffButton + prop: loading ~ variant: default | accent | ghost | destructive - deprecated: tone

Make the design system hard to ignore.

Coverage, state gaps, token drift, primitive leaks. Bring the backlog that AI keeps exposing.