To prevent implementation drift and ensure distinctive traits are not 'softened' into generic defaults, create a Reference Lock before coding. This document defines the boundaries of what to preserve and what to borrow.
Key components of a Reference Lock:
- Primary reference/direction: The dominant source.
- Preserve: 3-5 mandatory traits (e.g., canvas, type, accent, layout, density, media).
- Borrow only: 1-2 specific secondary details.
- Role rules: Specific meanings for tokens/components (e.g.,
CTA-only, code-only). - Media strategy: The type of assets to use (real, generated, stock, code-native, or placeholder) including aspect ratios.
- Reject: Defaults or averages that would collapse the unique direction.
- Token commitments: Specific roles for background, type, accent, radius, border/shadow, and imagery treatment.
Constraint: If implementation drifts from this lock, stop and correct it. Do not normalize distinctive traits into safer colors, fonts, or radii.
Primary reference/direction: [one dominant source]
Preserve: [3-5 traits that must survive: canvas, type, accent, layout, density, media]
Borrow only: [1-2 specific secondary details]
Role rules: [source token/component meanings to preserve, e.g. CTA-only, code-only, decorative-only]
Media strategy: [real/generated/stock/code-native/placeholder, with aspect ratio and art direction]
Reject: [defaults/averages that would collapse the direction]
Token commitments: [background, type, accent, radius, border/shadow, imagery treatment, with roles]