ContractSurfaces
- Job
- Whose look
- Requirement
- must specify
- States / rules
- Admin vs public vs email vs native; which share tokens. CMS products add chrome vs canvas vs published
- Specified means
- Theme switch on chrome leaves canvas unchanged
- Hardest context
- Dark chrome, branded light canvas
Example
Three named surfaces
Counter-example
One system for everything
How this lives in Building Blocks
Representation: Product-local decision contract.
Building Blocks can provide theme/surface contracts. The product owns which surfaces exist and which share visual tokens.
Do not specify the easy case only.
The source checklist’s hardest-context test is part of what “specified” means: Dark chrome, branded light canvas.
On-spec signal
Three named surfaces
Failure signal
One system for everything
Catalog connection
The product-local Catalog should show this row’s actual state for that product using the Catalog contract. Building Blocks documentation can define the baseline, but it does not make a product’s row Specified, Designed, or In code by itself.