18
3 min read
Versioning & governance
Someone deleted brand-blue because the new name is primary. Twelve products broke on Monday. The system did not fail. The process did.
Deprecate, don't delete. Alias the old name to the new one. Version the release. Name one owner. Values still change in one place. Consumers get time to move.
Mark the old token deprecated. It still resolves. Then delete it and watch the resolve fail.
color.semantic.brand-bluealias → color.semantic.primarycolor.semantic.primarycolor.primitive.blue.600Resolves to#2563ebOld name still resolves. Products keep shipping while you migrate.
A deprecation is a promise: this still works, and it will not forever. A deletion is a surprise.