Foundation

Surfaces

Whose look

RequiredProduct intent & architecture
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.

See the Catalog contract →