Governance - Change Control
Governance - Design and Development Workflow
Use this workflow so a variable change doesn’t silently break components.
Roles
- Designer: Proposes intent and usage (states, pairings, constraints). Creates variables in Figma.
- Design Engineer: Reviews changes, validates contract compliance, maintains naming rules. Bridges design and development.
- Frontend Developer: Validates consumption feasibility, implements variables in code, owns compatibility.
Workflow overview
- Design proposes a change.
- Variable change is reviewed (naming, type, references, modes).
- Tokens are updated in the repo JSON through a PR.
- Component implementation consumes semantic tokens.
- Changes are released with versioning and notes.
Change types
- New token (usually non-breaking)
- Token value change (may be breaking)
- Token rename or removal (breaking)
- Alias reference change (usually non-breaking if intent is unchanged)
Design to engineering handoff requirements
Include:
- Component or pattern name
- States (default, hover, focus, active, disabled)
- Token usage (semantic tokens preferred)
- Layout rules (spacing, sizing, typography)
- Accessibility constraints (contrast targets, focus visibility, reduced motion)
Variable change request checklist
Before creating or changing tokens:
- Confirm the change cannot be expressed by an existing semantic token.
- Confirm naming follows the token naming convention.
- Prefer aliases over duplicating raw values.
- Document intent when it is not obvious.
- Identify impacted components and surfaces.
Review and approval
All variable changes should be reviewed by at least:
- Design Engineer (contract owner, reviews naming, structure, references)
- Frontend Developer (validates consumption feasibility)
Reviews should verify:
- naming and structure
- correct variable types
- references resolve correctly
- change type (breaking or non-breaking)
- migration notes when required
Implementation guidelines
- Components should consume semantic tokens.
- Do not consume base palette tokens directly in components unless explicitly allowed.
- Generate platform outputs from the repo JSON. Don’t hand-edit downstream files.
Release and communication
- Use semantic versioning for variable changes.
- Publish release notes that include:
- what changed
- who needs to update
- migration steps when applicable